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.
Historical partial components only: this chapter proves genuine signed first-row minors and unique alternating folds, with supplied cofactor values. T13 is now closed in the separate Alpha-v27 integer-linear-algebra branch with actual arbitrary determinant data, rank, and integer column spans; lattice index and normal forms are not claimed. Full T13 proof · Alpha v27
Exact theorem in conservative defined notation
∀ z. ∀ up. ∀ us. ∀ un. ∀ ut. ∀ vp. ∀ vs. ∀ vn. ∀ vt. MatrixMinorFourCode(z,up,us,un,ut) → MatrixMinorFourCode(z,vp,vs,vn,vt) → up = vp ∧ (us = vs ∧ (un = vn ∧ ut = vt))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 48 lines are the exact independently kernel-checked original 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–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hsecond
03Establish houterL12–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code injective.
- L12
have houter : ((up) + (us)) * S ((up) + (us)) + ((us) + (us)) = ((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs)) /\ ((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)) = ((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)) - L13
specialize pair_code_injective z - L14
specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us))) - L15
specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut))) - L16
specialize pair_code_injective (((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs))) - L17
specialize pair_code_injective (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt))) - L18
apply pair_code_injective - L19
exact hfirst - L20
exact hsecond
04Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases houter
05Establish hpositiveL22–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code injective.
- L22
have hpositive : up = vp /\ us = vs - L23
specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us))) - L24
specialize pair_code_injective up - L25
specialize pair_code_injective us - L26
specialize pair_code_injective vp - L27
specialize pair_code_injective vs - L28
apply pair_code_injective - L29
refl - L30
exact houter_left
06Establish hnegativeL31–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code injective.
- L31
have hnegative : un = vn /\ ut = vt - L32
specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut))) - L33
specialize pair_code_injective un - L34
specialize pair_code_injective ut - L35
specialize pair_code_injective vn - L36
specialize pair_code_injective vt - L37
apply pair_code_injective - L38
refl - L39
exact houter_right
07Separate the logical casesL40–42
08Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hpositive_left
09Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
10Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hpositive_right
11Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
Original defined command ledger · 48 lines
- 0001
intro z - 0002
intro up - 0003
intro us - 0004
intro un - 0005
intro ut - 0006
intro vp - 0007
intro vs - 0008
intro vn - 0009
intro vt - 0010
intro hfirst - 0011
intro hsecond - 0012
have houter : ((up) + (us)) * S ((up) + (us)) + ((us) + (us)) = ((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs)) /\ ((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)) = ((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)) - 0013
specialize pair_code_injective z - 0014
specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us))) - 0015
specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut))) - 0016
specialize pair_code_injective (((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs))) - 0017
specialize pair_code_injective (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt))) - 0018
apply pair_code_injective - 0019
exact hfirst - 0020
exact hsecond - 0021
cases houter - 0022
have hpositive : up = vp /\ us = vs - 0023
specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us))) - 0024
specialize pair_code_injective up - 0025
specialize pair_code_injective us - 0026
specialize pair_code_injective vp - 0027
specialize pair_code_injective vs - 0028
apply pair_code_injective - 0029
refl - 0030
exact houter_left - 0031
have hnegative : un = vn /\ ut = vt - 0032
specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut))) - 0033
specialize pair_code_injective un - 0034
specialize pair_code_injective ut - 0035
specialize pair_code_injective vn - 0036
specialize pair_code_injective vt - 0037
apply pair_code_injective - 0038
refl - 0039
exact houter_right - 0040
cases hpositive - 0041
cases hnegative - 0042
split - 0043
exact hpositive_left - 0044
split - 0045
exact hpositive_right - 0046
split - 0047
exact hnegative_left - 0048
exact hnegative_right