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 b c w r d q l. ~(q = 0) -> exists u v. (forall ff_index_mdm_prefix_prefix_result. (exists ff_gap_mdm_lt_prefix_result_index_bound. ff_gap_mdm_lt_prefix_result_index_bound + S (ff_index_mdm_prefix_prefix_result) = (l)) -> exists ff_row_mdm_prefix_prefix_result ff_column_mdm_prefix_prefix_result ff_value_mdm_prefix_prefix_result. (ff_index_mdm_prefix_prefix_result = (q) * ff_row_mdm_prefix_prefix_result + ff_column_mdm_prefix_prefix_result /\ ((exists ff_gap_mdm_lt_prefix_result_column_bound. ff_gap_mdm_lt_prefix_result_column_bound + S (ff_column_mdm_prefix_prefix_result) = (q)) /\ ((exists ff_row_mdm_cell_prefix_result_cell ff_column_mdm_cell_prefix_result_cell. (((((exists ff_gap_mdm_lt_prefix_result_cell_row_before. ff_gap_mdm_lt_prefix_result_cell_row_before + S (ff_row_mdm_prefix_prefix_result) = (r)) /\ ff_row_mdm_cell_prefix_result_cell = ff_row_mdm_prefix_prefix_result) \/ ((exists ff_gap_mdm_le_prefix_result_cell_row_after. ff_gap_mdm_le_prefix_result_cell_row_after + (r) = (ff_row_mdm_prefix_prefix_result)) /\ ff_row_mdm_cell_prefix_result_cell = S ff_row_mdm_prefix_prefix_result))) /\ (((((exists ff_gap_mdm_lt_prefix_result_cell_column_before. ff_gap_mdm_lt_prefix_result_cell_column_before + S (ff_column_mdm_prefix_prefix_result) = (d)) /\ ff_column_mdm_cell_prefix_result_cell = ff_column_mdm_prefix_prefix_result) \/ ((exists ff_gap_mdm_le_prefix_result_cell_column_after. ff_gap_mdm_le_prefix_result_cell_column_after + (d) = (ff_column_mdm_prefix_prefix_result)) /\ ff_column_mdm_cell_prefix_result_cell = S ff_column_mdm_prefix_prefix_result))) /\ (((exists ff_h_mdm_prefix_result_cell_source. ff_h_mdm_prefix_result_cell_source + S (ff_value_mdm_prefix_prefix_result) = S ((S ((ff_row_mdm_cell_prefix_result_cell) * (w) + (ff_column_mdm_cell_prefix_result_cell))) * c)) /\ exists ff_q_mdm_prefix_result_cell_source. b = ff_q_mdm_prefix_result_cell_source * S ((S ((ff_row_mdm_cell_prefix_result_cell) * (w) + (ff_column_mdm_cell_prefix_result_cell))) * c) + (ff_value_mdm_prefix_prefix_result)))))) /\ (((exists ff_h_mdm_prefix_result_target. ff_h_mdm_prefix_result_target + S (ff_value_mdm_prefix_prefix_result) = S ((S (ff_index_mdm_prefix_prefix_result)) * v)) /\ exists ff_q_mdm_prefix_result_target. u = ff_q_mdm_prefix_result_target * S ((S (ff_index_mdm_prefix_prefix_result)) * v) + (ff_value_mdm_prefix_prefix_result)))))))Constructive proof overview
Generated structural guide
Every finite prefix of a nonempty arbitrary-dimensional cofactor minor has one complete beta code.
The unchanged tactic script uses 4 declared prerequisites and contains 50 exact native proof lines.
Alpha v34 checked-use · first admitted v24 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
add_eq_zero_right Stable theorem; checked-use authorized succ_ne_zero Stable theorem; checked-use authorized MN0007 beta_matrix_minor_point_exists MN0008 beta_matrix_minor_prefix_extendDirect 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
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.
Named ingredients (2)
01Fix variables and assumptionsL1–6
02Induction on lL7–8
03Construct an explicit witnessL9–10
04Fix variables and assumptionsL11–12
05Separate the logical casesL13–14
06Establish hzeroL15–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
07Establish hpreviousL24–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L24
have hprevious : ∃ u. ∃ v. MatrixMinorPrefix(b,c,w,r,d,u,v,q,l)Definitions: MatrixMinorPrefix - L25
apply IH - L26
exact hq
08Separate the logical casesL27–28
09Establish hpointL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta matrix minor point exists.
- L29
have hpoint : ∃ ff_row_mdm_point_exists_have_point. ∃ ff_column_mdm_point_exists_have_point. ∃ ff_value_mdm_point_exists_have_point. l = q · ff_row_mdm_point_exists_have_point + ff_column_mdm_point_exists_have_point ∧ (Lt(ff_column_mdm_point_exists_have_point,q) ∧ MatrixMinorCell(b,c,w,r,d,ff_row_mdm_point_exists_have_point,ff_column_mdm_point_exists_have_point,ff_value_mdm_point_exists_have_point))Definitions: MatrixMinorCellLt - L30
specialize beta_matrix_minor_point_exists b - L31
specialize beta_matrix_minor_point_exists c - L32
specialize beta_matrix_minor_point_exists w - L33
specialize beta_matrix_minor_point_exists r - L34
specialize beta_matrix_minor_point_exists d - L35
specialize beta_matrix_minor_point_exists q - L36
specialize beta_matrix_minor_point_exists l - L37
apply beta_matrix_minor_point_exists - L38
exact hq
10Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize beta_matrix_minor_prefix_extend b - L40
specialize beta_matrix_minor_prefix_extend c - L41
specialize beta_matrix_minor_prefix_extend w - L42
specialize beta_matrix_minor_prefix_extend r - L43
specialize beta_matrix_minor_prefix_extend d - L44
specialize beta_matrix_minor_prefix_extend x - L45
specialize beta_matrix_minor_prefix_extend x1 - L46
specialize beta_matrix_minor_prefix_extend q - L47
specialize beta_matrix_minor_prefix_extend l - L48
apply beta_matrix_minor_prefix_extend
Original exact command ledger · 50 lines
- 0001
intro b - 0002
intro c - 0003
intro w - 0004
intro r - 0005
intro d - 0006
intro q - 0007
induction l - 0008
intro hq - 0009
exists 0 - 0010
exists 0 - 0011
intro k - 0012
intro hk - 0013
exfalso - 0014
cases hk - 0015
have hzero : S k = 0 - 0016
specialize add_eq_zero_right x - 0017
specialize add_eq_zero_right (S k) - 0018
apply add_eq_zero_right - 0019
exact hk_witness - 0020
specialize succ_ne_zero k - 0021
apply succ_ne_zero - 0022
exact hzero - 0023
intro hq - 0024
have hprevious : exists u v. (forall ff_index_mdm_prefix_prefix_previous. (exists ff_gap_mdm_lt_prefix_previous_index_bound. ff_gap_mdm_lt_prefix_previous_index_bound + S (ff_index_mdm_prefix_prefix_previous) = (l)) -> exists ff_row_mdm_prefix_prefix_previous ff_column_mdm_prefix_prefix_previous ff_value_mdm_prefix_prefix_previous. (ff_index_mdm_prefix_prefix_previous = (q) * ff_row_mdm_prefix_prefix_previous + ff_column_mdm_prefix_prefix_previous /\ ((exists ff_gap_mdm_lt_prefix_previous_column_bound. ff_gap_mdm_lt_prefix_previous_column_bound + S (ff_column_mdm_prefix_prefix_previous) = (q)) /\ ((exists ff_row_mdm_cell_prefix_previous_cell ff_column_mdm_cell_prefix_previous_cell. (((((exists ff_gap_mdm_lt_prefix_previous_cell_row_before. ff_gap_mdm_lt_prefix_previous_cell_row_before + S (ff_row_mdm_prefix_prefix_previous) = (r)) /\ ff_row_mdm_cell_prefix_previous_cell = ff_row_mdm_prefix_prefix_previous) \/ ((exists ff_gap_mdm_le_prefix_previous_cell_row_after. ff_gap_mdm_le_prefix_previous_cell_row_after + (r) = (ff_row_mdm_prefix_prefix_previous)) /\ ff_row_mdm_cell_prefix_previous_cell = S ff_row_mdm_prefix_prefix_previous))) /\ (((((exists ff_gap_mdm_lt_prefix_previous_cell_column_before. ff_gap_mdm_lt_prefix_previous_cell_column_before + S (ff_column_mdm_prefix_prefix_previous) = (d)) /\ ff_column_mdm_cell_prefix_previous_cell = ff_column_mdm_prefix_prefix_previous) \/ ((exists ff_gap_mdm_le_prefix_previous_cell_column_after. ff_gap_mdm_le_prefix_previous_cell_column_after + (d) = (ff_column_mdm_prefix_prefix_previous)) /\ ff_column_mdm_cell_prefix_previous_cell = S ff_column_mdm_prefix_prefix_previous))) /\ (((exists ff_h_mdm_prefix_previous_cell_source. ff_h_mdm_prefix_previous_cell_source + S (ff_value_mdm_prefix_prefix_previous) = S ((S ((ff_row_mdm_cell_prefix_previous_cell) * (w) + (ff_column_mdm_cell_prefix_previous_cell))) * c)) /\ exists ff_q_mdm_prefix_previous_cell_source. b = ff_q_mdm_prefix_previous_cell_source * S ((S ((ff_row_mdm_cell_prefix_previous_cell) * (w) + (ff_column_mdm_cell_prefix_previous_cell))) * c) + (ff_value_mdm_prefix_prefix_previous)))))) /\ (((exists ff_h_mdm_prefix_previous_target. ff_h_mdm_prefix_previous_target + S (ff_value_mdm_prefix_prefix_previous) = S ((S (ff_index_mdm_prefix_prefix_previous)) * v)) /\ exists ff_q_mdm_prefix_previous_target. u = ff_q_mdm_prefix_previous_target * S ((S (ff_index_mdm_prefix_prefix_previous)) * v) + (ff_value_mdm_prefix_prefix_previous))))))) - 0025
apply IH - 0026
exact hq - 0027
cases hprevious - 0028
cases hprevious_witness - 0029
have hpoint : exists ff_row_mdm_point_exists_have_point ff_column_mdm_point_exists_have_point ff_value_mdm_point_exists_have_point. (l = (q) * ff_row_mdm_point_exists_have_point + ff_column_mdm_point_exists_have_point /\ ((exists ff_gap_mdm_lt_exists_have_point_column_bound. ff_gap_mdm_lt_exists_have_point_column_bound + S (ff_column_mdm_point_exists_have_point) = (q)) /\ (exists ff_row_mdm_cell_exists_have_point_cell ff_column_mdm_cell_exists_have_point_cell. (((((exists ff_gap_mdm_lt_exists_have_point_cell_row_before. ff_gap_mdm_lt_exists_have_point_cell_row_before + S (ff_row_mdm_point_exists_have_point) = (r)) /\ ff_row_mdm_cell_exists_have_point_cell = ff_row_mdm_point_exists_have_point) \/ ((exists ff_gap_mdm_le_exists_have_point_cell_row_after. ff_gap_mdm_le_exists_have_point_cell_row_after + (r) = (ff_row_mdm_point_exists_have_point)) /\ ff_row_mdm_cell_exists_have_point_cell = S ff_row_mdm_point_exists_have_point))) /\ (((((exists ff_gap_mdm_lt_exists_have_point_cell_column_before. ff_gap_mdm_lt_exists_have_point_cell_column_before + S (ff_column_mdm_point_exists_have_point) = (d)) /\ ff_column_mdm_cell_exists_have_point_cell = ff_column_mdm_point_exists_have_point) \/ ((exists ff_gap_mdm_le_exists_have_point_cell_column_after. ff_gap_mdm_le_exists_have_point_cell_column_after + (d) = (ff_column_mdm_point_exists_have_point)) /\ ff_column_mdm_cell_exists_have_point_cell = S ff_column_mdm_point_exists_have_point))) /\ (((exists ff_h_mdm_exists_have_point_cell_source. ff_h_mdm_exists_have_point_cell_source + S (ff_value_mdm_point_exists_have_point) = S ((S ((ff_row_mdm_cell_exists_have_point_cell) * (w) + (ff_column_mdm_cell_exists_have_point_cell))) * c)) /\ exists ff_q_mdm_exists_have_point_cell_source. b = ff_q_mdm_exists_have_point_cell_source * S ((S ((ff_row_mdm_cell_exists_have_point_cell) * (w) + (ff_column_mdm_cell_exists_have_point_cell))) * c) + (ff_value_mdm_point_exists_have_point)))))))) - 0030
specialize beta_matrix_minor_point_exists b - 0031
specialize beta_matrix_minor_point_exists c - 0032
specialize beta_matrix_minor_point_exists w - 0033
specialize beta_matrix_minor_point_exists r - 0034
specialize beta_matrix_minor_point_exists d - 0035
specialize beta_matrix_minor_point_exists q - 0036
specialize beta_matrix_minor_point_exists l - 0037
apply beta_matrix_minor_point_exists - 0038
exact hq - 0039
specialize beta_matrix_minor_prefix_extend b - 0040
specialize beta_matrix_minor_prefix_extend c - 0041
specialize beta_matrix_minor_prefix_extend w - 0042
specialize beta_matrix_minor_prefix_extend r - 0043
specialize beta_matrix_minor_prefix_extend d - 0044
specialize beta_matrix_minor_prefix_extend x - 0045
specialize beta_matrix_minor_prefix_extend x1 - 0046
specialize beta_matrix_minor_prefix_extend q - 0047
specialize beta_matrix_minor_prefix_extend l - 0048
apply beta_matrix_minor_prefix_extend - 0049
exact hprevious_witness_witness - 0050
exact hpoint
Separate complete second-wave branches: Full T13 proof · Alpha v27.