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. ∀ w. ∀ rb. ∀ rc. ∀ cb. ∀ cc. ∀ q. ∃ ub. ∃ uc. ∀ x. Lt(x,q · q) → ∃ y. (∃ z. ∃ n. ∃ m. ∃ k. x = q · z + n ∧ (Lt(n,q) ∧ (BetaAt(rb,rc,z,m) ∧ (BetaAt(cb,cc,n,k) ∧ BetaAt(b,c,m · w + k,y))))) ∧ BetaAt(ub,uc,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 40 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 (2)
01Fix variables and assumptionsL1–8
02Use earlier factsL9–10
03Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
cases eq_decidable
04Establish hlengthL12–16
05Construct an explicit witnessL17–18
06Use earlier factsL19–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
specialize matrix_rank_selected_prefix_empty (b) - L20
specialize matrix_rank_selected_prefix_empty (c) - L21
specialize matrix_rank_selected_prefix_empty (w) - L22
specialize matrix_rank_selected_prefix_empty (rb) - L23
specialize matrix_rank_selected_prefix_empty (rc) - L24
specialize matrix_rank_selected_prefix_empty (cb) - L25
specialize matrix_rank_selected_prefix_empty (cc) - L26
specialize matrix_rank_selected_prefix_empty (q) - L27
specialize matrix_rank_selected_prefix_empty (0) - L28
specialize matrix_rank_selected_prefix_empty (0)
07Use earlier factsL29–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply matrix_rank_selected_prefix_empty - L30
specialize matrix_rank_selected_prefix_exists_nonzero (b) - L31
specialize matrix_rank_selected_prefix_exists_nonzero (c) - L32
specialize matrix_rank_selected_prefix_exists_nonzero (w) - L33
specialize matrix_rank_selected_prefix_exists_nonzero (rb) - L34
specialize matrix_rank_selected_prefix_exists_nonzero (rc) - L35
specialize matrix_rank_selected_prefix_exists_nonzero (cb) - L36
specialize matrix_rank_selected_prefix_exists_nonzero (cc) - L37
specialize matrix_rank_selected_prefix_exists_nonzero (q) - L38
specialize matrix_rank_selected_prefix_exists_nonzero (q * q)
Original defined command ledger · 40 lines
- 0001
intro b - 0002
intro c - 0003
intro w - 0004
intro rb - 0005
intro rc - 0006
intro cb - 0007
intro cc - 0008
intro q - 0009
specialize eq_decidable q - 0010
specialize eq_decidable 0 - 0011
cases eq_decidable - 0012
have hlength : q * q = 0 - 0013
rewrite eq_decidable_left - 0014
rewrite eq_decidable_left - 0015
apply PA5 - 0016
rewrite hlength - 0017
exists 0 - 0018
exists 0 - 0019
specialize matrix_rank_selected_prefix_empty (b) - 0020
specialize matrix_rank_selected_prefix_empty (c) - 0021
specialize matrix_rank_selected_prefix_empty (w) - 0022
specialize matrix_rank_selected_prefix_empty (rb) - 0023
specialize matrix_rank_selected_prefix_empty (rc) - 0024
specialize matrix_rank_selected_prefix_empty (cb) - 0025
specialize matrix_rank_selected_prefix_empty (cc) - 0026
specialize matrix_rank_selected_prefix_empty (q) - 0027
specialize matrix_rank_selected_prefix_empty (0) - 0028
specialize matrix_rank_selected_prefix_empty (0) - 0029
apply matrix_rank_selected_prefix_empty - 0030
specialize matrix_rank_selected_prefix_exists_nonzero (b) - 0031
specialize matrix_rank_selected_prefix_exists_nonzero (c) - 0032
specialize matrix_rank_selected_prefix_exists_nonzero (w) - 0033
specialize matrix_rank_selected_prefix_exists_nonzero (rb) - 0034
specialize matrix_rank_selected_prefix_exists_nonzero (rc) - 0035
specialize matrix_rank_selected_prefix_exists_nonzero (cb) - 0036
specialize matrix_rank_selected_prefix_exists_nonzero (cc) - 0037
specialize matrix_rank_selected_prefix_exists_nonzero (q) - 0038
specialize matrix_rank_selected_prefix_exists_nonzero (q * q) - 0039
apply matrix_rank_selected_prefix_exists_nonzero - 0040
exact eq_decidable_right