CE0004

signed_cofactor_minor_record_exists

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Every valid first-row column has one exact record containing the entire independently constructed signed cofactor minor.

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.

Exact expanded first-order arithmetic statement

forall pb pc nb nc q j. (exists ff_gap_mce_record_column. ff_gap_mce_record_column + S (j) = (S q)) -> exists z. (exists ff_up_mce_record_result ff_us_mce_record_result ff_un_mce_record_result ff_ut_mce_record_result. ((z = ((((ff_up_mce_record_result) + (ff_us_mce_record_result)) * S ((ff_up_mce_record_result) + (ff_us_mce_record_result)) + ((ff_us_mce_record_result) + (ff_us_mce_record_result))) + (((ff_un_mce_record_result) + (ff_ut_mce_record_result)) * S ((ff_un_mce_record_result) + (ff_ut_mce_record_result)) + ((ff_ut_mce_record_result) + (ff_ut_mce_record_result)))) * S ((((ff_up_mce_record_result) + (ff_us_mce_record_result)) * S ((ff_up_mce_record_result) + (ff_us_mce_record_result)) + ((ff_us_mce_record_result) + (ff_us_mce_record_result))) + (((ff_un_mce_record_result) + (ff_ut_mce_record_result)) * S ((ff_un_mce_record_result) + (ff_ut_mce_record_result)) + ((ff_ut_mce_record_result) + (ff_ut_mce_record_result)))) + ((((ff_un_mce_record_result) + (ff_ut_mce_record_result)) * S ((ff_un_mce_record_result) + (ff_ut_mce_record_result)) + ((ff_ut_mce_record_result) + (ff_ut_mce_record_result))) + (((ff_un_mce_record_result) + (ff_ut_mce_record_result)) * S ((ff_un_mce_record_result) + (ff_ut_mce_record_result)) + ((ff_ut_mce_record_result) + (ff_ut_mce_record_result))))) /\ (((forall ff_index_mdm_prefix_mce_result_minor_positive. (exists ff_gap_mdm_lt_mce_result_minor_positive_index_bound. ff_gap_mdm_lt_mce_result_minor_positive_index_bound + S (ff_index_mdm_prefix_mce_result_minor_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_result_minor_positive ff_column_mdm_prefix_mce_result_minor_positive ff_value_mdm_prefix_mce_result_minor_positive. (ff_index_mdm_prefix_mce_result_minor_positive = (q) * ff_row_mdm_prefix_mce_result_minor_positive + ff_column_mdm_prefix_mce_result_minor_positive /\ ((exists ff_gap_mdm_lt_mce_result_minor_positive_column_bound. ff_gap_mdm_lt_mce_result_minor_positive_column_bound + S (ff_column_mdm_prefix_mce_result_minor_positive) = (q)) /\ ((exists ff_row_mdm_cell_mce_result_minor_positive_cell ff_column_mdm_cell_mce_result_minor_positive_cell. (((((exists ff_gap_mdm_lt_mce_result_minor_positive_cell_row_before. ff_gap_mdm_lt_mce_result_minor_positive_cell_row_before + S (ff_row_mdm_prefix_mce_result_minor_positive) = (0)) /\ ff_row_mdm_cell_mce_result_minor_positive_cell = ff_row_mdm_prefix_mce_result_minor_positive) \/ ((exists ff_gap_mdm_le_mce_result_minor_positive_cell_row_after. ff_gap_mdm_le_mce_result_minor_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mce_result_minor_positive)) /\ ff_row_mdm_cell_mce_result_minor_positive_cell = S ff_row_mdm_prefix_mce_result_minor_positive))) /\ (((((exists ff_gap_mdm_lt_mce_result_minor_positive_cell_column_before. ff_gap_mdm_lt_mce_result_minor_positive_cell_column_before + S (ff_column_mdm_prefix_mce_result_minor_positive) = (j)) /\ ff_column_mdm_cell_mce_result_minor_positive_cell = ff_column_mdm_prefix_mce_result_minor_positive) \/ ((exists ff_gap_mdm_le_mce_result_minor_positive_cell_column_after. ff_gap_mdm_le_mce_result_minor_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mce_result_minor_positive)) /\ ff_column_mdm_cell_mce_result_minor_positive_cell = S ff_column_mdm_prefix_mce_result_minor_positive))) /\ (((exists ff_h_mdm_mce_result_minor_positive_cell_source. ff_h_mdm_mce_result_minor_positive_cell_source + S (ff_value_mdm_prefix_mce_result_minor_positive) = S ((S ((ff_row_mdm_cell_mce_result_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_result_minor_positive_cell))) * pc)) /\ exists ff_q_mdm_mce_result_minor_positive_cell_source. pb = ff_q_mdm_mce_result_minor_positive_cell_source * S ((S ((ff_row_mdm_cell_mce_result_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_result_minor_positive_cell))) * pc) + (ff_value_mdm_prefix_mce_result_minor_positive)))))) /\ (((exists ff_h_mdm_mce_result_minor_positive_target. ff_h_mdm_mce_result_minor_positive_target + S (ff_value_mdm_prefix_mce_result_minor_positive) = S ((S (ff_index_mdm_prefix_mce_result_minor_positive)) * ff_us_mce_record_result)) /\ exists ff_q_mdm_mce_result_minor_positive_target. ff_up_mce_record_result = ff_q_mdm_mce_result_minor_positive_target * S ((S (ff_index_mdm_prefix_mce_result_minor_positive)) * ff_us_mce_record_result) + (ff_value_mdm_prefix_mce_result_minor_positive))))))) /\ (forall ff_index_mdm_prefix_mce_result_minor_negative. (exists ff_gap_mdm_lt_mce_result_minor_negative_index_bound. ff_gap_mdm_lt_mce_result_minor_negative_index_bound + S (ff_index_mdm_prefix_mce_result_minor_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_result_minor_negative ff_column_mdm_prefix_mce_result_minor_negative ff_value_mdm_prefix_mce_result_minor_negative. (ff_index_mdm_prefix_mce_result_minor_negative = (q) * ff_row_mdm_prefix_mce_result_minor_negative + ff_column_mdm_prefix_mce_result_minor_negative /\ ((exists ff_gap_mdm_lt_mce_result_minor_negative_column_bound. ff_gap_mdm_lt_mce_result_minor_negative_column_bound + S (ff_column_mdm_prefix_mce_result_minor_negative) = (q)) /\ ((exists ff_row_mdm_cell_mce_result_minor_negative_cell ff_column_mdm_cell_mce_result_minor_negative_cell. (((((exists ff_gap_mdm_lt_mce_result_minor_negative_cell_row_before. ff_gap_mdm_lt_mce_result_minor_negative_cell_row_before + S (ff_row_mdm_prefix_mce_result_minor_negative) = (0)) /\ ff_row_mdm_cell_mce_result_minor_negative_cell = ff_row_mdm_prefix_mce_result_minor_negative) \/ ((exists ff_gap_mdm_le_mce_result_minor_negative_cell_row_after. ff_gap_mdm_le_mce_result_minor_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mce_result_minor_negative)) /\ ff_row_mdm_cell_mce_result_minor_negative_cell = S ff_row_mdm_prefix_mce_result_minor_negative))) /\ (((((exists ff_gap_mdm_lt_mce_result_minor_negative_cell_column_before. ff_gap_mdm_lt_mce_result_minor_negative_cell_column_before + S (ff_column_mdm_prefix_mce_result_minor_negative) = (j)) /\ ff_column_mdm_cell_mce_result_minor_negative_cell = ff_column_mdm_prefix_mce_result_minor_negative) \/ ((exists ff_gap_mdm_le_mce_result_minor_negative_cell_column_after. ff_gap_mdm_le_mce_result_minor_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mce_result_minor_negative)) /\ ff_column_mdm_cell_mce_result_minor_negative_cell = S ff_column_mdm_prefix_mce_result_minor_negative))) /\ (((exists ff_h_mdm_mce_result_minor_negative_cell_source. ff_h_mdm_mce_result_minor_negative_cell_source + S (ff_value_mdm_prefix_mce_result_minor_negative) = S ((S ((ff_row_mdm_cell_mce_result_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_result_minor_negative_cell))) * nc)) /\ exists ff_q_mdm_mce_result_minor_negative_cell_source. nb = ff_q_mdm_mce_result_minor_negative_cell_source * S ((S ((ff_row_mdm_cell_mce_result_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_result_minor_negative_cell))) * nc) + (ff_value_mdm_prefix_mce_result_minor_negative)))))) /\ (((exists ff_h_mdm_mce_result_minor_negative_target. ff_h_mdm_mce_result_minor_negative_target + S (ff_value_mdm_prefix_mce_result_minor_negative) = S ((S (ff_index_mdm_prefix_mce_result_minor_negative)) * ff_ut_mce_record_result)) /\ exists ff_q_mdm_mce_result_minor_negative_target. ff_un_mce_record_result = ff_q_mdm_mce_result_minor_negative_target * S ((S (ff_index_mdm_prefix_mce_result_minor_negative)) * ff_ut_mce_record_result) + (ff_value_mdm_prefix_mce_result_minor_negative)))))))))))

Constructive proof overview

Generated structural guide

Every valid first-row column has one exact record containing the entire independently constructed signed cofactor minor.

The unchanged tactic script uses 3 declared prerequisites and contains 36 exact native proof lines.

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

Proof neighborhood

Direct dependencies

zero_le Stable theorem; checked-use authorized succ_le_succ Stable theorem; checked-use authorized beta_signed_matrix_minor_exists Alpha theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

36 script commands · 9 reading checkpoints · 2 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.

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–7

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 q
  6. L6
    intro j
  7. L7
    intro hj
02Establish hrowL8–13

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.

  1. L8
    have hrow : exists ff_gap_mce_record_row. ff_gap_mce_record_row + S (0) = (S q)
  2. L9
    specialize succ_le_succ 0
  3. L10
    specialize succ_le_succ q
  4. L11
    apply succ_le_succ
  5. L12
    specialize zero_le q
  6. L13
    exact zero_le
03Establish hminorL14–23

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta signed matrix minor exists.

  1. L14
    have hminor : ∃ up. ∃ us. ∃ un. ∃ ut. SignedMatrixMinor(pb,pc,nb,nc,S q,0,j,q,up,us,un,ut)Definitions: SignedMatrixMinor
  2. L15
    specialize beta_signed_matrix_minor_exists pb
  3. L16
    specialize beta_signed_matrix_minor_exists pc
  4. L17
    specialize beta_signed_matrix_minor_exists nb
  5. L18
    specialize beta_signed_matrix_minor_exists nc
  6. L19
    specialize beta_signed_matrix_minor_exists q
  7. L20
    specialize beta_signed_matrix_minor_exists 0
  8. L21
    specialize beta_signed_matrix_minor_exists j
  9. L22
    apply beta_signed_matrix_minor_exists
  10. L23
    exact hrow
04Use earlier factsL24–24

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

  1. L24
    exact hj
05Separate the logical casesL25–28

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

  1. L25
    cases hminor
  2. L26
    cases hminor_witness
  3. L27
    cases hminor_witness_witness
  4. L28
    cases hminor_witness_witness_witness
06Construct an explicit witnessL29–33

Supply the displayed value, then prove that it has the required property.

  1. L29
    exists ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) * S ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) + ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))))
  2. L30
    exists x
  3. L31
    exists x1
  4. L32
    exists x2
  5. L33
    exists x3
07Separate the logical casesL34–34

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

  1. L34
    split
08Calculate and transport equalitiesL35–35

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L35
    refl
09Use earlier factsL36–36

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

  1. L36
    exact hminor_witness_witness_witness_witness

Library-wide reading audit

Original exact command ledger · 36 lines
  1. 0001intro pb
  2. 0002intro pc
  3. 0003intro nb
  4. 0004intro nc
  5. 0005intro q
  6. 0006intro j
  7. 0007intro hj
  8. 0008have hrow : exists ff_gap_mce_record_row. ff_gap_mce_record_row + S (0) = (S q)
  9. 0009specialize succ_le_succ 0
  10. 0010specialize succ_le_succ q
  11. 0011apply succ_le_succ
  12. 0012specialize zero_le q
  13. 0013exact zero_le
  14. 0014have hminor : exists up us un ut. (((forall ff_index_mdm_prefix_mce_record_projection_positive. (exists ff_gap_mdm_lt_mce_record_projection_positive_index_bound. ff_gap_mdm_lt_mce_record_projection_positive_index_bound + S (ff_index_mdm_prefix_mce_record_projection_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_record_projection_positive ff_column_mdm_prefix_mce_record_projection_positive ff_value_mdm_prefix_mce_record_projection_positive. (ff_index_mdm_prefix_mce_record_projection_positive = (q) * ff_row_mdm_prefix_mce_record_projection_positive + ff_column_mdm_prefix_mce_record_projection_positive /\ ((exists ff_gap_mdm_lt_mce_record_projection_positive_column_bound. ff_gap_mdm_lt_mce_record_projection_positive_column_bound + S (ff_column_mdm_prefix_mce_record_projection_positive) = (q)) /\ ((exists ff_row_mdm_cell_mce_record_projection_positive_cell ff_column_mdm_cell_mce_record_projection_positive_cell. (((((exists ff_gap_mdm_lt_mce_record_projection_positive_cell_row_before. ff_gap_mdm_lt_mce_record_projection_positive_cell_row_before + S (ff_row_mdm_prefix_mce_record_projection_positive) = (0)) /\ ff_row_mdm_cell_mce_record_projection_positive_cell = ff_row_mdm_prefix_mce_record_projection_positive) \/ ((exists ff_gap_mdm_le_mce_record_projection_positive_cell_row_after. ff_gap_mdm_le_mce_record_projection_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mce_record_projection_positive)) /\ ff_row_mdm_cell_mce_record_projection_positive_cell = S ff_row_mdm_prefix_mce_record_projection_positive))) /\ (((((exists ff_gap_mdm_lt_mce_record_projection_positive_cell_column_before. ff_gap_mdm_lt_mce_record_projection_positive_cell_column_before + S (ff_column_mdm_prefix_mce_record_projection_positive) = (j)) /\ ff_column_mdm_cell_mce_record_projection_positive_cell = ff_column_mdm_prefix_mce_record_projection_positive) \/ ((exists ff_gap_mdm_le_mce_record_projection_positive_cell_column_after. ff_gap_mdm_le_mce_record_projection_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mce_record_projection_positive)) /\ ff_column_mdm_cell_mce_record_projection_positive_cell = S ff_column_mdm_prefix_mce_record_projection_positive))) /\ (((exists ff_h_mdm_mce_record_projection_positive_cell_source. ff_h_mdm_mce_record_projection_positive_cell_source + S (ff_value_mdm_prefix_mce_record_projection_positive) = S ((S ((ff_row_mdm_cell_mce_record_projection_positive_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_positive_cell))) * pc)) /\ exists ff_q_mdm_mce_record_projection_positive_cell_source. pb = ff_q_mdm_mce_record_projection_positive_cell_source * S ((S ((ff_row_mdm_cell_mce_record_projection_positive_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_positive_cell))) * pc) + (ff_value_mdm_prefix_mce_record_projection_positive)))))) /\ (((exists ff_h_mdm_mce_record_projection_positive_target. ff_h_mdm_mce_record_projection_positive_target + S (ff_value_mdm_prefix_mce_record_projection_positive) = S ((S (ff_index_mdm_prefix_mce_record_projection_positive)) * us)) /\ exists ff_q_mdm_mce_record_projection_positive_target. up = ff_q_mdm_mce_record_projection_positive_target * S ((S (ff_index_mdm_prefix_mce_record_projection_positive)) * us) + (ff_value_mdm_prefix_mce_record_projection_positive))))))) /\ (forall ff_index_mdm_prefix_mce_record_projection_negative. (exists ff_gap_mdm_lt_mce_record_projection_negative_index_bound. ff_gap_mdm_lt_mce_record_projection_negative_index_bound + S (ff_index_mdm_prefix_mce_record_projection_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_record_projection_negative ff_column_mdm_prefix_mce_record_projection_negative ff_value_mdm_prefix_mce_record_projection_negative. (ff_index_mdm_prefix_mce_record_projection_negative = (q) * ff_row_mdm_prefix_mce_record_projection_negative + ff_column_mdm_prefix_mce_record_projection_negative /\ ((exists ff_gap_mdm_lt_mce_record_projection_negative_column_bound. ff_gap_mdm_lt_mce_record_projection_negative_column_bound + S (ff_column_mdm_prefix_mce_record_projection_negative) = (q)) /\ ((exists ff_row_mdm_cell_mce_record_projection_negative_cell ff_column_mdm_cell_mce_record_projection_negative_cell. (((((exists ff_gap_mdm_lt_mce_record_projection_negative_cell_row_before. ff_gap_mdm_lt_mce_record_projection_negative_cell_row_before + S (ff_row_mdm_prefix_mce_record_projection_negative) = (0)) /\ ff_row_mdm_cell_mce_record_projection_negative_cell = ff_row_mdm_prefix_mce_record_projection_negative) \/ ((exists ff_gap_mdm_le_mce_record_projection_negative_cell_row_after. ff_gap_mdm_le_mce_record_projection_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mce_record_projection_negative)) /\ ff_row_mdm_cell_mce_record_projection_negative_cell = S ff_row_mdm_prefix_mce_record_projection_negative))) /\ (((((exists ff_gap_mdm_lt_mce_record_projection_negative_cell_column_before. ff_gap_mdm_lt_mce_record_projection_negative_cell_column_before + S (ff_column_mdm_prefix_mce_record_projection_negative) = (j)) /\ ff_column_mdm_cell_mce_record_projection_negative_cell = ff_column_mdm_prefix_mce_record_projection_negative) \/ ((exists ff_gap_mdm_le_mce_record_projection_negative_cell_column_after. ff_gap_mdm_le_mce_record_projection_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mce_record_projection_negative)) /\ ff_column_mdm_cell_mce_record_projection_negative_cell = S ff_column_mdm_prefix_mce_record_projection_negative))) /\ (((exists ff_h_mdm_mce_record_projection_negative_cell_source. ff_h_mdm_mce_record_projection_negative_cell_source + S (ff_value_mdm_prefix_mce_record_projection_negative) = S ((S ((ff_row_mdm_cell_mce_record_projection_negative_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_negative_cell))) * nc)) /\ exists ff_q_mdm_mce_record_projection_negative_cell_source. nb = ff_q_mdm_mce_record_projection_negative_cell_source * S ((S ((ff_row_mdm_cell_mce_record_projection_negative_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_negative_cell))) * nc) + (ff_value_mdm_prefix_mce_record_projection_negative)))))) /\ (((exists ff_h_mdm_mce_record_projection_negative_target. ff_h_mdm_mce_record_projection_negative_target + S (ff_value_mdm_prefix_mce_record_projection_negative) = S ((S (ff_index_mdm_prefix_mce_record_projection_negative)) * ut)) /\ exists ff_q_mdm_mce_record_projection_negative_target. un = ff_q_mdm_mce_record_projection_negative_target * S ((S (ff_index_mdm_prefix_mce_record_projection_negative)) * ut) + (ff_value_mdm_prefix_mce_record_projection_negative)))))))))
  15. 0015specialize beta_signed_matrix_minor_exists pb
  16. 0016specialize beta_signed_matrix_minor_exists pc
  17. 0017specialize beta_signed_matrix_minor_exists nb
  18. 0018specialize beta_signed_matrix_minor_exists nc
  19. 0019specialize beta_signed_matrix_minor_exists q
  20. 0020specialize beta_signed_matrix_minor_exists 0
  21. 0021specialize beta_signed_matrix_minor_exists j
  22. 0022apply beta_signed_matrix_minor_exists
  23. 0023exact hrow
  24. 0024exact hj
  25. 0025cases hminor
  26. 0026cases hminor_witness
  27. 0027cases hminor_witness_witness
  28. 0028cases hminor_witness_witness_witness
  29. 0029exists ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) * S ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) + ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))))
  30. 0030exists x
  31. 0031exists x1
  32. 0032exists x2
  33. 0033exists x3
  34. 0034split
  35. 0035refl
  36. 0036exact hminor_witness_witness_witness_witness

Separate complete second-wave branches: Full T13 proof · Alpha v27.