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.
Historical partial components only: this chapter proves genuine signed first-row minors and unique alternating folds, with supplied cofactor values. T13 is now closed in the separate Alpha-v27 integer-linear-algebra branch with actual arbitrary determinant data, rank, and integer column spans; lattice index and normal forms are not claimed. Full T13 proof · Alpha v27
Exact theorem in conservative defined notation
∀ ab. ∀ ac. ∀ db. ∀ dc. ∀ eb. ∀ ec. ∀ fb. ∀ fc. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ l. ∀ ap. ∀ an. ∀ bp. ∀ bn. ∀ p. ∀ n. SignedAlternatingProductPrefix(ab,ac,db,dc,eb,ec,fb,fc,ub,uc,vb,vc,l) → Beta(ab,ac,l,ap) → Beta(db,dc,l,an) → Beta(eb,ec,l,bp) → Beta(fb,fc,l,bn) → SignedAlternatingCofactorTerm(ap,an,bp,bn,l,p,n) → ∃ x. ∃ y. ∃ z. ∃ m. SignedAlternatingProductPrefix(ab,ac,db,dc,eb,ec,fb,fc,x,y,z,m,S l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 131 lines are the exact independently kernel-checked original script.
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.
- L26
have hpos : ∃ xb. ∃ xc. Beta(xb,xc,l,p) ∧ (∀ x. ∀ y. Lt(x,l) → Beta(ub,uc,x,y) → Beta(xb,xc,x,y))Definitions: BetaLtOriginal native command in the exact edition - L27
specialize beta_prefix_extend l - L28
specialize beta_prefix_extend ub - L29
specialize beta_prefix_extend uc - L30
specialize beta_prefix_extend p - L31
exact beta_prefix_extend
05Separate the logical casesL32–34
06Establish hnegL35–40
Establish this local claim before using it. It is not an additional assumption.
- L35
have hneg : ∃ yb. ∃ yc. Beta(yb,yc,l,n) ∧ (∀ x. ∀ y. Lt(x,l) → Beta(vb,vc,x,y) → Beta(yb,yc,x,y))Definitions: BetaLtOriginal native command in the exact edition - L36
specialize beta_prefix_extend l - L37
specialize beta_prefix_extend vb - L38
specialize beta_prefix_extend vc - L39
specialize beta_prefix_extend n - L40
exact beta_prefix_extend
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: BetaSignedAlternatingCofactorTermOriginal native command in the exact edition - 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 defined 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