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 ab ac bb bc eb ec fb fc ub uc vb vc Ub Uc Vb Vc q j. (forall ics_index_signed_minor_parent ics_value0_signed_minor_parent ics_value1_signed_minor_parent ics_value2_signed_minor_parent ics_value3_signed_minor_parent. (exists ics_gap_signed_minor_parent_bound. ics_gap_signed_minor_parent_bound + S (ics_index_signed_minor_parent) = ((S q) * (S q))) -> (((exists fs_h_ics_signed_minor_parent_at0. fs_h_ics_signed_minor_parent_at0 + S (ics_value0_signed_minor_parent) = S ((S (ics_index_signed_minor_parent)) * ac)) /\ exists fs_q_ics_signed_minor_parent_at0. ab = fs_q_ics_signed_minor_parent_at0 * S ((S (ics_index_signed_minor_parent)) * ac) + (ics_value0_signed_minor_parent))) -> (((exists fs_h_ics_signed_minor_parent_at1. fs_h_ics_signed_minor_parent_at1 + S (ics_value1_signed_minor_parent) = S ((S (ics_index_signed_minor_parent)) * bc)) /\ exists fs_q_ics_signed_minor_parent_at1. bb = fs_q_ics_signed_minor_parent_at1 * S ((S (ics_index_signed_minor_parent)) * bc) + (ics_value1_signed_minor_parent))) -> (((exists fs_h_ics_signed_minor_parent_at2. fs_h_ics_signed_minor_parent_at2 + S (ics_value2_signed_minor_parent) = S ((S (ics_index_signed_minor_parent)) * ec)) /\ exists fs_q_ics_signed_minor_parent_at2. eb = fs_q_ics_signed_minor_parent_at2 * S ((S (ics_index_signed_minor_parent)) * ec) + (ics_value2_signed_minor_parent))) -> (((exists fs_h_ics_signed_minor_parent_at3. fs_h_ics_signed_minor_parent_at3 + S (ics_value3_signed_minor_parent) = S ((S (ics_index_signed_minor_parent)) * fc)) /\ exists fs_q_ics_signed_minor_parent_at3. fb = fs_q_ics_signed_minor_parent_at3 * S ((S (ics_index_signed_minor_parent)) * fc) + (ics_value3_signed_minor_parent))) -> ics_value0_signed_minor_parent + ics_value3_signed_minor_parent = ics_value2_signed_minor_parent + ics_value1_signed_minor_parent) -> (((forall ff_index_mdm_prefix_mdr_signed_minor_first_positive. (exists ff_gap_mdm_lt_mdr_signed_minor_first_positive_index_bound. ff_gap_mdm_lt_mdr_signed_minor_first_positive_index_bound + S (ff_index_mdm_prefix_mdr_signed_minor_first_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_signed_minor_first_positive ff_column_mdm_prefix_mdr_signed_minor_first_positive ff_value_mdm_prefix_mdr_signed_minor_first_positive. (ff_index_mdm_prefix_mdr_signed_minor_first_positive = (q) * ff_row_mdm_prefix_mdr_signed_minor_first_positive + ff_column_mdm_prefix_mdr_signed_minor_first_positive /\ ((exists ff_gap_mdm_lt_mdr_signed_minor_first_positive_column_bound. ff_gap_mdm_lt_mdr_signed_minor_first_positive_column_bound + S (ff_column_mdm_prefix_mdr_signed_minor_first_positive) = (q)) /\ ((exists ff_row_mdm_cell_mdr_signed_minor_first_positive_cell ff_column_mdm_cell_mdr_signed_minor_first_positive_cell. (((((exists ff_gap_mdm_lt_mdr_signed_minor_first_positive_cell_row_before. ff_gap_mdm_lt_mdr_signed_minor_first_positive_cell_row_before + S (ff_row_mdm_prefix_mdr_signed_minor_first_positive) = (0)) /\ ff_row_mdm_cell_mdr_signed_minor_first_positive_cell = ff_row_mdm_prefix_mdr_signed_minor_first_positive) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_first_positive_cell_row_after. ff_gap_mdm_le_mdr_signed_minor_first_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_signed_minor_first_positive)) /\ ff_row_mdm_cell_mdr_signed_minor_first_positive_cell = S ff_row_mdm_prefix_mdr_signed_minor_first_positive))) /\ (((((exists ff_gap_mdm_lt_mdr_signed_minor_first_positive_cell_column_before. ff_gap_mdm_lt_mdr_signed_minor_first_positive_cell_column_before + S (ff_column_mdm_prefix_mdr_signed_minor_first_positive) = (j)) /\ ff_column_mdm_cell_mdr_signed_minor_first_positive_cell = ff_column_mdm_prefix_mdr_signed_minor_first_positive) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_first_positive_cell_column_after. ff_gap_mdm_le_mdr_signed_minor_first_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_signed_minor_first_positive)) /\ ff_column_mdm_cell_mdr_signed_minor_first_positive_cell = S ff_column_mdm_prefix_mdr_signed_minor_first_positive))) /\ (((exists ff_h_mdm_mdr_signed_minor_first_positive_cell_source. ff_h_mdm_mdr_signed_minor_first_positive_cell_source + S (ff_value_mdm_prefix_mdr_signed_minor_first_positive) = S ((S ((ff_row_mdm_cell_mdr_signed_minor_first_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_first_positive_cell))) * ac)) /\ exists ff_q_mdm_mdr_signed_minor_first_positive_cell_source. ab = ff_q_mdm_mdr_signed_minor_first_positive_cell_source * S ((S ((ff_row_mdm_cell_mdr_signed_minor_first_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_first_positive_cell))) * ac) + (ff_value_mdm_prefix_mdr_signed_minor_first_positive)))))) /\ (((exists ff_h_mdm_mdr_signed_minor_first_positive_target. ff_h_mdm_mdr_signed_minor_first_positive_target + S (ff_value_mdm_prefix_mdr_signed_minor_first_positive) = S ((S (ff_index_mdm_prefix_mdr_signed_minor_first_positive)) * uc)) /\ exists ff_q_mdm_mdr_signed_minor_first_positive_target. ub = ff_q_mdm_mdr_signed_minor_first_positive_target * S ((S (ff_index_mdm_prefix_mdr_signed_minor_first_positive)) * uc) + (ff_value_mdm_prefix_mdr_signed_minor_first_positive))))))) /\ (forall ff_index_mdm_prefix_mdr_signed_minor_first_negative. (exists ff_gap_mdm_lt_mdr_signed_minor_first_negative_index_bound. ff_gap_mdm_lt_mdr_signed_minor_first_negative_index_bound + S (ff_index_mdm_prefix_mdr_signed_minor_first_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_signed_minor_first_negative ff_column_mdm_prefix_mdr_signed_minor_first_negative ff_value_mdm_prefix_mdr_signed_minor_first_negative. (ff_index_mdm_prefix_mdr_signed_minor_first_negative = (q) * ff_row_mdm_prefix_mdr_signed_minor_first_negative + ff_column_mdm_prefix_mdr_signed_minor_first_negative /\ ((exists ff_gap_mdm_lt_mdr_signed_minor_first_negative_column_bound. ff_gap_mdm_lt_mdr_signed_minor_first_negative_column_bound + S (ff_column_mdm_prefix_mdr_signed_minor_first_negative) = (q)) /\ ((exists ff_row_mdm_cell_mdr_signed_minor_first_negative_cell ff_column_mdm_cell_mdr_signed_minor_first_negative_cell. (((((exists ff_gap_mdm_lt_mdr_signed_minor_first_negative_cell_row_before. ff_gap_mdm_lt_mdr_signed_minor_first_negative_cell_row_before + S (ff_row_mdm_prefix_mdr_signed_minor_first_negative) = (0)) /\ ff_row_mdm_cell_mdr_signed_minor_first_negative_cell = ff_row_mdm_prefix_mdr_signed_minor_first_negative) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_first_negative_cell_row_after. ff_gap_mdm_le_mdr_signed_minor_first_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_signed_minor_first_negative)) /\ ff_row_mdm_cell_mdr_signed_minor_first_negative_cell = S ff_row_mdm_prefix_mdr_signed_minor_first_negative))) /\ (((((exists ff_gap_mdm_lt_mdr_signed_minor_first_negative_cell_column_before. ff_gap_mdm_lt_mdr_signed_minor_first_negative_cell_column_before + S (ff_column_mdm_prefix_mdr_signed_minor_first_negative) = (j)) /\ ff_column_mdm_cell_mdr_signed_minor_first_negative_cell = ff_column_mdm_prefix_mdr_signed_minor_first_negative) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_first_negative_cell_column_after. ff_gap_mdm_le_mdr_signed_minor_first_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_signed_minor_first_negative)) /\ ff_column_mdm_cell_mdr_signed_minor_first_negative_cell = S ff_column_mdm_prefix_mdr_signed_minor_first_negative))) /\ (((exists ff_h_mdm_mdr_signed_minor_first_negative_cell_source. ff_h_mdm_mdr_signed_minor_first_negative_cell_source + S (ff_value_mdm_prefix_mdr_signed_minor_first_negative) = S ((S ((ff_row_mdm_cell_mdr_signed_minor_first_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_first_negative_cell))) * bc)) /\ exists ff_q_mdm_mdr_signed_minor_first_negative_cell_source. bb = ff_q_mdm_mdr_signed_minor_first_negative_cell_source * S ((S ((ff_row_mdm_cell_mdr_signed_minor_first_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_first_negative_cell))) * bc) + (ff_value_mdm_prefix_mdr_signed_minor_first_negative)))))) /\ (((exists ff_h_mdm_mdr_signed_minor_first_negative_target. ff_h_mdm_mdr_signed_minor_first_negative_target + S (ff_value_mdm_prefix_mdr_signed_minor_first_negative) = S ((S (ff_index_mdm_prefix_mdr_signed_minor_first_negative)) * vc)) /\ exists ff_q_mdm_mdr_signed_minor_first_negative_target. vb = ff_q_mdm_mdr_signed_minor_first_negative_target * S ((S (ff_index_mdm_prefix_mdr_signed_minor_first_negative)) * vc) + (ff_value_mdm_prefix_mdr_signed_minor_first_negative))))))))) -> (((forall ff_index_mdm_prefix_mdr_signed_minor_second_positive. (exists ff_gap_mdm_lt_mdr_signed_minor_second_positive_index_bound. ff_gap_mdm_lt_mdr_signed_minor_second_positive_index_bound + S (ff_index_mdm_prefix_mdr_signed_minor_second_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_signed_minor_second_positive ff_column_mdm_prefix_mdr_signed_minor_second_positive ff_value_mdm_prefix_mdr_signed_minor_second_positive. (ff_index_mdm_prefix_mdr_signed_minor_second_positive = (q) * ff_row_mdm_prefix_mdr_signed_minor_second_positive + ff_column_mdm_prefix_mdr_signed_minor_second_positive /\ ((exists ff_gap_mdm_lt_mdr_signed_minor_second_positive_column_bound. ff_gap_mdm_lt_mdr_signed_minor_second_positive_column_bound + S (ff_column_mdm_prefix_mdr_signed_minor_second_positive) = (q)) /\ ((exists ff_row_mdm_cell_mdr_signed_minor_second_positive_cell ff_column_mdm_cell_mdr_signed_minor_second_positive_cell. (((((exists ff_gap_mdm_lt_mdr_signed_minor_second_positive_cell_row_before. ff_gap_mdm_lt_mdr_signed_minor_second_positive_cell_row_before + S (ff_row_mdm_prefix_mdr_signed_minor_second_positive) = (0)) /\ ff_row_mdm_cell_mdr_signed_minor_second_positive_cell = ff_row_mdm_prefix_mdr_signed_minor_second_positive) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_second_positive_cell_row_after. ff_gap_mdm_le_mdr_signed_minor_second_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_signed_minor_second_positive)) /\ ff_row_mdm_cell_mdr_signed_minor_second_positive_cell = S ff_row_mdm_prefix_mdr_signed_minor_second_positive))) /\ (((((exists ff_gap_mdm_lt_mdr_signed_minor_second_positive_cell_column_before. ff_gap_mdm_lt_mdr_signed_minor_second_positive_cell_column_before + S (ff_column_mdm_prefix_mdr_signed_minor_second_positive) = (j)) /\ ff_column_mdm_cell_mdr_signed_minor_second_positive_cell = ff_column_mdm_prefix_mdr_signed_minor_second_positive) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_second_positive_cell_column_after. ff_gap_mdm_le_mdr_signed_minor_second_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_signed_minor_second_positive)) /\ ff_column_mdm_cell_mdr_signed_minor_second_positive_cell = S ff_column_mdm_prefix_mdr_signed_minor_second_positive))) /\ (((exists ff_h_mdm_mdr_signed_minor_second_positive_cell_source. ff_h_mdm_mdr_signed_minor_second_positive_cell_source + S (ff_value_mdm_prefix_mdr_signed_minor_second_positive) = S ((S ((ff_row_mdm_cell_mdr_signed_minor_second_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_second_positive_cell))) * ec)) /\ exists ff_q_mdm_mdr_signed_minor_second_positive_cell_source. eb = ff_q_mdm_mdr_signed_minor_second_positive_cell_source * S ((S ((ff_row_mdm_cell_mdr_signed_minor_second_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_second_positive_cell))) * ec) + (ff_value_mdm_prefix_mdr_signed_minor_second_positive)))))) /\ (((exists ff_h_mdm_mdr_signed_minor_second_positive_target. ff_h_mdm_mdr_signed_minor_second_positive_target + S (ff_value_mdm_prefix_mdr_signed_minor_second_positive) = S ((S (ff_index_mdm_prefix_mdr_signed_minor_second_positive)) * Uc)) /\ exists ff_q_mdm_mdr_signed_minor_second_positive_target. Ub = ff_q_mdm_mdr_signed_minor_second_positive_target * S ((S (ff_index_mdm_prefix_mdr_signed_minor_second_positive)) * Uc) + (ff_value_mdm_prefix_mdr_signed_minor_second_positive))))))) /\ (forall ff_index_mdm_prefix_mdr_signed_minor_second_negative. (exists ff_gap_mdm_lt_mdr_signed_minor_second_negative_index_bound. ff_gap_mdm_lt_mdr_signed_minor_second_negative_index_bound + S (ff_index_mdm_prefix_mdr_signed_minor_second_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_signed_minor_second_negative ff_column_mdm_prefix_mdr_signed_minor_second_negative ff_value_mdm_prefix_mdr_signed_minor_second_negative. (ff_index_mdm_prefix_mdr_signed_minor_second_negative = (q) * ff_row_mdm_prefix_mdr_signed_minor_second_negative + ff_column_mdm_prefix_mdr_signed_minor_second_negative /\ ((exists ff_gap_mdm_lt_mdr_signed_minor_second_negative_column_bound. ff_gap_mdm_lt_mdr_signed_minor_second_negative_column_bound + S (ff_column_mdm_prefix_mdr_signed_minor_second_negative) = (q)) /\ ((exists ff_row_mdm_cell_mdr_signed_minor_second_negative_cell ff_column_mdm_cell_mdr_signed_minor_second_negative_cell. (((((exists ff_gap_mdm_lt_mdr_signed_minor_second_negative_cell_row_before. ff_gap_mdm_lt_mdr_signed_minor_second_negative_cell_row_before + S (ff_row_mdm_prefix_mdr_signed_minor_second_negative) = (0)) /\ ff_row_mdm_cell_mdr_signed_minor_second_negative_cell = ff_row_mdm_prefix_mdr_signed_minor_second_negative) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_second_negative_cell_row_after. ff_gap_mdm_le_mdr_signed_minor_second_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_signed_minor_second_negative)) /\ ff_row_mdm_cell_mdr_signed_minor_second_negative_cell = S ff_row_mdm_prefix_mdr_signed_minor_second_negative))) /\ (((((exists ff_gap_mdm_lt_mdr_signed_minor_second_negative_cell_column_before. ff_gap_mdm_lt_mdr_signed_minor_second_negative_cell_column_before + S (ff_column_mdm_prefix_mdr_signed_minor_second_negative) = (j)) /\ ff_column_mdm_cell_mdr_signed_minor_second_negative_cell = ff_column_mdm_prefix_mdr_signed_minor_second_negative) \/ ((exists ff_gap_mdm_le_mdr_signed_minor_second_negative_cell_column_after. ff_gap_mdm_le_mdr_signed_minor_second_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_signed_minor_second_negative)) /\ ff_column_mdm_cell_mdr_signed_minor_second_negative_cell = S ff_column_mdm_prefix_mdr_signed_minor_second_negative))) /\ (((exists ff_h_mdm_mdr_signed_minor_second_negative_cell_source. ff_h_mdm_mdr_signed_minor_second_negative_cell_source + S (ff_value_mdm_prefix_mdr_signed_minor_second_negative) = S ((S ((ff_row_mdm_cell_mdr_signed_minor_second_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_second_negative_cell))) * fc)) /\ exists ff_q_mdm_mdr_signed_minor_second_negative_cell_source. fb = ff_q_mdm_mdr_signed_minor_second_negative_cell_source * S ((S ((ff_row_mdm_cell_mdr_signed_minor_second_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_signed_minor_second_negative_cell))) * fc) + (ff_value_mdm_prefix_mdr_signed_minor_second_negative)))))) /\ (((exists ff_h_mdm_mdr_signed_minor_second_negative_target. ff_h_mdm_mdr_signed_minor_second_negative_target + S (ff_value_mdm_prefix_mdr_signed_minor_second_negative) = S ((S (ff_index_mdm_prefix_mdr_signed_minor_second_negative)) * Vc)) /\ exists ff_q_mdm_mdr_signed_minor_second_negative_target. Vb = ff_q_mdm_mdr_signed_minor_second_negative_target * S ((S (ff_index_mdm_prefix_mdr_signed_minor_second_negative)) * Vc) + (ff_value_mdm_prefix_mdr_signed_minor_second_negative))))))))) -> (forall ics_index_signed_minor_equal ics_value0_signed_minor_equal ics_value1_signed_minor_equal ics_value2_signed_minor_equal ics_value3_signed_minor_equal. (exists ics_gap_signed_minor_equal_bound. ics_gap_signed_minor_equal_bound + S (ics_index_signed_minor_equal) = ((q) * (q))) -> (((exists fs_h_ics_signed_minor_equal_at0. fs_h_ics_signed_minor_equal_at0 + S (ics_value0_signed_minor_equal) = S ((S (ics_index_signed_minor_equal)) * uc)) /\ exists fs_q_ics_signed_minor_equal_at0. ub = fs_q_ics_signed_minor_equal_at0 * S ((S (ics_index_signed_minor_equal)) * uc) + (ics_value0_signed_minor_equal))) -> (((exists fs_h_ics_signed_minor_equal_at1. fs_h_ics_signed_minor_equal_at1 + S (ics_value1_signed_minor_equal) = S ((S (ics_index_signed_minor_equal)) * vc)) /\ exists fs_q_ics_signed_minor_equal_at1. vb = fs_q_ics_signed_minor_equal_at1 * S ((S (ics_index_signed_minor_equal)) * vc) + (ics_value1_signed_minor_equal))) -> (((exists fs_h_ics_signed_minor_equal_at2. fs_h_ics_signed_minor_equal_at2 + S (ics_value2_signed_minor_equal) = S ((S (ics_index_signed_minor_equal)) * Uc)) /\ exists fs_q_ics_signed_minor_equal_at2. Ub = fs_q_ics_signed_minor_equal_at2 * S ((S (ics_index_signed_minor_equal)) * Uc) + (ics_value2_signed_minor_equal))) -> (((exists fs_h_ics_signed_minor_equal_at3. fs_h_ics_signed_minor_equal_at3 + S (ics_value3_signed_minor_equal) = S ((S (ics_index_signed_minor_equal)) * Vc)) /\ exists fs_q_ics_signed_minor_equal_at3. Vb = fs_q_ics_signed_minor_equal_at3 * S ((S (ics_index_signed_minor_equal)) * Vc) + (ics_value3_signed_minor_equal))) -> ics_value0_signed_minor_equal + ics_value3_signed_minor_equal = ics_value2_signed_minor_equal + ics_value1_signed_minor_equal)Constructive proof overview
Generated structural guide
Genuine cofactor minors of integer-equal matrices are integer-equal, even when every positive/negative code and representative differs.
The unchanged tactic script uses 5 declared prerequisites and contains 140 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
DL0090 matrix_integer_square_index_width_nonzero division_remainder_exists Stable theorem; checked-use authorized DL001B matrix_recursive_quotient_row_bound DL008F matrix_integer_minor_prefix_cell_at_coordinates DL008E matrix_integer_minor_cell_balanceDirect 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–21
Work with arbitrary variables or the premises of the current implication.
- L21
intro hsecond
04Separate the logical casesL22–23
05Fix variables and assumptionsL24–33
06Establish hqL34–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix integer square index width nonzero.
07Establish hcoordinatesL41–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
08Separate the logical casesL46–48
09Establish hrowL49–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix recursive quotient row bound.
- L49
have hrow : exists mdr_gap_minor_common_row. mdr_gap_minor_common_row + S (x) = (q) - L50
specialize matrix_recursive_quotient_row_bound (q) - L51
specialize matrix_recursive_quotient_row_bound (i) - L52
specialize matrix_recursive_quotient_row_bound (x) - L53
specialize matrix_recursive_quotient_row_bound (x1) - L54
apply matrix_recursive_quotient_row_bound - L55
exact hcoordinates_witness_witness_left - L56
exact hi - L57
specialize matrix_integer_minor_cell_balance (ab) - L58
specialize matrix_integer_minor_cell_balance (ac)
10Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
specialize matrix_integer_minor_cell_balance (bb) - L60
specialize matrix_integer_minor_cell_balance (bc) - L61
specialize matrix_integer_minor_cell_balance (eb) - L62
specialize matrix_integer_minor_cell_balance (ec) - L63
specialize matrix_integer_minor_cell_balance (fb) - L64
specialize matrix_integer_minor_cell_balance (fc) - L65
specialize matrix_integer_minor_cell_balance (q) - L66
specialize matrix_integer_minor_cell_balance (j) - L67
specialize matrix_integer_minor_cell_balance (x) - L68
specialize matrix_integer_minor_cell_balance (x1)
11Use earlier factsL69–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize matrix_integer_minor_cell_balance (a) - L70
specialize matrix_integer_minor_cell_balance (b) - L71
specialize matrix_integer_minor_cell_balance (c) - L72
specialize matrix_integer_minor_cell_balance (d) - L73
apply matrix_integer_minor_cell_balance - L74
exact hequal - L75
exact hrow - L76
exact hcoordinates_witness_witness_right - L77
specialize matrix_integer_minor_prefix_cell_at_coordinates (ab) - L78
specialize matrix_integer_minor_prefix_cell_at_coordinates (ac)
12Use earlier factsL79–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L79
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - L80
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - L81
specialize matrix_integer_minor_prefix_cell_at_coordinates (ub) - L82
specialize matrix_integer_minor_prefix_cell_at_coordinates (uc) - L83
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - L84
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - L85
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - L86
specialize matrix_integer_minor_prefix_cell_at_coordinates (a) - L87
apply matrix_integer_minor_prefix_cell_at_coordinates - L88
exact hfirst_left
13Use earlier factsL89–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hi - L90
exact hcoordinates_witness_witness_left - L91
exact hcoordinates_witness_witness_right - L92
exact ha - L93
specialize matrix_integer_minor_prefix_cell_at_coordinates (bb) - L94
specialize matrix_integer_minor_prefix_cell_at_coordinates (bc) - L95
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - L96
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - L97
specialize matrix_integer_minor_prefix_cell_at_coordinates (vb) - L98
specialize matrix_integer_minor_prefix_cell_at_coordinates (vc)
14Use earlier factsL99–108
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L99
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - L100
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - L101
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - L102
specialize matrix_integer_minor_prefix_cell_at_coordinates (b) - L103
apply matrix_integer_minor_prefix_cell_at_coordinates - L104
exact hfirst_right - L105
exact hi - L106
exact hcoordinates_witness_witness_left - L107
exact hcoordinates_witness_witness_right - L108
exact hb
15Use earlier factsL109–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L109
specialize matrix_integer_minor_prefix_cell_at_coordinates (eb) - L110
specialize matrix_integer_minor_prefix_cell_at_coordinates (ec) - L111
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - L112
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - L113
specialize matrix_integer_minor_prefix_cell_at_coordinates (Ub) - L114
specialize matrix_integer_minor_prefix_cell_at_coordinates (Uc) - L115
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - L116
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - L117
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - L118
specialize matrix_integer_minor_prefix_cell_at_coordinates (c)
16Use earlier factsL119–128
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
apply matrix_integer_minor_prefix_cell_at_coordinates - L120
exact hsecond_left - L121
exact hi - L122
exact hcoordinates_witness_witness_left - L123
exact hcoordinates_witness_witness_right - L124
exact hc - L125
specialize matrix_integer_minor_prefix_cell_at_coordinates (fb) - L126
specialize matrix_integer_minor_prefix_cell_at_coordinates (fc) - L127
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - L128
specialize matrix_integer_minor_prefix_cell_at_coordinates (j)
17Use earlier factsL129–138
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
specialize matrix_integer_minor_prefix_cell_at_coordinates (Vb) - L130
specialize matrix_integer_minor_prefix_cell_at_coordinates (Vc) - L131
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - L132
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - L133
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - L134
specialize matrix_integer_minor_prefix_cell_at_coordinates (d) - L135
apply matrix_integer_minor_prefix_cell_at_coordinates - L136
exact hsecond_right - L137
exact hi - L138
exact hcoordinates_witness_witness_left
Original exact command ledger · 140 lines
- 0001
intro ab - 0002
intro ac - 0003
intro bb - 0004
intro bc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
intro ub - 0010
intro uc - 0011
intro vb - 0012
intro vc - 0013
intro Ub - 0014
intro Uc - 0015
intro Vb - 0016
intro Vc - 0017
intro q - 0018
intro j - 0019
intro hequal - 0020
intro hfirst - 0021
intro hsecond - 0022
cases hfirst - 0023
cases hsecond - 0024
intro i - 0025
intro a - 0026
intro b - 0027
intro c - 0028
intro d - 0029
intro hi - 0030
intro ha - 0031
intro hb - 0032
intro hc - 0033
intro hd - 0034
have hq : ~(q = 0) - 0035
intro hzero - 0036
specialize matrix_integer_square_index_width_nonzero (q) - 0037
specialize matrix_integer_square_index_width_nonzero (i) - 0038
apply matrix_integer_square_index_width_nonzero - 0039
exact hi - 0040
exact hzero - 0041
have hcoordinates : exists r s. i = q * r + s /\ (exists mdr_gap_minor_common_col. mdr_gap_minor_common_col + S (s) = (q)) - 0042
specialize division_remainder_exists (q) - 0043
specialize division_remainder_exists (i) - 0044
apply division_remainder_exists - 0045
exact hq - 0046
cases hcoordinates - 0047
cases hcoordinates_witness - 0048
cases hcoordinates_witness_witness - 0049
have hrow : exists mdr_gap_minor_common_row. mdr_gap_minor_common_row + S (x) = (q) - 0050
specialize matrix_recursive_quotient_row_bound (q) - 0051
specialize matrix_recursive_quotient_row_bound (i) - 0052
specialize matrix_recursive_quotient_row_bound (x) - 0053
specialize matrix_recursive_quotient_row_bound (x1) - 0054
apply matrix_recursive_quotient_row_bound - 0055
exact hcoordinates_witness_witness_left - 0056
exact hi - 0057
specialize matrix_integer_minor_cell_balance (ab) - 0058
specialize matrix_integer_minor_cell_balance (ac) - 0059
specialize matrix_integer_minor_cell_balance (bb) - 0060
specialize matrix_integer_minor_cell_balance (bc) - 0061
specialize matrix_integer_minor_cell_balance (eb) - 0062
specialize matrix_integer_minor_cell_balance (ec) - 0063
specialize matrix_integer_minor_cell_balance (fb) - 0064
specialize matrix_integer_minor_cell_balance (fc) - 0065
specialize matrix_integer_minor_cell_balance (q) - 0066
specialize matrix_integer_minor_cell_balance (j) - 0067
specialize matrix_integer_minor_cell_balance (x) - 0068
specialize matrix_integer_minor_cell_balance (x1) - 0069
specialize matrix_integer_minor_cell_balance (a) - 0070
specialize matrix_integer_minor_cell_balance (b) - 0071
specialize matrix_integer_minor_cell_balance (c) - 0072
specialize matrix_integer_minor_cell_balance (d) - 0073
apply matrix_integer_minor_cell_balance - 0074
exact hequal - 0075
exact hrow - 0076
exact hcoordinates_witness_witness_right - 0077
specialize matrix_integer_minor_prefix_cell_at_coordinates (ab) - 0078
specialize matrix_integer_minor_prefix_cell_at_coordinates (ac) - 0079
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - 0080
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - 0081
specialize matrix_integer_minor_prefix_cell_at_coordinates (ub) - 0082
specialize matrix_integer_minor_prefix_cell_at_coordinates (uc) - 0083
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - 0084
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - 0085
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - 0086
specialize matrix_integer_minor_prefix_cell_at_coordinates (a) - 0087
apply matrix_integer_minor_prefix_cell_at_coordinates - 0088
exact hfirst_left - 0089
exact hi - 0090
exact hcoordinates_witness_witness_left - 0091
exact hcoordinates_witness_witness_right - 0092
exact ha - 0093
specialize matrix_integer_minor_prefix_cell_at_coordinates (bb) - 0094
specialize matrix_integer_minor_prefix_cell_at_coordinates (bc) - 0095
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - 0096
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - 0097
specialize matrix_integer_minor_prefix_cell_at_coordinates (vb) - 0098
specialize matrix_integer_minor_prefix_cell_at_coordinates (vc) - 0099
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - 0100
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - 0101
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - 0102
specialize matrix_integer_minor_prefix_cell_at_coordinates (b) - 0103
apply matrix_integer_minor_prefix_cell_at_coordinates - 0104
exact hfirst_right - 0105
exact hi - 0106
exact hcoordinates_witness_witness_left - 0107
exact hcoordinates_witness_witness_right - 0108
exact hb - 0109
specialize matrix_integer_minor_prefix_cell_at_coordinates (eb) - 0110
specialize matrix_integer_minor_prefix_cell_at_coordinates (ec) - 0111
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - 0112
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - 0113
specialize matrix_integer_minor_prefix_cell_at_coordinates (Ub) - 0114
specialize matrix_integer_minor_prefix_cell_at_coordinates (Uc) - 0115
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - 0116
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - 0117
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - 0118
specialize matrix_integer_minor_prefix_cell_at_coordinates (c) - 0119
apply matrix_integer_minor_prefix_cell_at_coordinates - 0120
exact hsecond_left - 0121
exact hi - 0122
exact hcoordinates_witness_witness_left - 0123
exact hcoordinates_witness_witness_right - 0124
exact hc - 0125
specialize matrix_integer_minor_prefix_cell_at_coordinates (fb) - 0126
specialize matrix_integer_minor_prefix_cell_at_coordinates (fc) - 0127
specialize matrix_integer_minor_prefix_cell_at_coordinates (q) - 0128
specialize matrix_integer_minor_prefix_cell_at_coordinates (j) - 0129
specialize matrix_integer_minor_prefix_cell_at_coordinates (Vb) - 0130
specialize matrix_integer_minor_prefix_cell_at_coordinates (Vc) - 0131
specialize matrix_integer_minor_prefix_cell_at_coordinates (i) - 0132
specialize matrix_integer_minor_prefix_cell_at_coordinates (x) - 0133
specialize matrix_integer_minor_prefix_cell_at_coordinates (x1) - 0134
specialize matrix_integer_minor_prefix_cell_at_coordinates (d) - 0135
apply matrix_integer_minor_prefix_cell_at_coordinates - 0136
exact hsecond_right - 0137
exact hi - 0138
exact hcoordinates_witness_witness_left - 0139
exact hcoordinates_witness_witness_right - 0140
exact hd