DL0023

matrix_recursive_matrix_equality_refl

Every actual finite signed matrix is pointwise equal to itself.

Alpha v34 checked-use · first admitted v27 · 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.

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. ∀ d. SignedMatrixPrefixEquality(pb,pc,nb,nc,pb,pc,nb,nc,d)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall pb pc nb nc d. (((forall mdr_i_matrix_reflp mdr_a_matrix_reflp. (exists mdr_gap_matrix_reflpb. mdr_gap_matrix_reflpb + S (mdr_i_matrix_reflp) = ((d) * (d))) -> (((exists ff_h_mdr_matrix_reflpo. ff_h_mdr_matrix_reflpo + S (mdr_a_matrix_reflp) = S ((S (mdr_i_matrix_reflp)) * pc)) /\ exists ff_q_mdr_matrix_reflpo. pb = ff_q_mdr_matrix_reflpo * S ((S (mdr_i_matrix_reflp)) * pc) + (mdr_a_matrix_reflp))) -> (((exists ff_h_mdr_matrix_reflpn. ff_h_mdr_matrix_reflpn + S (mdr_a_matrix_reflp) = S ((S (mdr_i_matrix_reflp)) * pc)) /\ exists ff_q_mdr_matrix_reflpn. pb = ff_q_mdr_matrix_reflpn * S ((S (mdr_i_matrix_reflp)) * pc) + (mdr_a_matrix_reflp)))) /\ (forall mdr_i_matrix_refln mdr_a_matrix_refln. (exists mdr_gap_matrix_reflnb. mdr_gap_matrix_reflnb + S (mdr_i_matrix_refln) = ((d) * (d))) -> (((exists ff_h_mdr_matrix_reflno. ff_h_mdr_matrix_reflno + S (mdr_a_matrix_refln) = S ((S (mdr_i_matrix_refln)) * nc)) /\ exists ff_q_mdr_matrix_reflno. nb = ff_q_mdr_matrix_reflno * S ((S (mdr_i_matrix_refln)) * nc) + (mdr_a_matrix_refln))) -> (((exists ff_h_mdr_matrix_reflnn. ff_h_mdr_matrix_reflnn + S (mdr_a_matrix_refln) = S ((S (mdr_i_matrix_refln)) * nc)) /\ exists ff_q_mdr_matrix_reflnn. nb = ff_q_mdr_matrix_reflnn * S ((S (mdr_i_matrix_refln)) * nc) + (mdr_a_matrix_refln))))))

Complete tactic proof in conservative notation

All 14 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

14 script commands · 3 reading checkpoints · 0 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.

Named ingredients (1)
01Fix variables and assumptionsL1–5

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

  1. L1
    intro pb
  2. L2
    intro pc
  3. L3
    intro nb
  4. L4
    intro nc
  5. L5
    intro d
02Separate the logical casesL6–6

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

  1. L6
    split
03Use earlier factsL7–14

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

  1. L7
    specialize matrix_recursive_prefix_refl (pb)
  2. L8
    specialize matrix_recursive_prefix_refl (pc)
  3. L9
    specialize matrix_recursive_prefix_refl (d * d)
  4. L10
    apply matrix_recursive_prefix_refl
  5. L11
    specialize matrix_recursive_prefix_refl (nb)
  6. L12
    specialize matrix_recursive_prefix_refl (nc)
  7. L13
    specialize matrix_recursive_prefix_refl (d * d)
  8. L14
    apply matrix_recursive_prefix_refl

Library-wide reading audit

Original defined command ledger · 14 lines
  1. 0001intro pb
  2. 0002intro pc
  3. 0003intro nb
  4. 0004intro nc
  5. 0005intro d
  6. 0006split
  7. 0007specialize matrix_recursive_prefix_refl (pb)
  8. 0008specialize matrix_recursive_prefix_refl (pc)
  9. 0009specialize matrix_recursive_prefix_refl (d * d)
  10. 0010apply matrix_recursive_prefix_refl
  11. 0011specialize matrix_recursive_prefix_refl (nb)
  12. 0012specialize matrix_recursive_prefix_refl (nc)
  13. 0013specialize matrix_recursive_prefix_refl (d * d)
  14. 0014apply matrix_recursive_prefix_refl