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
∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ w. ∀ pb. ∀ pc. ∀ l. ∀ i. ∀ z. MatrixProductPrefix(ab,ac,bb,bc,w,1,pb,pc,l) → Lt(i,l) → BetaAt(pb,pc,i,z) → MatrixProductCell(ab,ac,bb,bc,w,1,i,0,z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 54 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hentryL14–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hproduct.
- L14
have hentry : ∃ row. ∃ column. ∃ value. i = 1 · row + column ∧ (Lt(column,1) ∧ (MatrixProductCell(ab,ac,bb,bc,w,1,row,column,value) ∧ BetaAt(pb,pc,i,value)))Definitions: Lt(column,1)MatrixProductCell(ab,ac,bb,bc,w,1,row,column,value)BetaAt(pb,pc,i,value)Original native command in the exact edition - L15
specialize hproduct (i) - L16
apply hproduct - L17
exact hi
04Separate the logical casesL18–23
05Establish hcolL24–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le zero.
06Establish hrowL31–36
07Establish hcL37–42
Establish this local claim before using it. It is not an additional assumption.
- L37
have hc : MatrixProductCell(ab,ac,bb,bc,w,1,x,x1,x2)Definitions: MatrixProductCell(ab,ac,bb,bc,w,1,x,x1,x2)Original native command in the exact edition - L38
exact hentry_witness_witness_witness_right_right_left - L39
rewrite hcol at hc - L40
rewrite hcol at hc - L41
rewrite hrow at hc - L42
rewrite hrow at hc
08Establish hvalueL43–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L43
have hvalue : x2 = z - L44
specialize beta_at_unique (pb) - L45
specialize beta_at_unique (pc) - L46
specialize beta_at_unique (i) - L47
specialize beta_at_unique (x2) - L48
specialize beta_at_unique (z) - L49
apply beta_at_unique - L50
exact hentry_witness_witness_witness_right_right_right - L51
exact hz - L52
rewrite hvalue at hc
09Calculate and transport equalitiesL53–53
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L53
rewrite hvalue at hc
10Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
exact hc
Original defined command ledger · 54 lines
- 0001
intro ab - 0002
intro ac - 0003
intro bb - 0004
intro bc - 0005
intro w - 0006
intro pb - 0007
intro pc - 0008
intro l - 0009
intro i - 0010
intro z - 0011
intro hproduct - 0012
intro hi - 0013
intro hz - 0014
have hentry : ∃ row. ∃ column. ∃ value. i = 1 · row + column ∧ (Lt(column,1) ∧ (MatrixProductCell(ab,ac,bb,bc,w,1,row,column,value) ∧ BetaAt(pb,pc,i,value))) - 0015
specialize hproduct (i) - 0016
apply hproduct - 0017
exact hi - 0018
cases hentry - 0019
cases hentry_witness - 0020
cases hentry_witness_witness - 0021
cases hentry_witness_witness_witness - 0022
cases hentry_witness_witness_witness_right - 0023
cases hentry_witness_witness_witness_right_right - 0024
have hcol : x1 = 0 - 0025
specialize le_zero (x1) - 0026
apply le_zero - 0027
specialize le_of_succ_le_succ (x1) - 0028
specialize le_of_succ_le_succ (0) - 0029
apply le_of_succ_le_succ - 0030
exact hentry_witness_witness_witness_right_left - 0031
have hrow : x = i - 0032
symm - 0033
trans 1 * x + x1 - 0034
exact hentry_witness_witness_witness_left - 0035
rewrite hcol - 0036
simp [one_mul] - 0037
have hc : MatrixProductCell(ab,ac,bb,bc,w,1,x,x1,x2) - 0038
exact hentry_witness_witness_witness_right_right_left - 0039
rewrite hcol at hc - 0040
rewrite hcol at hc - 0041
rewrite hrow at hc - 0042
rewrite hrow at hc - 0043
have hvalue : x2 = z - 0044
specialize beta_at_unique (pb) - 0045
specialize beta_at_unique (pc) - 0046
specialize beta_at_unique (i) - 0047
specialize beta_at_unique (x2) - 0048
specialize beta_at_unique (z) - 0049
apply beta_at_unique - 0050
exact hentry_witness_witness_witness_right_right_right - 0051
exact hz - 0052
rewrite hvalue at hc - 0053
rewrite hvalue at hc - 0054
exact hc