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
∀ b. ∀ c. ∀ u. ∀ v. ∀ l. (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → BetaAt(u,v,x,y)) → (∀ x. ∀ y. ∀ z. Lt(x,l) → Lt(y,l) → BetaAt(b,c,x,z) → BetaAt(b,c,y,z) → x = y) → ∀ x. ∀ y. ∀ z. Lt(x,l) → Lt(y,l) → BetaAt(u,v,x,z) → BetaAt(u,v,y,z) → x = y
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 38 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–7
02Establish hreverseL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank prefix equality symmetric.
- L8
have hreverse : ∀ mdr_i_reverse_injective. ∀ mdr_a_reverse_injective. Lt(mdr_i_reverse_injective,l) → BetaAt(u,v,mdr_i_reverse_injective,mdr_a_reverse_injective) → BetaAt(b,c,mdr_i_reverse_injective,mdr_a_reverse_injective)Definitions: Lt(mdr_i_reverse_injective,l)BetaAt(u,v,mdr_i_reverse_injective,mdr_a_reverse_injective)BetaAt(b,c,mdr_i_reverse_injective,mdr_a_reverse_injective)Original native command in the exact edition - L9
specialize matrix_rank_prefix_equality_symmetric (b) - L10
specialize matrix_rank_prefix_equality_symmetric (c) - L11
specialize matrix_rank_prefix_equality_symmetric (u) - L12
specialize matrix_rank_prefix_equality_symmetric (v) - L13
specialize matrix_rank_prefix_equality_symmetric (l) - L14
apply matrix_rank_prefix_equality_symmetric - L15
exact hprefix - L16
intro i - L17
intro j
03Fix variables and assumptionsL18–22
04Use earlier factsL23–32
Original defined command ledger · 38 lines
- 0001
intro b - 0002
intro c - 0003
intro u - 0004
intro v - 0005
intro l - 0006
intro hprefix - 0007
intro hinjective - 0008
have hreverse : ∀ mdr_i_reverse_injective. ∀ mdr_a_reverse_injective. Lt(mdr_i_reverse_injective,l) → BetaAt(u,v,mdr_i_reverse_injective,mdr_a_reverse_injective) → BetaAt(b,c,mdr_i_reverse_injective,mdr_a_reverse_injective) - 0009
specialize matrix_rank_prefix_equality_symmetric (b) - 0010
specialize matrix_rank_prefix_equality_symmetric (c) - 0011
specialize matrix_rank_prefix_equality_symmetric (u) - 0012
specialize matrix_rank_prefix_equality_symmetric (v) - 0013
specialize matrix_rank_prefix_equality_symmetric (l) - 0014
apply matrix_rank_prefix_equality_symmetric - 0015
exact hprefix - 0016
intro i - 0017
intro j - 0018
intro a - 0019
intro hi - 0020
intro hj - 0021
intro ha - 0022
intro hb - 0023
specialize hinjective (i) - 0024
specialize hinjective (j) - 0025
specialize hinjective (a) - 0026
apply hinjective - 0027
exact hi - 0028
exact hj - 0029
specialize hreverse (i) - 0030
specialize hreverse (a) - 0031
apply hreverse - 0032
exact hi - 0033
exact ha - 0034
specialize hreverse (j) - 0035
specialize hreverse (a) - 0036
apply hreverse - 0037
exact hj - 0038
exact hb