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
∀ pb. ∀ pc. ∀ nb. ∀ nc. ∀ p. ∀ n. SignedRecursiveDeterminant(pb,pc,nb,nc,0,p,n) → p = 1 ∧ n = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 44 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
02Separate the logical casesL8–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
03Establish hlocalL14–23
Establish this local claim before using it. It is not an additional assumption.
- L14
have hlocal : SignedDeterminantLocalStep(x,x1,x3,0,pb,pc,nb,nc,p,n)Definitions: SignedDeterminantLocalStep(x,x1,x3,0,pb,pc,nb,nc,p,n)Original native command in the exact edition - L15
specialize matrix_recursive_history_step_at (x) - L16
specialize matrix_recursive_history_step_at (x1) - L17
specialize matrix_recursive_history_step_at (x2) - L18
specialize matrix_recursive_history_step_at (x3) - L19
specialize matrix_recursive_history_step_at (0) - L20
specialize matrix_recursive_history_step_at (pb) - L21
specialize matrix_recursive_history_step_at (pc) - L22
specialize matrix_recursive_history_step_at (nb) - L23
specialize matrix_recursive_history_step_at (nc)
04Use earlier factsL24–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize matrix_recursive_history_step_at (p) - L25
specialize matrix_recursive_history_step_at (n) - L26
apply matrix_recursive_history_step_at - L27
exact hdeterminant_witness_witness_witness_witness_left - L28
exact hdeterminant_witness_witness_witness_witness_right_left - L29
exact hdeterminant_witness_witness_witness_witness_right_right
05Separate the logical casesL30–31
06Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hlocal_left_right
07Separate the logical casesL33–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hlocal_right - L34
cases hlocal_right_witness - L35
cases hlocal_right_witness_witness - L36
cases hlocal_right_witness_witness_witness - L37
cases hlocal_right_witness_witness_witness_witness - L38
cases hlocal_right_witness_witness_witness_witness_witness - L39
cases hlocal_right_witness_witness_witness_witness_witness_right - L40
exfalso
08Use earlier factsL41–42
09Calculate and transport equalitiesL43–43
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L43
symm
10Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
exact hlocal_right_witness_witness_witness_witness_witness_left
Original defined command ledger · 44 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro p - 0006
intro n - 0007
intro hdeterminant - 0008
cases hdeterminant - 0009
cases hdeterminant_witness - 0010
cases hdeterminant_witness_witness - 0011
cases hdeterminant_witness_witness_witness - 0012
cases hdeterminant_witness_witness_witness_witness - 0013
cases hdeterminant_witness_witness_witness_witness_right - 0014
have hlocal : SignedDeterminantLocalStep(x,x1,x3,0,pb,pc,nb,nc,p,n) - 0015
specialize matrix_recursive_history_step_at (x) - 0016
specialize matrix_recursive_history_step_at (x1) - 0017
specialize matrix_recursive_history_step_at (x2) - 0018
specialize matrix_recursive_history_step_at (x3) - 0019
specialize matrix_recursive_history_step_at (0) - 0020
specialize matrix_recursive_history_step_at (pb) - 0021
specialize matrix_recursive_history_step_at (pc) - 0022
specialize matrix_recursive_history_step_at (nb) - 0023
specialize matrix_recursive_history_step_at (nc) - 0024
specialize matrix_recursive_history_step_at (p) - 0025
specialize matrix_recursive_history_step_at (n) - 0026
apply matrix_recursive_history_step_at - 0027
exact hdeterminant_witness_witness_witness_witness_left - 0028
exact hdeterminant_witness_witness_witness_witness_right_left - 0029
exact hdeterminant_witness_witness_witness_witness_right_right - 0030
cases hlocal - 0031
cases hlocal_left - 0032
exact hlocal_left_right - 0033
cases hlocal_right - 0034
cases hlocal_right_witness - 0035
cases hlocal_right_witness_witness - 0036
cases hlocal_right_witness_witness_witness - 0037
cases hlocal_right_witness_witness_witness_witness - 0038
cases hlocal_right_witness_witness_witness_witness_witness - 0039
cases hlocal_right_witness_witness_witness_witness_witness_right - 0040
exfalso - 0041
specialize succ_ne_zero (x4) - 0042
apply succ_ne_zero - 0043
symm - 0044
exact hlocal_right_witness_witness_witness_witness_witness_left