Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall ab ac db dc eb ec fb fc ub uc vb vc l ap an bp bn p n. (forall ff_index_mce_alternating_before. (exists ff_gap_mce_before_index. ff_gap_mce_before_index + S (ff_index_mce_alternating_before) = (l)) -> exists ff_ap_mce_alternating_before ff_an_mce_alternating_before ff_bp_mce_alternating_before ff_bn_mce_alternating_before ff_p_mce_alternating_before ff_n_mce_alternating_before. ((((exists ff_h_mce_before_ap. ff_h_mce_before_ap + S (ff_ap_mce_alternating_before) = S ((S (ff_index_mce_alternating_before)) * ac)) /\ exists ff_q_mce_before_ap. ab = ff_q_mce_before_ap * S ((S (ff_index_mce_alternating_before)) * ac) + (ff_ap_mce_alternating_before))) /\ ((((exists ff_h_mce_before_an. ff_h_mce_before_an + S (ff_an_mce_alternating_before) = S ((S (ff_index_mce_alternating_before)) * dc)) /\ exists ff_q_mce_before_an. db = ff_q_mce_before_an * S ((S (ff_index_mce_alternating_before)) * dc) + (ff_an_mce_alternating_before))) /\ ((((exists ff_h_mce_before_bp. ff_h_mce_before_bp + S (ff_bp_mce_alternating_before) = S ((S (ff_index_mce_alternating_before)) * ec)) /\ exists ff_q_mce_before_bp. eb = ff_q_mce_before_bp * S ((S (ff_index_mce_alternating_before)) * ec) + (ff_bp_mce_alternating_before))) /\ ((((exists ff_h_mce_before_bn. ff_h_mce_before_bn + S (ff_bn_mce_alternating_before) = S ((S (ff_index_mce_alternating_before)) * fc)) /\ exists ff_q_mce_before_bn. fb = ff_q_mce_before_bn * S ((S (ff_index_mce_alternating_before)) * fc) + (ff_bn_mce_alternating_before))) /\ ((((exists ff_h_mce_before_positive. ff_h_mce_before_positive + S (ff_p_mce_alternating_before) = S ((S (ff_index_mce_alternating_before)) * uc)) /\ exists ff_q_mce_before_positive. ub = ff_q_mce_before_positive * S ((S (ff_index_mce_alternating_before)) * uc) + (ff_p_mce_alternating_before))) /\ ((((exists ff_h_mce_before_negative. ff_h_mce_before_negative + S (ff_n_mce_alternating_before) = S ((S (ff_index_mce_alternating_before)) * vc)) /\ exists ff_q_mce_before_negative. vb = ff_q_mce_before_negative * S ((S (ff_index_mce_alternating_before)) * vc) + (ff_n_mce_alternating_before))) /\ (((exists ff_even_mce_term_before_term. ff_index_mce_alternating_before = 2 * ff_even_mce_term_before_term) /\ (ff_p_mce_alternating_before = (ff_ap_mce_alternating_before) * (ff_bp_mce_alternating_before) + (ff_an_mce_alternating_before) * (ff_bn_mce_alternating_before) /\ ff_n_mce_alternating_before = (ff_ap_mce_alternating_before) * (ff_bn_mce_alternating_before) + (ff_an_mce_alternating_before) * (ff_bp_mce_alternating_before))) \/ ((exists ff_odd_mce_term_before_term. ff_index_mce_alternating_before = 2 * ff_odd_mce_term_before_term + 1) /\ (ff_p_mce_alternating_before = (ff_ap_mce_alternating_before) * (ff_bn_mce_alternating_before) + (ff_an_mce_alternating_before) * (ff_bp_mce_alternating_before) /\ ff_n_mce_alternating_before = (ff_ap_mce_alternating_before) * (ff_bp_mce_alternating_before) + (ff_an_mce_alternating_before) * (ff_bn_mce_alternating_before))))))))))) -> (((exists ff_h_mce_last_ap. ff_h_mce_last_ap + S (ap) = S ((S (l)) * ac)) /\ exists ff_q_mce_last_ap. ab = ff_q_mce_last_ap * S ((S (l)) * ac) + (ap))) -> (((exists ff_h_mce_last_an. ff_h_mce_last_an + S (an) = S ((S (l)) * dc)) /\ exists ff_q_mce_last_an. db = ff_q_mce_last_an * S ((S (l)) * dc) + (an))) -> (((exists ff_h_mce_last_bp. ff_h_mce_last_bp + S (bp) = S ((S (l)) * ec)) /\ exists ff_q_mce_last_bp. eb = ff_q_mce_last_bp * S ((S (l)) * ec) + (bp))) -> (((exists ff_h_mce_last_bn. ff_h_mce_last_bn + S (bn) = S ((S (l)) * fc)) /\ exists ff_q_mce_last_bn. fb = ff_q_mce_last_bn * S ((S (l)) * fc) + (bn))) -> (((exists ff_even_mce_term_last. l = 2 * ff_even_mce_term_last) /\ (p = (ap) * (bp) + (an) * (bn) /\ n = (ap) * (bn) + (an) * (bp))) \/ ((exists ff_odd_mce_term_last. l = 2 * ff_odd_mce_term_last + 1) /\ (p = (ap) * (bn) + (an) * (bp) /\ n = (ap) * (bp) + (an) * (bn)))) -> exists xb xc yb yc. (forall ff_index_mce_alternating_after. (exists ff_gap_mce_after_index. ff_gap_mce_after_index + S (ff_index_mce_alternating_after) = (S l)) -> exists ff_ap_mce_alternating_after ff_an_mce_alternating_after ff_bp_mce_alternating_after ff_bn_mce_alternating_after ff_p_mce_alternating_after ff_n_mce_alternating_after. ((((exists ff_h_mce_after_ap. ff_h_mce_after_ap + S (ff_ap_mce_alternating_after) = S ((S (ff_index_mce_alternating_after)) * ac)) /\ exists ff_q_mce_after_ap. ab = ff_q_mce_after_ap * S ((S (ff_index_mce_alternating_after)) * ac) + (ff_ap_mce_alternating_after))) /\ ((((exists ff_h_mce_after_an. ff_h_mce_after_an + S (ff_an_mce_alternating_after) = S ((S (ff_index_mce_alternating_after)) * dc)) /\ exists ff_q_mce_after_an. db = ff_q_mce_after_an * S ((S (ff_index_mce_alternating_after)) * dc) + (ff_an_mce_alternating_after))) /\ ((((exists ff_h_mce_after_bp. ff_h_mce_after_bp + S (ff_bp_mce_alternating_after) = S ((S (ff_index_mce_alternating_after)) * ec)) /\ exists ff_q_mce_after_bp. eb = ff_q_mce_after_bp * S ((S (ff_index_mce_alternating_after)) * ec) + (ff_bp_mce_alternating_after))) /\ ((((exists ff_h_mce_after_bn. ff_h_mce_after_bn + S (ff_bn_mce_alternating_after) = S ((S (ff_index_mce_alternating_after)) * fc)) /\ exists ff_q_mce_after_bn. fb = ff_q_mce_after_bn * S ((S (ff_index_mce_alternating_after)) * fc) + (ff_bn_mce_alternating_after))) /\ ((((exists ff_h_mce_after_positive. ff_h_mce_after_positive + S (ff_p_mce_alternating_after) = S ((S (ff_index_mce_alternating_after)) * xc)) /\ exists ff_q_mce_after_positive. xb = ff_q_mce_after_positive * S ((S (ff_index_mce_alternating_after)) * xc) + (ff_p_mce_alternating_after))) /\ ((((exists ff_h_mce_after_negative. ff_h_mce_after_negative + S (ff_n_mce_alternating_after) = S ((S (ff_index_mce_alternating_after)) * yc)) /\ exists ff_q_mce_after_negative. yb = ff_q_mce_after_negative * S ((S (ff_index_mce_alternating_after)) * yc) + (ff_n_mce_alternating_after))) /\ (((exists ff_even_mce_term_after_term. ff_index_mce_alternating_after = 2 * ff_even_mce_term_after_term) /\ (ff_p_mce_alternating_after = (ff_ap_mce_alternating_after) * (ff_bp_mce_alternating_after) + (ff_an_mce_alternating_after) * (ff_bn_mce_alternating_after) /\ ff_n_mce_alternating_after = (ff_ap_mce_alternating_after) * (ff_bn_mce_alternating_after) + (ff_an_mce_alternating_after) * (ff_bp_mce_alternating_after))) \/ ((exists ff_odd_mce_term_after_term. ff_index_mce_alternating_after = 2 * ff_odd_mce_term_after_term + 1) /\ (ff_p_mce_alternating_after = (ff_ap_mce_alternating_after) * (ff_bn_mce_alternating_after) + (ff_an_mce_alternating_after) * (ff_bp_mce_alternating_after) /\ ff_n_mce_alternating_after = (ff_ap_mce_alternating_after) * (ff_bp_mce_alternating_after) + (ff_an_mce_alternating_after) * (ff_bn_mce_alternating_after)))))))))))Constructive proof overview
Generated structural guide
Two beta recodings simultaneously append the exact parity-correct signed cofactor product and preserve all earlier terms.
The unchanged tactic script uses 2 declared prerequisites and contains 131 exact native proof lines.
Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_prefix_extend Stable theorem; checked-use authorized finite_lt_succ_eq_or_lt Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–25
04Establish hposL26–31
Establish this local claim before using it. It is not an additional assumption.
05Separate the logical casesL32–34
06Establish hnegL35–40
Establish this local claim before using it. It is not an additional assumption.
07Separate the logical casesL41–43
08Construct an explicit witnessL44–47
09Fix variables and assumptionsL48–49
10Establish hsplitL50–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
11Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hsplit
12Construct an explicit witnessL56–61
13Separate the logical casesL62–62
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L62
split
14Calculate and transport equalitiesL63–64
15Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hap
16Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
split
17Calculate and transport equalitiesL67–68
18Use earlier factsL69–69
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
exact han
19Separate the logical casesL70–70
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L70
split
20Calculate and transport equalitiesL71–72
21Use earlier factsL73–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L73
exact hbp
22Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
split
23Calculate and transport equalitiesL75–76
24Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hbn
25Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
split
26Calculate and transport equalitiesL79–80
27Use earlier factsL81–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
exact hpos_witness_witness_left
28Separate the logical casesL82–82
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L82
split
29Calculate and transport equalitiesL83–84
30Use earlier factsL85–85
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
exact hneg_witness_witness_left
31Calculate and transport equalitiesL86–87
32Use earlier factsL88–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
exact hterm
33Establish hpreviousL89–92
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L89
have hprevious : ∃ ap. ∃ an. ∃ bp. ∃ bn. ∃ p. ∃ n. Beta(ab,ac,i,ap) ∧ (Beta(db,dc,i,an) ∧ (Beta(eb,ec,i,bp) ∧ (Beta(fb,fc,i,bn) ∧ (Beta(ub,uc,i,p) ∧ (Beta(vb,vc,i,n) ∧ SignedAlternatingCofactorTerm(ap,an,bp,bn,i,p,n))))))Definitions: BetaSignedAlternatingCofactorTerm - L90
specialize hprefix i - L91
apply hprefix - L92
exact hsplit_right
34Separate the logical casesL93–102
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L93
cases hprevious - L94
cases hprevious_witness - L95
cases hprevious_witness_witness - L96
cases hprevious_witness_witness_witness - L97
cases hprevious_witness_witness_witness_witness - L98
cases hprevious_witness_witness_witness_witness_witness - L99
cases hprevious_witness_witness_witness_witness_witness_witness - L100
cases hprevious_witness_witness_witness_witness_witness_witness_right - L101
cases hprevious_witness_witness_witness_witness_witness_witness_right_right - L102
cases hprevious_witness_witness_witness_witness_witness_witness_right_right_right
35Separate the logical casesL103–104
36Construct an explicit witnessL105–110
37Separate the logical casesL111–111
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L111
split
38Use earlier factsL112–112
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L112
exact hprevious_witness_witness_witness_witness_witness_witness_left
39Separate the logical casesL113–113
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L113
split
40Use earlier factsL114–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L114
exact hprevious_witness_witness_witness_witness_witness_witness_right_left
41Separate the logical casesL115–115
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L115
split
42Use earlier factsL116–116
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L116
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_left
43Separate the logical casesL117–117
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L117
split
44Use earlier factsL118–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L118
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_left
45Separate the logical casesL119–119
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L119
split
46Use earlier factsL120–124
Instantiate or apply named facts and discharge the corresponding proof obligations.
47Separate the logical casesL125–125
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L125
split
48Use earlier factsL126–131
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L126
specialize hneg_witness_witness_right i - L127
specialize hneg_witness_witness_right x9 - L128
apply hneg_witness_witness_right - L129
exact hsplit_right - L130
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - L131
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right
Original exact command ledger · 131 lines
- 0001
intro ab - 0002
intro ac - 0003
intro db - 0004
intro dc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
intro ub - 0010
intro uc - 0011
intro vb - 0012
intro vc - 0013
intro l - 0014
intro ap - 0015
intro an - 0016
intro bp - 0017
intro bn - 0018
intro p - 0019
intro n - 0020
intro hprefix - 0021
intro hap - 0022
intro han - 0023
intro hbp - 0024
intro hbn - 0025
intro hterm - 0026
have hpos : exists xb xc. ((((exists ff_h_mce_extend_positive. ff_h_mce_extend_positive + S (p) = S ((S (l)) * xc)) /\ exists ff_q_mce_extend_positive. xb = ff_q_mce_extend_positive * S ((S (l)) * xc) + (p))) /\ forall i a. (exists ff_gap_mce_extend_positive_bound. ff_gap_mce_extend_positive_bound + S (i) = (l)) -> (((exists ff_h_mce_extend_positive_old. ff_h_mce_extend_positive_old + S (a) = S ((S (i)) * uc)) /\ exists ff_q_mce_extend_positive_old. ub = ff_q_mce_extend_positive_old * S ((S (i)) * uc) + (a))) -> (((exists ff_h_mce_extend_positive_new. ff_h_mce_extend_positive_new + S (a) = S ((S (i)) * xc)) /\ exists ff_q_mce_extend_positive_new. xb = ff_q_mce_extend_positive_new * S ((S (i)) * xc) + (a)))) - 0027
specialize beta_prefix_extend l - 0028
specialize beta_prefix_extend ub - 0029
specialize beta_prefix_extend uc - 0030
specialize beta_prefix_extend p - 0031
exact beta_prefix_extend - 0032
cases hpos - 0033
cases hpos_witness - 0034
cases hpos_witness_witness - 0035
have hneg : exists yb yc. ((((exists ff_h_mce_extend_negative. ff_h_mce_extend_negative + S (n) = S ((S (l)) * yc)) /\ exists ff_q_mce_extend_negative. yb = ff_q_mce_extend_negative * S ((S (l)) * yc) + (n))) /\ forall i a. (exists ff_gap_mce_extend_negative_bound. ff_gap_mce_extend_negative_bound + S (i) = (l)) -> (((exists ff_h_mce_extend_negative_old. ff_h_mce_extend_negative_old + S (a) = S ((S (i)) * vc)) /\ exists ff_q_mce_extend_negative_old. vb = ff_q_mce_extend_negative_old * S ((S (i)) * vc) + (a))) -> (((exists ff_h_mce_extend_negative_new. ff_h_mce_extend_negative_new + S (a) = S ((S (i)) * yc)) /\ exists ff_q_mce_extend_negative_new. yb = ff_q_mce_extend_negative_new * S ((S (i)) * yc) + (a)))) - 0036
specialize beta_prefix_extend l - 0037
specialize beta_prefix_extend vb - 0038
specialize beta_prefix_extend vc - 0039
specialize beta_prefix_extend n - 0040
exact beta_prefix_extend - 0041
cases hneg - 0042
cases hneg_witness - 0043
cases hneg_witness_witness - 0044
exists x - 0045
exists x1 - 0046
exists x2 - 0047
exists x3 - 0048
intro i - 0049
intro hi - 0050
have hsplit : i = l \/ exists gap. gap + S i = l - 0051
specialize finite_lt_succ_eq_or_lt l - 0052
specialize finite_lt_succ_eq_or_lt i - 0053
apply finite_lt_succ_eq_or_lt - 0054
exact hi - 0055
cases hsplit - 0056
exists ap - 0057
exists an - 0058
exists bp - 0059
exists bn - 0060
exists p - 0061
exists n - 0062
split - 0063
rewrite hsplit_left - 0064
rewrite hsplit_left - 0065
exact hap - 0066
split - 0067
rewrite hsplit_left - 0068
rewrite hsplit_left - 0069
exact han - 0070
split - 0071
rewrite hsplit_left - 0072
rewrite hsplit_left - 0073
exact hbp - 0074
split - 0075
rewrite hsplit_left - 0076
rewrite hsplit_left - 0077
exact hbn - 0078
split - 0079
rewrite hsplit_left - 0080
rewrite hsplit_left - 0081
exact hpos_witness_witness_left - 0082
split - 0083
rewrite hsplit_left - 0084
rewrite hsplit_left - 0085
exact hneg_witness_witness_left - 0086
rewrite hsplit_left - 0087
rewrite hsplit_left - 0088
exact hterm - 0089
have hprevious : exists ap an bp bn p n. ((((exists ff_h_mce_previous_ap. ff_h_mce_previous_ap + S (ap) = S ((S (i)) * ac)) /\ exists ff_q_mce_previous_ap. ab = ff_q_mce_previous_ap * S ((S (i)) * ac) + (ap))) /\ ((((exists ff_h_mce_previous_an. ff_h_mce_previous_an + S (an) = S ((S (i)) * dc)) /\ exists ff_q_mce_previous_an. db = ff_q_mce_previous_an * S ((S (i)) * dc) + (an))) /\ ((((exists ff_h_mce_previous_bp. ff_h_mce_previous_bp + S (bp) = S ((S (i)) * ec)) /\ exists ff_q_mce_previous_bp. eb = ff_q_mce_previous_bp * S ((S (i)) * ec) + (bp))) /\ ((((exists ff_h_mce_previous_bn. ff_h_mce_previous_bn + S (bn) = S ((S (i)) * fc)) /\ exists ff_q_mce_previous_bn. fb = ff_q_mce_previous_bn * S ((S (i)) * fc) + (bn))) /\ ((((exists ff_h_mce_previous_positive. ff_h_mce_previous_positive + S (p) = S ((S (i)) * uc)) /\ exists ff_q_mce_previous_positive. ub = ff_q_mce_previous_positive * S ((S (i)) * uc) + (p))) /\ ((((exists ff_h_mce_previous_negative. ff_h_mce_previous_negative + S (n) = S ((S (i)) * vc)) /\ exists ff_q_mce_previous_negative. vb = ff_q_mce_previous_negative * S ((S (i)) * vc) + (n))) /\ (((exists ff_even_mce_term_previous_term. i = 2 * ff_even_mce_term_previous_term) /\ (p = (ap) * (bp) + (an) * (bn) /\ n = (ap) * (bn) + (an) * (bp))) \/ ((exists ff_odd_mce_term_previous_term. i = 2 * ff_odd_mce_term_previous_term + 1) /\ (p = (ap) * (bn) + (an) * (bp) /\ n = (ap) * (bp) + (an) * (bn)))))))))) - 0090
specialize hprefix i - 0091
apply hprefix - 0092
exact hsplit_right - 0093
cases hprevious - 0094
cases hprevious_witness - 0095
cases hprevious_witness_witness - 0096
cases hprevious_witness_witness_witness - 0097
cases hprevious_witness_witness_witness_witness - 0098
cases hprevious_witness_witness_witness_witness_witness - 0099
cases hprevious_witness_witness_witness_witness_witness_witness - 0100
cases hprevious_witness_witness_witness_witness_witness_witness_right - 0101
cases hprevious_witness_witness_witness_witness_witness_witness_right_right - 0102
cases hprevious_witness_witness_witness_witness_witness_witness_right_right_right - 0103
cases hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right - 0104
cases hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0105
exists x4 - 0106
exists x5 - 0107
exists x6 - 0108
exists x7 - 0109
exists x8 - 0110
exists x9 - 0111
split - 0112
exact hprevious_witness_witness_witness_witness_witness_witness_left - 0113
split - 0114
exact hprevious_witness_witness_witness_witness_witness_witness_right_left - 0115
split - 0116
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_left - 0117
split - 0118
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_left - 0119
split - 0120
specialize hpos_witness_witness_right i - 0121
specialize hpos_witness_witness_right x8 - 0122
apply hpos_witness_witness_right - 0123
exact hsplit_right - 0124
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0125
split - 0126
specialize hneg_witness_witness_right i - 0127
specialize hneg_witness_witness_right x9 - 0128
apply hneg_witness_witness_right - 0129
exact hsplit_right - 0130
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0131
exact hprevious_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right
Separate complete second-wave branches: Full T13 proof · Alpha v27.