CE0005

signed_cofactor_minor_record_projects_minor

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

Every cofactor record projects an actual complete signed deleted-row/deleted-column matrix 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 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))))))))))) -> 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)))))))))

Constructive proof overview

Generated structural guide

Every cofactor record projects an actual complete signed deleted-row/deleted-column matrix minor.

The unchanged tactic script uses 0 declared prerequisites and contains 18 exact native proof lines.

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

Proof neighborhood

Direct dependencies

none

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

18 script commands · 4 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.

01Fix variables and assumptionsL1–8

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 z
  8. L8
    intro hrecord
02Separate the logical casesL9–13

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

  1. L9
    cases hrecord
  2. L10
    cases hrecord_witness
  3. L11
    cases hrecord_witness_witness
  4. L12
    cases hrecord_witness_witness_witness
  5. L13
    cases hrecord_witness_witness_witness_witness
03Construct an explicit witnessL14–17

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

  1. L14
    exists x
  2. L15
    exists x1
  3. L16
    exists x2
  4. L17
    exists x3
04Use earlier factsL18–18

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

  1. L18
    exact hrecord_witness_witness_witness_witness_right

Library-wide reading audit

Original exact command ledger · 18 lines
  1. 0001intro pb
  2. 0002intro pc
  3. 0003intro nb
  4. 0004intro nc
  5. 0005intro q
  6. 0006intro j
  7. 0007intro z
  8. 0008intro hrecord
  9. 0009cases hrecord
  10. 0010cases hrecord_witness
  11. 0011cases hrecord_witness_witness
  12. 0012cases hrecord_witness_witness_witness
  13. 0013cases hrecord_witness_witness_witness_witness
  14. 0014exists x
  15. 0015exists x1
  16. 0016exists x2
  17. 0017exists x3
  18. 0018exact hrecord_witness_witness_witness_witness_right

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