CE0003

matrix_minor_four_code_components_injective

An exact nested doubled-Cantor cofactor record uniquely determines all four minor-code components.

Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable

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

pair_code_injective · checked external prerequisite
Original expanded first-order statement
forall z up us un ut vp vs vn vt. z = ((((up) + (us)) * S ((up) + (us)) + ((us) + (us))) + (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))) * S ((((up) + (us)) * S ((up) + (us)) + ((us) + (us))) + (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))) + ((((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut))) + (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))) -> z = ((((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs))) + (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)))) * S ((((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs))) + (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)))) + ((((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt))) + (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)))) -> (up = vp /\ (us = vs /\ (un = vn /\ ut = vt)))

Complete unchanged native tactic proof

All 48 lines are the exact independently kernel-checked original script.

Read the argument

Proof checkpoints

48 script commands · 12 reading checkpoints · 3 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

01Fix variables and assumptionsL1–10

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro z
  2. L2
    intro up
  3. L3
    intro us
  4. L4
    intro un
  5. L5
    intro ut
  6. L6
    intro vp
  7. L7
    intro vs
  8. L8
    intro vn
  9. L9
    intro vt
  10. L10
    intro hfirst
02Fix variables and assumptionsL11–11

Work with arbitrary variables or the premises of the current implication.

  1. 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.

  1. 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))
  2. L13
    specialize pair_code_injective z
  3. L14
    specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us)))
  4. L15
    specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))
  5. L16
    specialize pair_code_injective (((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs)))
  6. L17
    specialize pair_code_injective (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)))
  7. L18
    apply pair_code_injective
  8. L19
    exact hfirst
  9. L20
    exact hsecond
04Separate the logical casesL21–21

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. 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.

  1. L22
    have hpositive : up = vp /\ us = vs
  2. L23
    specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us)))
  3. L24
    specialize pair_code_injective up
  4. L25
    specialize pair_code_injective us
  5. L26
    specialize pair_code_injective vp
  6. L27
    specialize pair_code_injective vs
  7. L28
    apply pair_code_injective
  8. L29
    refl
  9. 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.

  1. L31
    have hnegative : un = vn /\ ut = vt
  2. L32
    specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))
  3. L33
    specialize pair_code_injective un
  4. L34
    specialize pair_code_injective ut
  5. L35
    specialize pair_code_injective vn
  6. L36
    specialize pair_code_injective vt
  7. L37
    apply pair_code_injective
  8. L38
    refl
  9. L39
    exact houter_right
07Separate the logical casesL40–42

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L40
    cases hpositive
  2. L41
    cases hnegative
  3. L42
    split
08Use earlier factsL43–43

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L43
    exact hpositive_left
09Separate the logical casesL44–44

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L44
    split
10Use earlier factsL45–45

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L45
    exact hpositive_right
11Separate the logical casesL46–46

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L46
    split
12Use earlier factsL47–48

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L47
    exact hnegative_left
  2. L48
    exact hnegative_right

Library-wide reading audit

Original defined command ledger · 48 lines
  1. 0001intro z
  2. 0002intro up
  3. 0003intro us
  4. 0004intro un
  5. 0005intro ut
  6. 0006intro vp
  7. 0007intro vs
  8. 0008intro vn
  9. 0009intro vt
  10. 0010intro hfirst
  11. 0011intro hsecond
  12. 0012have 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))
  13. 0013specialize pair_code_injective z
  14. 0014specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us)))
  15. 0015specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))
  16. 0016specialize pair_code_injective (((vp) + (vs)) * S ((vp) + (vs)) + ((vs) + (vs)))
  17. 0017specialize pair_code_injective (((vn) + (vt)) * S ((vn) + (vt)) + ((vt) + (vt)))
  18. 0018apply pair_code_injective
  19. 0019exact hfirst
  20. 0020exact hsecond
  21. 0021cases houter
  22. 0022have hpositive : up = vp /\ us = vs
  23. 0023specialize pair_code_injective (((up) + (us)) * S ((up) + (us)) + ((us) + (us)))
  24. 0024specialize pair_code_injective up
  25. 0025specialize pair_code_injective us
  26. 0026specialize pair_code_injective vp
  27. 0027specialize pair_code_injective vs
  28. 0028apply pair_code_injective
  29. 0029refl
  30. 0030exact houter_left
  31. 0031have hnegative : un = vn /\ ut = vt
  32. 0032specialize pair_code_injective (((un) + (ut)) * S ((un) + (ut)) + ((ut) + (ut)))
  33. 0033specialize pair_code_injective un
  34. 0034specialize pair_code_injective ut
  35. 0035specialize pair_code_injective vn
  36. 0036specialize pair_code_injective vt
  37. 0037apply pair_code_injective
  38. 0038refl
  39. 0039exact houter_right
  40. 0040cases hpositive
  41. 0041cases hnegative
  42. 0042split
  43. 0043exact hpositive_left
  44. 0044split
  45. 0045exact hpositive_right
  46. 0046split
  47. 0047exact hnegative_left
  48. 0048exact hnegative_right