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
∀ p. ∀ n. ∀ D. ∀ E. p = n + D ∨ n = p + D → p = n + E ∨ n = p + E → D = E
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 51 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–6
02Separate the logical casesL7–8
03Use earlier factsL9–12
04Calculate and transport equalitiesL13–14
05Use earlier factsL15–16
06Establish hzerosL17–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix lattice opposite gaps zero.
- L17
have hzeros : D = 0 /\ E = 0 - L18
specialize matrix_lattice_opposite_gaps_zero (p) - L19
specialize matrix_lattice_opposite_gaps_zero (n) - L20
specialize matrix_lattice_opposite_gaps_zero (D) - L21
specialize matrix_lattice_opposite_gaps_zero (E) - L22
apply matrix_lattice_opposite_gaps_zero - L23
exact hfirst_left - L24
exact hsecond_right
07Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hzeros
08Calculate and transport equalitiesL26–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L26
trans 0
09Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hzeros_left
10Calculate and transport equalitiesL28–28
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
symm
11Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hzeros_right
12Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hsecond
13Establish hzerosL31–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix lattice opposite gaps zero.
- L31
have hzeros : D = 0 /\ E = 0 - L32
specialize matrix_lattice_opposite_gaps_zero (n) - L33
specialize matrix_lattice_opposite_gaps_zero (p) - L34
specialize matrix_lattice_opposite_gaps_zero (D) - L35
specialize matrix_lattice_opposite_gaps_zero (E) - L36
apply matrix_lattice_opposite_gaps_zero - L37
exact hfirst_right - L38
exact hsecond_left
14Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
cases hzeros
15Calculate and transport equalitiesL40–40
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L40
trans 0
16Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact hzeros_left
17Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
symm
18Use earlier factsL43–47
19Calculate and transport equalitiesL48–49
Original defined command ledger · 51 lines
- 0001
intro p - 0002
intro n - 0003
intro D - 0004
intro E - 0005
intro hfirst - 0006
intro hsecond - 0007
cases hfirst - 0008
cases hsecond - 0009
specialize add_left_cancel (n) - 0010
specialize add_left_cancel (D) - 0011
specialize add_left_cancel (E) - 0012
apply add_left_cancel - 0013
trans p - 0014
symm - 0015
exact hfirst_left - 0016
exact hsecond_left - 0017
have hzeros : D = 0 /\ E = 0 - 0018
specialize matrix_lattice_opposite_gaps_zero (p) - 0019
specialize matrix_lattice_opposite_gaps_zero (n) - 0020
specialize matrix_lattice_opposite_gaps_zero (D) - 0021
specialize matrix_lattice_opposite_gaps_zero (E) - 0022
apply matrix_lattice_opposite_gaps_zero - 0023
exact hfirst_left - 0024
exact hsecond_right - 0025
cases hzeros - 0026
trans 0 - 0027
exact hzeros_left - 0028
symm - 0029
exact hzeros_right - 0030
cases hsecond - 0031
have hzeros : D = 0 /\ E = 0 - 0032
specialize matrix_lattice_opposite_gaps_zero (n) - 0033
specialize matrix_lattice_opposite_gaps_zero (p) - 0034
specialize matrix_lattice_opposite_gaps_zero (D) - 0035
specialize matrix_lattice_opposite_gaps_zero (E) - 0036
apply matrix_lattice_opposite_gaps_zero - 0037
exact hfirst_right - 0038
exact hsecond_left - 0039
cases hzeros - 0040
trans 0 - 0041
exact hzeros_left - 0042
symm - 0043
exact hzeros_right - 0044
specialize add_left_cancel (p) - 0045
specialize add_left_cancel (D) - 0046
specialize add_left_cancel (E) - 0047
apply add_left_cancel - 0048
trans n - 0049
symm - 0050
exact hfirst_right - 0051
exact hsecond_right