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. ∀ w. ∀ rb. ∀ rc. ∀ cb. ∀ cc. ∀ q. ∃ ub. ∃ uc. ∃ vb. ∃ vc. SignedSelectedSubmatrix(pb,pc,nb,nc,w,rb,rc,cb,cc,q,ub,uc,vb,vc)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 41 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–10
02Establish hpositiveL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank selected square exists.
- L11
have hpositive : ∃ u. ∃ v. ∀ mdr_i_positive_exists. Lt(mdr_i_positive_exists,q · q) → ∃ x. (∃ y. ∃ z. ∃ n. ∃ m. mdr_i_positive_exists = q · y + z ∧ (Lt(z,q) ∧ (BetaAt(rb,rc,y,n) ∧ (BetaAt(cb,cc,z,m) ∧ BetaAt(pb,pc,n · w + m,x))))) ∧ BetaAt(u,v,mdr_i_positive_exists,x)Definitions: Lt(mdr_i_positive_exists,q · q)Lt(z,q)BetaAt(rb,rc,y,n)BetaAt(cb,cc,z,m)BetaAt(pb,pc,n · w + m,x)BetaAt(u,v,mdr_i_positive_exists,x)Original native command in the exact edition - L12
specialize matrix_rank_selected_square_exists (pb) - L13
specialize matrix_rank_selected_square_exists (pc) - L14
specialize matrix_rank_selected_square_exists (w) - L15
specialize matrix_rank_selected_square_exists (rb) - L16
specialize matrix_rank_selected_square_exists (rc) - L17
specialize matrix_rank_selected_square_exists (cb) - L18
specialize matrix_rank_selected_square_exists (cc) - L19
specialize matrix_rank_selected_square_exists (q) - L20
apply matrix_rank_selected_square_exists
03Separate the logical casesL21–22
04Establish hnegativeL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank selected square exists.
- L23
have hnegative : ∃ u. ∃ v. ∀ mdr_i_negative_exists. Lt(mdr_i_negative_exists,q · q) → ∃ x. (∃ y. ∃ z. ∃ n. ∃ m. mdr_i_negative_exists = q · y + z ∧ (Lt(z,q) ∧ (BetaAt(rb,rc,y,n) ∧ (BetaAt(cb,cc,z,m) ∧ BetaAt(nb,nc,n · w + m,x))))) ∧ BetaAt(u,v,mdr_i_negative_exists,x)Definitions: Lt(mdr_i_negative_exists,q · q)Lt(z,q)BetaAt(rb,rc,y,n)BetaAt(cb,cc,z,m)BetaAt(nb,nc,n · w + m,x)BetaAt(u,v,mdr_i_negative_exists,x)Original native command in the exact edition - L24
specialize matrix_rank_selected_square_exists (nb) - L25
specialize matrix_rank_selected_square_exists (nc) - L26
specialize matrix_rank_selected_square_exists (w) - L27
specialize matrix_rank_selected_square_exists (rb) - L28
specialize matrix_rank_selected_square_exists (rc) - L29
specialize matrix_rank_selected_square_exists (cb) - L30
specialize matrix_rank_selected_square_exists (cc) - L31
specialize matrix_rank_selected_square_exists (q) - L32
apply matrix_rank_selected_square_exists
05Separate the logical casesL33–34
06Construct an explicit witnessL35–38
07Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
Original defined command ledger · 41 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro w - 0006
intro rb - 0007
intro rc - 0008
intro cb - 0009
intro cc - 0010
intro q - 0011
have hpositive : ∃ u. ∃ v. ∀ mdr_i_positive_exists. Lt(mdr_i_positive_exists,q · q) → ∃ x. (∃ y. ∃ z. ∃ n. ∃ m. mdr_i_positive_exists = q · y + z ∧ (Lt(z,q) ∧ (BetaAt(rb,rc,y,n) ∧ (BetaAt(cb,cc,z,m) ∧ BetaAt(pb,pc,n · w + m,x))))) ∧ BetaAt(u,v,mdr_i_positive_exists,x) - 0012
specialize matrix_rank_selected_square_exists (pb) - 0013
specialize matrix_rank_selected_square_exists (pc) - 0014
specialize matrix_rank_selected_square_exists (w) - 0015
specialize matrix_rank_selected_square_exists (rb) - 0016
specialize matrix_rank_selected_square_exists (rc) - 0017
specialize matrix_rank_selected_square_exists (cb) - 0018
specialize matrix_rank_selected_square_exists (cc) - 0019
specialize matrix_rank_selected_square_exists (q) - 0020
apply matrix_rank_selected_square_exists - 0021
cases hpositive - 0022
cases hpositive_witness - 0023
have hnegative : ∃ u. ∃ v. ∀ mdr_i_negative_exists. Lt(mdr_i_negative_exists,q · q) → ∃ x. (∃ y. ∃ z. ∃ n. ∃ m. mdr_i_negative_exists = q · y + z ∧ (Lt(z,q) ∧ (BetaAt(rb,rc,y,n) ∧ (BetaAt(cb,cc,z,m) ∧ BetaAt(nb,nc,n · w + m,x))))) ∧ BetaAt(u,v,mdr_i_negative_exists,x) - 0024
specialize matrix_rank_selected_square_exists (nb) - 0025
specialize matrix_rank_selected_square_exists (nc) - 0026
specialize matrix_rank_selected_square_exists (w) - 0027
specialize matrix_rank_selected_square_exists (rb) - 0028
specialize matrix_rank_selected_square_exists (rc) - 0029
specialize matrix_rank_selected_square_exists (cb) - 0030
specialize matrix_rank_selected_square_exists (cc) - 0031
specialize matrix_rank_selected_square_exists (q) - 0032
apply matrix_rank_selected_square_exists - 0033
cases hnegative - 0034
cases hnegative_witness - 0035
exists x - 0036
exists x1 - 0037
exists x2 - 0038
exists x3 - 0039
split - 0040
exact hpositive_witness_witness - 0041
exact hnegative_witness_witness