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. ∀ a. ∀ A. (∃ x. ∃ y. ∃ z. ∃ n. i = q · x + y ∧ (Lt(y,q) ∧ (BetaAt(rb,rc,x,z) ∧ (BetaAt(cb,cc,y,n) ∧ BetaAt(b,c,z · w + n,a))))) → (∃ x. ∃ y. ∃ z. ∃ n. i = q · x + y ∧ (Lt(y,q) ∧ (BetaAt(rb,rc,x,z) ∧ (BetaAt(cb,cc,y,n) ∧ BetaAt(b,c,z · w + n,A))))) → a = A
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 76 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
03Separate the logical casesL14–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hfirst - L15
cases hfirst_witness - L16
cases hfirst_witness_witness - L17
cases hfirst_witness_witness_witness - L18
cases hfirst_witness_witness_witness_witness - L19
cases hfirst_witness_witness_witness_witness_right - L20
cases hfirst_witness_witness_witness_witness_right_right - L21
cases hfirst_witness_witness_witness_witness_right_right_right - L22
cases hsecond - L23
cases hsecond_witness
04Separate the logical casesL24–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hsecond_witness_witness - L25
cases hsecond_witness_witness_witness - L26
cases hsecond_witness_witness_witness_witness - L27
cases hsecond_witness_witness_witness_witness_right - L28
cases hsecond_witness_witness_witness_witness_right_right - L29
cases hsecond_witness_witness_witness_witness_right_right_right
05Establish hcoordinatesL30–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder unique.
- L30
have hcoordinates : x = x4 /\ x1 = x5 - L31
specialize division_remainder_unique (q) - L32
specialize division_remainder_unique (i) - L33
specialize division_remainder_unique (x) - L34
specialize division_remainder_unique (x1) - L35
specialize division_remainder_unique (x4) - L36
specialize division_remainder_unique (x5) - L37
apply division_remainder_unique - L38
exact hfirst_witness_witness_witness_witness_left - L39
exact hfirst_witness_witness_witness_witness_right_left
06Use earlier factsL40–41
07Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases hcoordinates
08Establish hrowL43–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L43
have hrow : x2 = x6 - L44
specialize beta_at_unique (rb) - L45
specialize beta_at_unique (rc) - L46
specialize beta_at_unique (x) - L47
specialize beta_at_unique (x2) - L48
specialize beta_at_unique (x6) - L49
apply beta_at_unique - L50
exact hfirst_witness_witness_witness_witness_right_right_left - L51
rewrite hcoordinates_left - L52
rewrite hcoordinates_left
09Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
exact hsecond_witness_witness_witness_witness_right_right_left
10Establish hcolumnL54–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L54
have hcolumn : x3 = x7 - L55
specialize beta_at_unique (cb) - L56
specialize beta_at_unique (cc) - L57
specialize beta_at_unique (x1) - L58
specialize beta_at_unique (x3) - L59
specialize beta_at_unique (x7) - L60
apply beta_at_unique - L61
exact hfirst_witness_witness_witness_witness_right_right_right_left - L62
rewrite hcoordinates_right - L63
rewrite hcoordinates_right
11Use earlier factsL64–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
exact hsecond_witness_witness_witness_witness_right_right_right_left - L65
specialize beta_at_unique (b) - L66
specialize beta_at_unique (c) - L67
specialize beta_at_unique (x2 * w + x3) - L68
specialize beta_at_unique (a) - L69
specialize beta_at_unique (A) - L70
apply beta_at_unique - L71
exact hfirst_witness_witness_witness_witness_right_right_right_right
12Calculate and transport equalitiesL72–75
13Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact hsecond_witness_witness_witness_witness_right_right_right_right
Original defined command ledger · 76 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 a - 0011
intro A - 0012
intro hfirst - 0013
intro hsecond - 0014
cases hfirst - 0015
cases hfirst_witness - 0016
cases hfirst_witness_witness - 0017
cases hfirst_witness_witness_witness - 0018
cases hfirst_witness_witness_witness_witness - 0019
cases hfirst_witness_witness_witness_witness_right - 0020
cases hfirst_witness_witness_witness_witness_right_right - 0021
cases hfirst_witness_witness_witness_witness_right_right_right - 0022
cases hsecond - 0023
cases hsecond_witness - 0024
cases hsecond_witness_witness - 0025
cases hsecond_witness_witness_witness - 0026
cases hsecond_witness_witness_witness_witness - 0027
cases hsecond_witness_witness_witness_witness_right - 0028
cases hsecond_witness_witness_witness_witness_right_right - 0029
cases hsecond_witness_witness_witness_witness_right_right_right - 0030
have hcoordinates : x = x4 /\ x1 = x5 - 0031
specialize division_remainder_unique (q) - 0032
specialize division_remainder_unique (i) - 0033
specialize division_remainder_unique (x) - 0034
specialize division_remainder_unique (x1) - 0035
specialize division_remainder_unique (x4) - 0036
specialize division_remainder_unique (x5) - 0037
apply division_remainder_unique - 0038
exact hfirst_witness_witness_witness_witness_left - 0039
exact hfirst_witness_witness_witness_witness_right_left - 0040
exact hsecond_witness_witness_witness_witness_left - 0041
exact hsecond_witness_witness_witness_witness_right_left - 0042
cases hcoordinates - 0043
have hrow : x2 = x6 - 0044
specialize beta_at_unique (rb) - 0045
specialize beta_at_unique (rc) - 0046
specialize beta_at_unique (x) - 0047
specialize beta_at_unique (x2) - 0048
specialize beta_at_unique (x6) - 0049
apply beta_at_unique - 0050
exact hfirst_witness_witness_witness_witness_right_right_left - 0051
rewrite hcoordinates_left - 0052
rewrite hcoordinates_left - 0053
exact hsecond_witness_witness_witness_witness_right_right_left - 0054
have hcolumn : x3 = x7 - 0055
specialize beta_at_unique (cb) - 0056
specialize beta_at_unique (cc) - 0057
specialize beta_at_unique (x1) - 0058
specialize beta_at_unique (x3) - 0059
specialize beta_at_unique (x7) - 0060
apply beta_at_unique - 0061
exact hfirst_witness_witness_witness_witness_right_right_right_left - 0062
rewrite hcoordinates_right - 0063
rewrite hcoordinates_right - 0064
exact hsecond_witness_witness_witness_witness_right_right_right_left - 0065
specialize beta_at_unique (b) - 0066
specialize beta_at_unique (c) - 0067
specialize beta_at_unique (x2 * w + x3) - 0068
specialize beta_at_unique (a) - 0069
specialize beta_at_unique (A) - 0070
apply beta_at_unique - 0071
exact hfirst_witness_witness_witness_witness_right_right_right_right - 0072
rewrite hrow - 0073
rewrite hrow - 0074
rewrite hcolumn - 0075
rewrite hcolumn - 0076
exact hsecond_witness_witness_witness_witness_right_right_right_right