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. ∀ i. ¬q = 0 → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. i = q · y + z ∧ (Lt(z,q) ∧ (BetaAt(rb,rc,y,n) ∧ (BetaAt(cb,cc,z,m) ∧ BetaAt(b,c,n · w + m,x))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 50 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
02Establish hcoordinatesL11–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
03Separate the logical casesL16–18
04Establish hrowL19–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L19
have hrow : ∃ u. BetaAt(rb,rc,x,u)Definitions: BetaAt(rb,rc,x,u)Original native command in the exact edition - L20
specialize beta_at_exists (rb) - L21
specialize beta_at_exists (rc) - L22
specialize beta_at_exists (x) - L23
apply beta_at_exists
05Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hrow
06Establish hcolumnL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L25
have hcolumn : ∃ v. BetaAt(cb,cc,x1,v)Definitions: BetaAt(cb,cc,x1,v)Original native command in the exact edition - L26
specialize beta_at_exists (cb) - L27
specialize beta_at_exists (cc) - L28
specialize beta_at_exists (x1) - L29
apply beta_at_exists
07Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hcolumn
08Establish hentryL31–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L31
have hentry : ∃ a. BetaAt(b,c,x2 · w + x3,a)Definitions: BetaAt(b,c,x2 · w + x3,a)Original native command in the exact edition - L32
specialize beta_at_exists (b) - L33
specialize beta_at_exists (c) - L34
specialize beta_at_exists (x2 * w + x3) - L35
apply beta_at_exists
09Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hentry
10Construct an explicit witnessL37–41
11Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
12Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hcoordinates_witness_witness_left
13Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
14Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hcoordinates_witness_witness_right
15Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
16Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hrow_witness
17Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
Original defined command ledger · 50 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
intro i - 0010
intro hq - 0011
have hcoordinates : ∃ r. ∃ s. i = q · r + s ∧ Lt(s,q) - 0012
specialize division_remainder_exists (q) - 0013
specialize division_remainder_exists (i) - 0014
apply division_remainder_exists - 0015
exact hq - 0016
cases hcoordinates - 0017
cases hcoordinates_witness - 0018
cases hcoordinates_witness_witness - 0019
have hrow : ∃ u. BetaAt(rb,rc,x,u) - 0020
specialize beta_at_exists (rb) - 0021
specialize beta_at_exists (rc) - 0022
specialize beta_at_exists (x) - 0023
apply beta_at_exists - 0024
cases hrow - 0025
have hcolumn : ∃ v. BetaAt(cb,cc,x1,v) - 0026
specialize beta_at_exists (cb) - 0027
specialize beta_at_exists (cc) - 0028
specialize beta_at_exists (x1) - 0029
apply beta_at_exists - 0030
cases hcolumn - 0031
have hentry : ∃ a. BetaAt(b,c,x2 · w + x3,a) - 0032
specialize beta_at_exists (b) - 0033
specialize beta_at_exists (c) - 0034
specialize beta_at_exists (x2 * w + x3) - 0035
apply beta_at_exists - 0036
cases hentry - 0037
exists x4 - 0038
exists x - 0039
exists x1 - 0040
exists x2 - 0041
exists x3 - 0042
split - 0043
exact hcoordinates_witness_witness_left - 0044
split - 0045
exact hcoordinates_witness_witness_right - 0046
split - 0047
exact hrow_witness - 0048
split - 0049
exact hcolumn_witness - 0050
exact hentry_witness