CE0011

signed_alternating_product_prefix_empty

The length-zero signed alternating product prefix has no unjustified cofactor terms.

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

∀ ab. ∀ ac. ∀ db. ∀ dc. ∀ eb. ∀ ec. ∀ fb. ∀ fc. ∀ ub. ∀ uc. ∀ vb. ∀ vc. SignedAlternatingProductPrefix(ab,ac,db,dc,eb,ec,fb,fc,ub,uc,vb,vc,0)

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

Definition DAG

Actual proof prerequisites

add_eq_zero_right · checked external prerequisitesucc_ne_zero · checked external prerequisite
Original expanded first-order statement
forall ab ac db dc eb ec fb fc ub uc vb vc. (forall ff_index_mce_alternating_empty. (exists ff_gap_mce_empty_index. ff_gap_mce_empty_index + S (ff_index_mce_alternating_empty) = (0)) -> exists ff_ap_mce_alternating_empty ff_an_mce_alternating_empty ff_bp_mce_alternating_empty ff_bn_mce_alternating_empty ff_p_mce_alternating_empty ff_n_mce_alternating_empty. ((((exists ff_h_mce_empty_ap. ff_h_mce_empty_ap + S (ff_ap_mce_alternating_empty) = S ((S (ff_index_mce_alternating_empty)) * ac)) /\ exists ff_q_mce_empty_ap. ab = ff_q_mce_empty_ap * S ((S (ff_index_mce_alternating_empty)) * ac) + (ff_ap_mce_alternating_empty))) /\ ((((exists ff_h_mce_empty_an. ff_h_mce_empty_an + S (ff_an_mce_alternating_empty) = S ((S (ff_index_mce_alternating_empty)) * dc)) /\ exists ff_q_mce_empty_an. db = ff_q_mce_empty_an * S ((S (ff_index_mce_alternating_empty)) * dc) + (ff_an_mce_alternating_empty))) /\ ((((exists ff_h_mce_empty_bp. ff_h_mce_empty_bp + S (ff_bp_mce_alternating_empty) = S ((S (ff_index_mce_alternating_empty)) * ec)) /\ exists ff_q_mce_empty_bp. eb = ff_q_mce_empty_bp * S ((S (ff_index_mce_alternating_empty)) * ec) + (ff_bp_mce_alternating_empty))) /\ ((((exists ff_h_mce_empty_bn. ff_h_mce_empty_bn + S (ff_bn_mce_alternating_empty) = S ((S (ff_index_mce_alternating_empty)) * fc)) /\ exists ff_q_mce_empty_bn. fb = ff_q_mce_empty_bn * S ((S (ff_index_mce_alternating_empty)) * fc) + (ff_bn_mce_alternating_empty))) /\ ((((exists ff_h_mce_empty_positive. ff_h_mce_empty_positive + S (ff_p_mce_alternating_empty) = S ((S (ff_index_mce_alternating_empty)) * uc)) /\ exists ff_q_mce_empty_positive. ub = ff_q_mce_empty_positive * S ((S (ff_index_mce_alternating_empty)) * uc) + (ff_p_mce_alternating_empty))) /\ ((((exists ff_h_mce_empty_negative. ff_h_mce_empty_negative + S (ff_n_mce_alternating_empty) = S ((S (ff_index_mce_alternating_empty)) * vc)) /\ exists ff_q_mce_empty_negative. vb = ff_q_mce_empty_negative * S ((S (ff_index_mce_alternating_empty)) * vc) + (ff_n_mce_alternating_empty))) /\ (((exists ff_even_mce_term_empty_term. ff_index_mce_alternating_empty = 2 * ff_even_mce_term_empty_term) /\ (ff_p_mce_alternating_empty = (ff_ap_mce_alternating_empty) * (ff_bp_mce_alternating_empty) + (ff_an_mce_alternating_empty) * (ff_bn_mce_alternating_empty) /\ ff_n_mce_alternating_empty = (ff_ap_mce_alternating_empty) * (ff_bn_mce_alternating_empty) + (ff_an_mce_alternating_empty) * (ff_bp_mce_alternating_empty))) \/ ((exists ff_odd_mce_term_empty_term. ff_index_mce_alternating_empty = 2 * ff_odd_mce_term_empty_term + 1) /\ (ff_p_mce_alternating_empty = (ff_ap_mce_alternating_empty) * (ff_bn_mce_alternating_empty) + (ff_an_mce_alternating_empty) * (ff_bp_mce_alternating_empty) /\ ff_n_mce_alternating_empty = (ff_ap_mce_alternating_empty) * (ff_bp_mce_alternating_empty) + (ff_an_mce_alternating_empty) * (ff_bn_mce_alternating_empty)))))))))))

Complete unchanged native tactic proof

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

Read the argument

Proof checkpoints

24 script commands · 4 reading checkpoints · 1 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 ab
  2. L2
    intro ac
  3. L3
    intro db
  4. L4
    intro dc
  5. L5
    intro eb
  6. L6
    intro ec
  7. L7
    intro fb
  8. L8
    intro fc
  9. L9
    intro ub
  10. L10
    intro uc
02Fix variables and assumptionsL11–14

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

  1. L11
    intro vb
  2. L12
    intro vc
  3. L13
    intro i
  4. L14
    intro hi
03Separate the logical casesL15–16

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

  1. L15
    exfalso
  2. L16
    cases hi
04Establish hzeroL17–24

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.

  1. L17
    have hzero : S i = 0
  2. L18
    specialize add_eq_zero_right x
  3. L19
    specialize add_eq_zero_right (S i)
  4. L20
    apply add_eq_zero_right
  5. L21
    exact hi_witness
  6. L22
    specialize succ_ne_zero i
  7. L23
    apply succ_ne_zero
  8. L24
    exact hzero

Library-wide reading audit

Original defined command ledger · 24 lines
  1. 0001intro ab
  2. 0002intro ac
  3. 0003intro db
  4. 0004intro dc
  5. 0005intro eb
  6. 0006intro ec
  7. 0007intro fb
  8. 0008intro fc
  9. 0009intro ub
  10. 0010intro uc
  11. 0011intro vb
  12. 0012intro vc
  13. 0013intro i
  14. 0014intro hi
  15. 0015exfalso
  16. 0016cases hi
  17. 0017have hzero : S i = 0
  18. 0018specialize add_eq_zero_right x
  19. 0019specialize add_eq_zero_right (S i)
  20. 0020apply add_eq_zero_right
  21. 0021exact hi_witness
  22. 0022specialize succ_ne_zero i
  23. 0023apply succ_ne_zero
  24. 0024exact hzero