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.
This branch proves the finite determinant/rank/span substrate. It does not claim Smith or Hermite normal form, lattice index equals determinant, determinant multiplicativity, lattice reduction, or geometry-of-numbers theorems.
Exact theorem in conservative defined notation
∀ pb. ∀ pc. ∀ nb. ∀ nc. ∀ q. ∀ p. ∀ n. SignedRecursiveDeterminant(pb,pc,nb,nc,S q,p,n) → ∃ x. ∃ y. ∃ z. ∃ m. SignedEvaluatedCofactors(pb,pc,nb,nc,q,x,y,z,m) ∧ SignedAlternatingCofactorFold(pb,pc,nb,nc,x,y,z,m,S q,p,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 117 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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.
Named ingredients (1)
01Fix variables and assumptionsL1–8
02Separate the logical casesL9–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
03Establish hlocalL15–24
Establish this local claim before using it. It is not an additional assumption.
- L15
have hlocal : SignedDeterminantLocalStep(x,x1,x3,S q,pb,pc,nb,nc,p,n)Definitions: SignedDeterminantLocalStep(x,x1,x3,S q,pb,pc,nb,nc,p,n)Original native command in the exact edition - L16
specialize matrix_recursive_history_step_at (x) - L17
specialize matrix_recursive_history_step_at (x1) - L18
specialize matrix_recursive_history_step_at (x2) - L19
specialize matrix_recursive_history_step_at (x3) - L20
specialize matrix_recursive_history_step_at (S q) - L21
specialize matrix_recursive_history_step_at (pb) - L22
specialize matrix_recursive_history_step_at (pc) - L23
specialize matrix_recursive_history_step_at (nb) - L24
specialize matrix_recursive_history_step_at (nc)
04Use earlier factsL25–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize matrix_recursive_history_step_at (p) - L26
specialize matrix_recursive_history_step_at (n) - L27
apply matrix_recursive_history_step_at - L28
exact hdeterminant_witness_witness_witness_witness_left - L29
exact hdeterminant_witness_witness_witness_witness_right_left - L30
exact hdeterminant_witness_witness_witness_witness_right_right
05Separate the logical casesL31–33
06Use earlier factsL34–36
07Separate the logical casesL37–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hlocal_right - L38
cases hlocal_right_witness - L39
cases hlocal_right_witness_witness - L40
cases hlocal_right_witness_witness_witness - L41
cases hlocal_right_witness_witness_witness_witness - L42
cases hlocal_right_witness_witness_witness_witness_witness - L43
cases hlocal_right_witness_witness_witness_witness_witness_right
08Establish hdimensionL44–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply PA2.
09Calculate and transport equalitiesL54–63
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
10Calculate and transport equalitiesL64–68
11Construct an explicit witnessL69–72
12Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
13Fix variables and assumptionsL74–75
14Establish hchildL76–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hlocal right witness witness witness witness witness right left.
- L76
have hchild : ∃ i. ∃ up. ∃ us. ∃ un. ∃ ut. ∃ a. ∃ z. Lt(i,x3) ∧ (SignedDeterminantNodeAt(x,x1,i,x4,up,us,un,ut,a,z) ∧ (SignedMatrixMinor(pb,pc,nb,nc,S x4,0,j,x4,up,us,un,ut) ∧ (BetaAt(x5,x6,j,a) ∧ BetaAt(x7,x8,j,z))))Definitions: Lt(i,x3)SignedDeterminantNodeAt(x,x1,i,x4,up,us,un,ut,a,z)SignedMatrixMinor(pb,pc,nb,nc,S x4,0,j,x4,up,us,un,ut)BetaAt(x5,x6,j,a)BetaAt(x7,x8,j,z)Original native command in the exact edition - L77
specialize hlocal_right_witness_witness_witness_witness_witness_right_left (j) - L78
apply hlocal_right_witness_witness_witness_witness_witness_right_left - L79
exact hj
15Separate the logical casesL80–89
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L80
cases hchild - L81
cases hchild_witness - L82
cases hchild_witness_witness - L83
cases hchild_witness_witness_witness - L84
cases hchild_witness_witness_witness_witness - L85
cases hchild_witness_witness_witness_witness_witness - L86
cases hchild_witness_witness_witness_witness_witness_witness - L87
cases hchild_witness_witness_witness_witness_witness_witness_witness - L88
cases hchild_witness_witness_witness_witness_witness_witness_witness_right - L89
cases hchild_witness_witness_witness_witness_witness_witness_witness_right_right
16Separate the logical casesL90–90
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L90
cases hchild_witness_witness_witness_witness_witness_witness_witness_right_right_right
17Construct an explicit witnessL91–96
18Separate the logical casesL97–97
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L97
split
19Use earlier factsL98–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L98
exact hchild_witness_witness_witness_witness_witness_witness_witness_right_right_left
20Separate the logical casesL99–99
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L99
split
21Construct an explicit witnessL100–103
22Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
split
23Use earlier factsL105–105
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
exact hdeterminant_witness_witness_witness_witness_left
24Separate the logical casesL106–106
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L106
split
25Use earlier factsL107–113
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L107
specialize lt_trans (x9) - L108
specialize lt_trans (x3) - L109
specialize lt_trans (x2) - L110
apply lt_trans - L111
exact hchild_witness_witness_witness_witness_witness_witness_witness_left - L112
exact hdeterminant_witness_witness_witness_witness_right_left - L113
exact hchild_witness_witness_witness_witness_witness_witness_witness_right_left
26Separate the logical casesL114–114
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L114
split
27Use earlier factsL115–117
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 117 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro q - 0006
intro p - 0007
intro n - 0008
intro hdeterminant - 0009
cases hdeterminant - 0010
cases hdeterminant_witness - 0011
cases hdeterminant_witness_witness - 0012
cases hdeterminant_witness_witness_witness - 0013
cases hdeterminant_witness_witness_witness_witness - 0014
cases hdeterminant_witness_witness_witness_witness_right - 0015
have hlocal : SignedDeterminantLocalStep(x,x1,x3,S q,pb,pc,nb,nc,p,n) - 0016
specialize matrix_recursive_history_step_at (x) - 0017
specialize matrix_recursive_history_step_at (x1) - 0018
specialize matrix_recursive_history_step_at (x2) - 0019
specialize matrix_recursive_history_step_at (x3) - 0020
specialize matrix_recursive_history_step_at (S q) - 0021
specialize matrix_recursive_history_step_at (pb) - 0022
specialize matrix_recursive_history_step_at (pc) - 0023
specialize matrix_recursive_history_step_at (nb) - 0024
specialize matrix_recursive_history_step_at (nc) - 0025
specialize matrix_recursive_history_step_at (p) - 0026
specialize matrix_recursive_history_step_at (n) - 0027
apply matrix_recursive_history_step_at - 0028
exact hdeterminant_witness_witness_witness_witness_left - 0029
exact hdeterminant_witness_witness_witness_witness_right_left - 0030
exact hdeterminant_witness_witness_witness_witness_right_right - 0031
cases hlocal - 0032
cases hlocal_left - 0033
exfalso - 0034
specialize succ_ne_zero (q) - 0035
apply succ_ne_zero - 0036
exact hlocal_left_left - 0037
cases hlocal_right - 0038
cases hlocal_right_witness - 0039
cases hlocal_right_witness_witness - 0040
cases hlocal_right_witness_witness_witness - 0041
cases hlocal_right_witness_witness_witness_witness - 0042
cases hlocal_right_witness_witness_witness_witness_witness - 0043
cases hlocal_right_witness_witness_witness_witness_witness_right - 0044
have hdimension : q = x4 - 0045
apply PA2 - 0046
exact hlocal_right_witness_witness_witness_witness_witness_left - 0047
rewrite hdimension - 0048
rewrite hdimension - 0049
rewrite hdimension - 0050
rewrite hdimension - 0051
rewrite hdimension - 0052
rewrite hdimension - 0053
rewrite hdimension - 0054
rewrite hdimension - 0055
rewrite hdimension - 0056
rewrite hdimension - 0057
rewrite hdimension - 0058
rewrite hdimension - 0059
rewrite hdimension - 0060
rewrite hdimension - 0061
rewrite hdimension - 0062
rewrite hdimension - 0063
rewrite hdimension - 0064
rewrite hdimension - 0065
rewrite hdimension - 0066
rewrite hdimension - 0067
rewrite hdimension - 0068
rewrite hdimension - 0069
exists x5 - 0070
exists x6 - 0071
exists x7 - 0072
exists x8 - 0073
split - 0074
intro j - 0075
intro hj - 0076
have hchild : ∃ i. ∃ up. ∃ us. ∃ un. ∃ ut. ∃ a. ∃ z. Lt(i,x3) ∧ (SignedDeterminantNodeAt(x,x1,i,x4,up,us,un,ut,a,z) ∧ (SignedMatrixMinor(pb,pc,nb,nc,S x4,0,j,x4,up,us,un,ut) ∧ (BetaAt(x5,x6,j,a) ∧ BetaAt(x7,x8,j,z)))) - 0077
specialize hlocal_right_witness_witness_witness_witness_witness_right_left (j) - 0078
apply hlocal_right_witness_witness_witness_witness_witness_right_left - 0079
exact hj - 0080
cases hchild - 0081
cases hchild_witness - 0082
cases hchild_witness_witness - 0083
cases hchild_witness_witness_witness - 0084
cases hchild_witness_witness_witness_witness - 0085
cases hchild_witness_witness_witness_witness_witness - 0086
cases hchild_witness_witness_witness_witness_witness_witness - 0087
cases hchild_witness_witness_witness_witness_witness_witness_witness - 0088
cases hchild_witness_witness_witness_witness_witness_witness_witness_right - 0089
cases hchild_witness_witness_witness_witness_witness_witness_witness_right_right - 0090
cases hchild_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0091
exists x10 - 0092
exists x11 - 0093
exists x12 - 0094
exists x13 - 0095
exists x14 - 0096
exists x15 - 0097
split - 0098
exact hchild_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0099
split - 0100
exists x - 0101
exists x1 - 0102
exists x2 - 0103
exists x9 - 0104
split - 0105
exact hdeterminant_witness_witness_witness_witness_left - 0106
split - 0107
specialize lt_trans (x9) - 0108
specialize lt_trans (x3) - 0109
specialize lt_trans (x2) - 0110
apply lt_trans - 0111
exact hchild_witness_witness_witness_witness_witness_witness_witness_left - 0112
exact hdeterminant_witness_witness_witness_witness_right_left - 0113
exact hchild_witness_witness_witness_witness_witness_witness_witness_right_left - 0114
split - 0115
exact hchild_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0116
exact hchild_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0117
exact hlocal_right_witness_witness_witness_witness_witness_right_right