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 qb qc rb rc q j up us un ut vp vs vn vt. (((forall mdr_i_parent_equalp mdr_a_parent_equalp. (exists mdr_gap_parent_equalpb. mdr_gap_parent_equalpb + S (mdr_i_parent_equalp) = ((S q) * (S q))) -> (((exists ff_h_mdr_parent_equalpo. ff_h_mdr_parent_equalpo + S (mdr_a_parent_equalp) = S ((S (mdr_i_parent_equalp)) * pc)) /\ exists ff_q_mdr_parent_equalpo. pb = ff_q_mdr_parent_equalpo * S ((S (mdr_i_parent_equalp)) * pc) + (mdr_a_parent_equalp))) -> (((exists ff_h_mdr_parent_equalpn. ff_h_mdr_parent_equalpn + S (mdr_a_parent_equalp) = S ((S (mdr_i_parent_equalp)) * qc)) /\ exists ff_q_mdr_parent_equalpn. qb = ff_q_mdr_parent_equalpn * S ((S (mdr_i_parent_equalp)) * qc) + (mdr_a_parent_equalp)))) /\ (forall mdr_i_parent_equaln mdr_a_parent_equaln. (exists mdr_gap_parent_equalnb. mdr_gap_parent_equalnb + S (mdr_i_parent_equaln) = ((S q) * (S q))) -> (((exists ff_h_mdr_parent_equalno. ff_h_mdr_parent_equalno + S (mdr_a_parent_equaln) = S ((S (mdr_i_parent_equaln)) * nc)) /\ exists ff_q_mdr_parent_equalno. nb = ff_q_mdr_parent_equalno * S ((S (mdr_i_parent_equaln)) * nc) + (mdr_a_parent_equaln))) -> (((exists ff_h_mdr_parent_equalnn. ff_h_mdr_parent_equalnn + S (mdr_a_parent_equaln) = S ((S (mdr_i_parent_equaln)) * rc)) /\ exists ff_q_mdr_parent_equalnn. rb = ff_q_mdr_parent_equalnn * S ((S (mdr_i_parent_equaln)) * rc) + (mdr_a_parent_equaln)))))) -> (((forall ff_index_mdm_prefix_mdr_left_signed_minor_positive. (exists ff_gap_mdm_lt_mdr_left_signed_minor_positive_index_bound. ff_gap_mdm_lt_mdr_left_signed_minor_positive_index_bound + S (ff_index_mdm_prefix_mdr_left_signed_minor_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_left_signed_minor_positive ff_column_mdm_prefix_mdr_left_signed_minor_positive ff_value_mdm_prefix_mdr_left_signed_minor_positive. (ff_index_mdm_prefix_mdr_left_signed_minor_positive = (q) * ff_row_mdm_prefix_mdr_left_signed_minor_positive + ff_column_mdm_prefix_mdr_left_signed_minor_positive /\ ((exists ff_gap_mdm_lt_mdr_left_signed_minor_positive_column_bound. ff_gap_mdm_lt_mdr_left_signed_minor_positive_column_bound + S (ff_column_mdm_prefix_mdr_left_signed_minor_positive) = (q)) /\ ((exists ff_row_mdm_cell_mdr_left_signed_minor_positive_cell ff_column_mdm_cell_mdr_left_signed_minor_positive_cell. (((((exists ff_gap_mdm_lt_mdr_left_signed_minor_positive_cell_row_before. ff_gap_mdm_lt_mdr_left_signed_minor_positive_cell_row_before + S (ff_row_mdm_prefix_mdr_left_signed_minor_positive) = (0)) /\ ff_row_mdm_cell_mdr_left_signed_minor_positive_cell = ff_row_mdm_prefix_mdr_left_signed_minor_positive) \/ ((exists ff_gap_mdm_le_mdr_left_signed_minor_positive_cell_row_after. ff_gap_mdm_le_mdr_left_signed_minor_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_left_signed_minor_positive)) /\ ff_row_mdm_cell_mdr_left_signed_minor_positive_cell = S ff_row_mdm_prefix_mdr_left_signed_minor_positive))) /\ (((((exists ff_gap_mdm_lt_mdr_left_signed_minor_positive_cell_column_before. ff_gap_mdm_lt_mdr_left_signed_minor_positive_cell_column_before + S (ff_column_mdm_prefix_mdr_left_signed_minor_positive) = (j)) /\ ff_column_mdm_cell_mdr_left_signed_minor_positive_cell = ff_column_mdm_prefix_mdr_left_signed_minor_positive) \/ ((exists ff_gap_mdm_le_mdr_left_signed_minor_positive_cell_column_after. ff_gap_mdm_le_mdr_left_signed_minor_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_left_signed_minor_positive)) /\ ff_column_mdm_cell_mdr_left_signed_minor_positive_cell = S ff_column_mdm_prefix_mdr_left_signed_minor_positive))) /\ (((exists ff_h_mdm_mdr_left_signed_minor_positive_cell_source. ff_h_mdm_mdr_left_signed_minor_positive_cell_source + S (ff_value_mdm_prefix_mdr_left_signed_minor_positive) = S ((S ((ff_row_mdm_cell_mdr_left_signed_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_left_signed_minor_positive_cell))) * pc)) /\ exists ff_q_mdm_mdr_left_signed_minor_positive_cell_source. pb = ff_q_mdm_mdr_left_signed_minor_positive_cell_source * S ((S ((ff_row_mdm_cell_mdr_left_signed_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_left_signed_minor_positive_cell))) * pc) + (ff_value_mdm_prefix_mdr_left_signed_minor_positive)))))) /\ (((exists ff_h_mdm_mdr_left_signed_minor_positive_target. ff_h_mdm_mdr_left_signed_minor_positive_target + S (ff_value_mdm_prefix_mdr_left_signed_minor_positive) = S ((S (ff_index_mdm_prefix_mdr_left_signed_minor_positive)) * us)) /\ exists ff_q_mdm_mdr_left_signed_minor_positive_target. up = ff_q_mdm_mdr_left_signed_minor_positive_target * S ((S (ff_index_mdm_prefix_mdr_left_signed_minor_positive)) * us) + (ff_value_mdm_prefix_mdr_left_signed_minor_positive))))))) /\ (forall ff_index_mdm_prefix_mdr_left_signed_minor_negative. (exists ff_gap_mdm_lt_mdr_left_signed_minor_negative_index_bound. ff_gap_mdm_lt_mdr_left_signed_minor_negative_index_bound + S (ff_index_mdm_prefix_mdr_left_signed_minor_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_left_signed_minor_negative ff_column_mdm_prefix_mdr_left_signed_minor_negative ff_value_mdm_prefix_mdr_left_signed_minor_negative. (ff_index_mdm_prefix_mdr_left_signed_minor_negative = (q) * ff_row_mdm_prefix_mdr_left_signed_minor_negative + ff_column_mdm_prefix_mdr_left_signed_minor_negative /\ ((exists ff_gap_mdm_lt_mdr_left_signed_minor_negative_column_bound. ff_gap_mdm_lt_mdr_left_signed_minor_negative_column_bound + S (ff_column_mdm_prefix_mdr_left_signed_minor_negative) = (q)) /\ ((exists ff_row_mdm_cell_mdr_left_signed_minor_negative_cell ff_column_mdm_cell_mdr_left_signed_minor_negative_cell. (((((exists ff_gap_mdm_lt_mdr_left_signed_minor_negative_cell_row_before. ff_gap_mdm_lt_mdr_left_signed_minor_negative_cell_row_before + S (ff_row_mdm_prefix_mdr_left_signed_minor_negative) = (0)) /\ ff_row_mdm_cell_mdr_left_signed_minor_negative_cell = ff_row_mdm_prefix_mdr_left_signed_minor_negative) \/ ((exists ff_gap_mdm_le_mdr_left_signed_minor_negative_cell_row_after. ff_gap_mdm_le_mdr_left_signed_minor_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_left_signed_minor_negative)) /\ ff_row_mdm_cell_mdr_left_signed_minor_negative_cell = S ff_row_mdm_prefix_mdr_left_signed_minor_negative))) /\ (((((exists ff_gap_mdm_lt_mdr_left_signed_minor_negative_cell_column_before. ff_gap_mdm_lt_mdr_left_signed_minor_negative_cell_column_before + S (ff_column_mdm_prefix_mdr_left_signed_minor_negative) = (j)) /\ ff_column_mdm_cell_mdr_left_signed_minor_negative_cell = ff_column_mdm_prefix_mdr_left_signed_minor_negative) \/ ((exists ff_gap_mdm_le_mdr_left_signed_minor_negative_cell_column_after. ff_gap_mdm_le_mdr_left_signed_minor_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_left_signed_minor_negative)) /\ ff_column_mdm_cell_mdr_left_signed_minor_negative_cell = S ff_column_mdm_prefix_mdr_left_signed_minor_negative))) /\ (((exists ff_h_mdm_mdr_left_signed_minor_negative_cell_source. ff_h_mdm_mdr_left_signed_minor_negative_cell_source + S (ff_value_mdm_prefix_mdr_left_signed_minor_negative) = S ((S ((ff_row_mdm_cell_mdr_left_signed_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_left_signed_minor_negative_cell))) * nc)) /\ exists ff_q_mdm_mdr_left_signed_minor_negative_cell_source. nb = ff_q_mdm_mdr_left_signed_minor_negative_cell_source * S ((S ((ff_row_mdm_cell_mdr_left_signed_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_left_signed_minor_negative_cell))) * nc) + (ff_value_mdm_prefix_mdr_left_signed_minor_negative)))))) /\ (((exists ff_h_mdm_mdr_left_signed_minor_negative_target. ff_h_mdm_mdr_left_signed_minor_negative_target + S (ff_value_mdm_prefix_mdr_left_signed_minor_negative) = S ((S (ff_index_mdm_prefix_mdr_left_signed_minor_negative)) * ut)) /\ exists ff_q_mdm_mdr_left_signed_minor_negative_target. un = ff_q_mdm_mdr_left_signed_minor_negative_target * S ((S (ff_index_mdm_prefix_mdr_left_signed_minor_negative)) * ut) + (ff_value_mdm_prefix_mdr_left_signed_minor_negative))))))))) -> (((forall ff_index_mdm_prefix_mdr_right_signed_minor_positive. (exists ff_gap_mdm_lt_mdr_right_signed_minor_positive_index_bound. ff_gap_mdm_lt_mdr_right_signed_minor_positive_index_bound + S (ff_index_mdm_prefix_mdr_right_signed_minor_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_right_signed_minor_positive ff_column_mdm_prefix_mdr_right_signed_minor_positive ff_value_mdm_prefix_mdr_right_signed_minor_positive. (ff_index_mdm_prefix_mdr_right_signed_minor_positive = (q) * ff_row_mdm_prefix_mdr_right_signed_minor_positive + ff_column_mdm_prefix_mdr_right_signed_minor_positive /\ ((exists ff_gap_mdm_lt_mdr_right_signed_minor_positive_column_bound. ff_gap_mdm_lt_mdr_right_signed_minor_positive_column_bound + S (ff_column_mdm_prefix_mdr_right_signed_minor_positive) = (q)) /\ ((exists ff_row_mdm_cell_mdr_right_signed_minor_positive_cell ff_column_mdm_cell_mdr_right_signed_minor_positive_cell. (((((exists ff_gap_mdm_lt_mdr_right_signed_minor_positive_cell_row_before. ff_gap_mdm_lt_mdr_right_signed_minor_positive_cell_row_before + S (ff_row_mdm_prefix_mdr_right_signed_minor_positive) = (0)) /\ ff_row_mdm_cell_mdr_right_signed_minor_positive_cell = ff_row_mdm_prefix_mdr_right_signed_minor_positive) \/ ((exists ff_gap_mdm_le_mdr_right_signed_minor_positive_cell_row_after. ff_gap_mdm_le_mdr_right_signed_minor_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_right_signed_minor_positive)) /\ ff_row_mdm_cell_mdr_right_signed_minor_positive_cell = S ff_row_mdm_prefix_mdr_right_signed_minor_positive))) /\ (((((exists ff_gap_mdm_lt_mdr_right_signed_minor_positive_cell_column_before. ff_gap_mdm_lt_mdr_right_signed_minor_positive_cell_column_before + S (ff_column_mdm_prefix_mdr_right_signed_minor_positive) = (j)) /\ ff_column_mdm_cell_mdr_right_signed_minor_positive_cell = ff_column_mdm_prefix_mdr_right_signed_minor_positive) \/ ((exists ff_gap_mdm_le_mdr_right_signed_minor_positive_cell_column_after. ff_gap_mdm_le_mdr_right_signed_minor_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_right_signed_minor_positive)) /\ ff_column_mdm_cell_mdr_right_signed_minor_positive_cell = S ff_column_mdm_prefix_mdr_right_signed_minor_positive))) /\ (((exists ff_h_mdm_mdr_right_signed_minor_positive_cell_source. ff_h_mdm_mdr_right_signed_minor_positive_cell_source + S (ff_value_mdm_prefix_mdr_right_signed_minor_positive) = S ((S ((ff_row_mdm_cell_mdr_right_signed_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_right_signed_minor_positive_cell))) * qc)) /\ exists ff_q_mdm_mdr_right_signed_minor_positive_cell_source. qb = ff_q_mdm_mdr_right_signed_minor_positive_cell_source * S ((S ((ff_row_mdm_cell_mdr_right_signed_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdr_right_signed_minor_positive_cell))) * qc) + (ff_value_mdm_prefix_mdr_right_signed_minor_positive)))))) /\ (((exists ff_h_mdm_mdr_right_signed_minor_positive_target. ff_h_mdm_mdr_right_signed_minor_positive_target + S (ff_value_mdm_prefix_mdr_right_signed_minor_positive) = S ((S (ff_index_mdm_prefix_mdr_right_signed_minor_positive)) * vs)) /\ exists ff_q_mdm_mdr_right_signed_minor_positive_target. vp = ff_q_mdm_mdr_right_signed_minor_positive_target * S ((S (ff_index_mdm_prefix_mdr_right_signed_minor_positive)) * vs) + (ff_value_mdm_prefix_mdr_right_signed_minor_positive))))))) /\ (forall ff_index_mdm_prefix_mdr_right_signed_minor_negative. (exists ff_gap_mdm_lt_mdr_right_signed_minor_negative_index_bound. ff_gap_mdm_lt_mdr_right_signed_minor_negative_index_bound + S (ff_index_mdm_prefix_mdr_right_signed_minor_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdr_right_signed_minor_negative ff_column_mdm_prefix_mdr_right_signed_minor_negative ff_value_mdm_prefix_mdr_right_signed_minor_negative. (ff_index_mdm_prefix_mdr_right_signed_minor_negative = (q) * ff_row_mdm_prefix_mdr_right_signed_minor_negative + ff_column_mdm_prefix_mdr_right_signed_minor_negative /\ ((exists ff_gap_mdm_lt_mdr_right_signed_minor_negative_column_bound. ff_gap_mdm_lt_mdr_right_signed_minor_negative_column_bound + S (ff_column_mdm_prefix_mdr_right_signed_minor_negative) = (q)) /\ ((exists ff_row_mdm_cell_mdr_right_signed_minor_negative_cell ff_column_mdm_cell_mdr_right_signed_minor_negative_cell. (((((exists ff_gap_mdm_lt_mdr_right_signed_minor_negative_cell_row_before. ff_gap_mdm_lt_mdr_right_signed_minor_negative_cell_row_before + S (ff_row_mdm_prefix_mdr_right_signed_minor_negative) = (0)) /\ ff_row_mdm_cell_mdr_right_signed_minor_negative_cell = ff_row_mdm_prefix_mdr_right_signed_minor_negative) \/ ((exists ff_gap_mdm_le_mdr_right_signed_minor_negative_cell_row_after. ff_gap_mdm_le_mdr_right_signed_minor_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdr_right_signed_minor_negative)) /\ ff_row_mdm_cell_mdr_right_signed_minor_negative_cell = S ff_row_mdm_prefix_mdr_right_signed_minor_negative))) /\ (((((exists ff_gap_mdm_lt_mdr_right_signed_minor_negative_cell_column_before. ff_gap_mdm_lt_mdr_right_signed_minor_negative_cell_column_before + S (ff_column_mdm_prefix_mdr_right_signed_minor_negative) = (j)) /\ ff_column_mdm_cell_mdr_right_signed_minor_negative_cell = ff_column_mdm_prefix_mdr_right_signed_minor_negative) \/ ((exists ff_gap_mdm_le_mdr_right_signed_minor_negative_cell_column_after. ff_gap_mdm_le_mdr_right_signed_minor_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mdr_right_signed_minor_negative)) /\ ff_column_mdm_cell_mdr_right_signed_minor_negative_cell = S ff_column_mdm_prefix_mdr_right_signed_minor_negative))) /\ (((exists ff_h_mdm_mdr_right_signed_minor_negative_cell_source. ff_h_mdm_mdr_right_signed_minor_negative_cell_source + S (ff_value_mdm_prefix_mdr_right_signed_minor_negative) = S ((S ((ff_row_mdm_cell_mdr_right_signed_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_right_signed_minor_negative_cell))) * rc)) /\ exists ff_q_mdm_mdr_right_signed_minor_negative_cell_source. rb = ff_q_mdm_mdr_right_signed_minor_negative_cell_source * S ((S ((ff_row_mdm_cell_mdr_right_signed_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdr_right_signed_minor_negative_cell))) * rc) + (ff_value_mdm_prefix_mdr_right_signed_minor_negative)))))) /\ (((exists ff_h_mdm_mdr_right_signed_minor_negative_target. ff_h_mdm_mdr_right_signed_minor_negative_target + S (ff_value_mdm_prefix_mdr_right_signed_minor_negative) = S ((S (ff_index_mdm_prefix_mdr_right_signed_minor_negative)) * vt)) /\ exists ff_q_mdm_mdr_right_signed_minor_negative_target. vn = ff_q_mdm_mdr_right_signed_minor_negative_target * S ((S (ff_index_mdm_prefix_mdr_right_signed_minor_negative)) * vt) + (ff_value_mdm_prefix_mdr_right_signed_minor_negative))))))))) -> (((forall mdr_i_child_equalp mdr_a_child_equalp. (exists mdr_gap_child_equalpb. mdr_gap_child_equalpb + S (mdr_i_child_equalp) = ((q) * (q))) -> (((exists ff_h_mdr_child_equalpo. ff_h_mdr_child_equalpo + S (mdr_a_child_equalp) = S ((S (mdr_i_child_equalp)) * us)) /\ exists ff_q_mdr_child_equalpo. up = ff_q_mdr_child_equalpo * S ((S (mdr_i_child_equalp)) * us) + (mdr_a_child_equalp))) -> (((exists ff_h_mdr_child_equalpn. ff_h_mdr_child_equalpn + S (mdr_a_child_equalp) = S ((S (mdr_i_child_equalp)) * vs)) /\ exists ff_q_mdr_child_equalpn. vp = ff_q_mdr_child_equalpn * S ((S (mdr_i_child_equalp)) * vs) + (mdr_a_child_equalp)))) /\ (forall mdr_i_child_equaln mdr_a_child_equaln. (exists mdr_gap_child_equalnb. mdr_gap_child_equalnb + S (mdr_i_child_equaln) = ((q) * (q))) -> (((exists ff_h_mdr_child_equalno. ff_h_mdr_child_equalno + S (mdr_a_child_equaln) = S ((S (mdr_i_child_equaln)) * ut)) /\ exists ff_q_mdr_child_equalno. un = ff_q_mdr_child_equalno * S ((S (mdr_i_child_equaln)) * ut) + (mdr_a_child_equaln))) -> (((exists ff_h_mdr_child_equalnn. ff_h_mdr_child_equalnn + S (mdr_a_child_equaln) = S ((S (mdr_i_child_equaln)) * vt)) /\ exists ff_q_mdr_child_equalnn. vn = ff_q_mdr_child_equalnn * S ((S (mdr_i_child_equaln)) * vt) + (mdr_a_child_equaln))))))Constructive proof overview
Generated structural guide
Every pair of corresponding actual signed cofactor minors of pointwise-equal matrices are themselves pointwise equal, regardless of their beta encodings.
The unchanged tactic script uses 2 declared prerequisites and contains 71 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
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
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–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–25
05Establish hpositiveL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix recursive minor prefix transport.
- L26
have hpositive : MatrixMinorPrefix(qb,qc,S q,0,j,up,us,q,q · q)Definitions: MatrixMinorPrefix - L27
specialize matrix_recursive_minor_prefix_transport (pb) - L28
specialize matrix_recursive_minor_prefix_transport (pc) - L29
specialize matrix_recursive_minor_prefix_transport (qb) - L30
specialize matrix_recursive_minor_prefix_transport (qc) - L31
specialize matrix_recursive_minor_prefix_transport (q) - L32
specialize matrix_recursive_minor_prefix_transport (j) - L33
specialize matrix_recursive_minor_prefix_transport (up) - L34
specialize matrix_recursive_minor_prefix_transport (us) - L35
apply matrix_recursive_minor_prefix_transport
06Use earlier factsL36–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hparent_left - L37
exact hfirst_left - L38
specialize matrix_recursive_minor_prefix_functional (qb) - L39
specialize matrix_recursive_minor_prefix_functional (qc) - L40
specialize matrix_recursive_minor_prefix_functional (q) - L41
specialize matrix_recursive_minor_prefix_functional (j) - L42
specialize matrix_recursive_minor_prefix_functional (up) - L43
specialize matrix_recursive_minor_prefix_functional (us) - L44
specialize matrix_recursive_minor_prefix_functional (vp) - L45
specialize matrix_recursive_minor_prefix_functional (vs)
07Use earlier factsL46–48
08Establish hnegativeL49–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix recursive minor prefix transport.
- L49
have hnegative : MatrixMinorPrefix(rb,rc,S q,0,j,un,ut,q,q · q)Definitions: MatrixMinorPrefix - L50
specialize matrix_recursive_minor_prefix_transport (nb) - L51
specialize matrix_recursive_minor_prefix_transport (nc) - L52
specialize matrix_recursive_minor_prefix_transport (rb) - L53
specialize matrix_recursive_minor_prefix_transport (rc) - L54
specialize matrix_recursive_minor_prefix_transport (q) - L55
specialize matrix_recursive_minor_prefix_transport (j) - L56
specialize matrix_recursive_minor_prefix_transport (un) - L57
specialize matrix_recursive_minor_prefix_transport (ut) - L58
apply matrix_recursive_minor_prefix_transport
09Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact hparent_right - L60
exact hfirst_right - L61
specialize matrix_recursive_minor_prefix_functional (rb) - L62
specialize matrix_recursive_minor_prefix_functional (rc) - L63
specialize matrix_recursive_minor_prefix_functional (q) - L64
specialize matrix_recursive_minor_prefix_functional (j) - L65
specialize matrix_recursive_minor_prefix_functional (un) - L66
specialize matrix_recursive_minor_prefix_functional (ut) - L67
specialize matrix_recursive_minor_prefix_functional (vn) - L68
specialize matrix_recursive_minor_prefix_functional (vt)
Original exact command ledger · 71 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro qb - 0006
intro qc - 0007
intro rb - 0008
intro rc - 0009
intro q - 0010
intro j - 0011
intro up - 0012
intro us - 0013
intro un - 0014
intro ut - 0015
intro vp - 0016
intro vs - 0017
intro vn - 0018
intro vt - 0019
intro hparent - 0020
intro hfirst - 0021
intro hsecond - 0022
cases hparent - 0023
cases hfirst - 0024
cases hsecond - 0025
split - 0026
have hpositive : forall ff_index_mdm_prefix_mdre_transported_positive. (exists ff_gap_mdm_lt_mdre_transported_positive_index_bound. ff_gap_mdm_lt_mdre_transported_positive_index_bound + S (ff_index_mdm_prefix_mdre_transported_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdre_transported_positive ff_column_mdm_prefix_mdre_transported_positive ff_value_mdm_prefix_mdre_transported_positive. (ff_index_mdm_prefix_mdre_transported_positive = (q) * ff_row_mdm_prefix_mdre_transported_positive + ff_column_mdm_prefix_mdre_transported_positive /\ ((exists ff_gap_mdm_lt_mdre_transported_positive_column_bound. ff_gap_mdm_lt_mdre_transported_positive_column_bound + S (ff_column_mdm_prefix_mdre_transported_positive) = (q)) /\ ((exists ff_row_mdm_cell_mdre_transported_positive_cell ff_column_mdm_cell_mdre_transported_positive_cell. (((((exists ff_gap_mdm_lt_mdre_transported_positive_cell_row_before. ff_gap_mdm_lt_mdre_transported_positive_cell_row_before + S (ff_row_mdm_prefix_mdre_transported_positive) = (0)) /\ ff_row_mdm_cell_mdre_transported_positive_cell = ff_row_mdm_prefix_mdre_transported_positive) \/ ((exists ff_gap_mdm_le_mdre_transported_positive_cell_row_after. ff_gap_mdm_le_mdre_transported_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mdre_transported_positive)) /\ ff_row_mdm_cell_mdre_transported_positive_cell = S ff_row_mdm_prefix_mdre_transported_positive))) /\ (((((exists ff_gap_mdm_lt_mdre_transported_positive_cell_column_before. ff_gap_mdm_lt_mdre_transported_positive_cell_column_before + S (ff_column_mdm_prefix_mdre_transported_positive) = (j)) /\ ff_column_mdm_cell_mdre_transported_positive_cell = ff_column_mdm_prefix_mdre_transported_positive) \/ ((exists ff_gap_mdm_le_mdre_transported_positive_cell_column_after. ff_gap_mdm_le_mdre_transported_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mdre_transported_positive)) /\ ff_column_mdm_cell_mdre_transported_positive_cell = S ff_column_mdm_prefix_mdre_transported_positive))) /\ (((exists ff_h_mdm_mdre_transported_positive_cell_source. ff_h_mdm_mdre_transported_positive_cell_source + S (ff_value_mdm_prefix_mdre_transported_positive) = S ((S ((ff_row_mdm_cell_mdre_transported_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdre_transported_positive_cell))) * qc)) /\ exists ff_q_mdm_mdre_transported_positive_cell_source. qb = ff_q_mdm_mdre_transported_positive_cell_source * S ((S ((ff_row_mdm_cell_mdre_transported_positive_cell) * (S (q)) + (ff_column_mdm_cell_mdre_transported_positive_cell))) * qc) + (ff_value_mdm_prefix_mdre_transported_positive)))))) /\ (((exists ff_h_mdm_mdre_transported_positive_target. ff_h_mdm_mdre_transported_positive_target + S (ff_value_mdm_prefix_mdre_transported_positive) = S ((S (ff_index_mdm_prefix_mdre_transported_positive)) * us)) /\ exists ff_q_mdm_mdre_transported_positive_target. up = ff_q_mdm_mdre_transported_positive_target * S ((S (ff_index_mdm_prefix_mdre_transported_positive)) * us) + (ff_value_mdm_prefix_mdre_transported_positive)))))) - 0027
specialize matrix_recursive_minor_prefix_transport (pb) - 0028
specialize matrix_recursive_minor_prefix_transport (pc) - 0029
specialize matrix_recursive_minor_prefix_transport (qb) - 0030
specialize matrix_recursive_minor_prefix_transport (qc) - 0031
specialize matrix_recursive_minor_prefix_transport (q) - 0032
specialize matrix_recursive_minor_prefix_transport (j) - 0033
specialize matrix_recursive_minor_prefix_transport (up) - 0034
specialize matrix_recursive_minor_prefix_transport (us) - 0035
apply matrix_recursive_minor_prefix_transport - 0036
exact hparent_left - 0037
exact hfirst_left - 0038
specialize matrix_recursive_minor_prefix_functional (qb) - 0039
specialize matrix_recursive_minor_prefix_functional (qc) - 0040
specialize matrix_recursive_minor_prefix_functional (q) - 0041
specialize matrix_recursive_minor_prefix_functional (j) - 0042
specialize matrix_recursive_minor_prefix_functional (up) - 0043
specialize matrix_recursive_minor_prefix_functional (us) - 0044
specialize matrix_recursive_minor_prefix_functional (vp) - 0045
specialize matrix_recursive_minor_prefix_functional (vs) - 0046
apply matrix_recursive_minor_prefix_functional - 0047
exact hpositive - 0048
exact hsecond_left - 0049
have hnegative : forall ff_index_mdm_prefix_mdre_transported_negative. (exists ff_gap_mdm_lt_mdre_transported_negative_index_bound. ff_gap_mdm_lt_mdre_transported_negative_index_bound + S (ff_index_mdm_prefix_mdre_transported_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mdre_transported_negative ff_column_mdm_prefix_mdre_transported_negative ff_value_mdm_prefix_mdre_transported_negative. (ff_index_mdm_prefix_mdre_transported_negative = (q) * ff_row_mdm_prefix_mdre_transported_negative + ff_column_mdm_prefix_mdre_transported_negative /\ ((exists ff_gap_mdm_lt_mdre_transported_negative_column_bound. ff_gap_mdm_lt_mdre_transported_negative_column_bound + S (ff_column_mdm_prefix_mdre_transported_negative) = (q)) /\ ((exists ff_row_mdm_cell_mdre_transported_negative_cell ff_column_mdm_cell_mdre_transported_negative_cell. (((((exists ff_gap_mdm_lt_mdre_transported_negative_cell_row_before. ff_gap_mdm_lt_mdre_transported_negative_cell_row_before + S (ff_row_mdm_prefix_mdre_transported_negative) = (0)) /\ ff_row_mdm_cell_mdre_transported_negative_cell = ff_row_mdm_prefix_mdre_transported_negative) \/ ((exists ff_gap_mdm_le_mdre_transported_negative_cell_row_after. ff_gap_mdm_le_mdre_transported_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mdre_transported_negative)) /\ ff_row_mdm_cell_mdre_transported_negative_cell = S ff_row_mdm_prefix_mdre_transported_negative))) /\ (((((exists ff_gap_mdm_lt_mdre_transported_negative_cell_column_before. ff_gap_mdm_lt_mdre_transported_negative_cell_column_before + S (ff_column_mdm_prefix_mdre_transported_negative) = (j)) /\ ff_column_mdm_cell_mdre_transported_negative_cell = ff_column_mdm_prefix_mdre_transported_negative) \/ ((exists ff_gap_mdm_le_mdre_transported_negative_cell_column_after. ff_gap_mdm_le_mdre_transported_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mdre_transported_negative)) /\ ff_column_mdm_cell_mdre_transported_negative_cell = S ff_column_mdm_prefix_mdre_transported_negative))) /\ (((exists ff_h_mdm_mdre_transported_negative_cell_source. ff_h_mdm_mdre_transported_negative_cell_source + S (ff_value_mdm_prefix_mdre_transported_negative) = S ((S ((ff_row_mdm_cell_mdre_transported_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdre_transported_negative_cell))) * rc)) /\ exists ff_q_mdm_mdre_transported_negative_cell_source. rb = ff_q_mdm_mdre_transported_negative_cell_source * S ((S ((ff_row_mdm_cell_mdre_transported_negative_cell) * (S (q)) + (ff_column_mdm_cell_mdre_transported_negative_cell))) * rc) + (ff_value_mdm_prefix_mdre_transported_negative)))))) /\ (((exists ff_h_mdm_mdre_transported_negative_target. ff_h_mdm_mdre_transported_negative_target + S (ff_value_mdm_prefix_mdre_transported_negative) = S ((S (ff_index_mdm_prefix_mdre_transported_negative)) * ut)) /\ exists ff_q_mdm_mdre_transported_negative_target. un = ff_q_mdm_mdre_transported_negative_target * S ((S (ff_index_mdm_prefix_mdre_transported_negative)) * ut) + (ff_value_mdm_prefix_mdre_transported_negative)))))) - 0050
specialize matrix_recursive_minor_prefix_transport (nb) - 0051
specialize matrix_recursive_minor_prefix_transport (nc) - 0052
specialize matrix_recursive_minor_prefix_transport (rb) - 0053
specialize matrix_recursive_minor_prefix_transport (rc) - 0054
specialize matrix_recursive_minor_prefix_transport (q) - 0055
specialize matrix_recursive_minor_prefix_transport (j) - 0056
specialize matrix_recursive_minor_prefix_transport (un) - 0057
specialize matrix_recursive_minor_prefix_transport (ut) - 0058
apply matrix_recursive_minor_prefix_transport - 0059
exact hparent_right - 0060
exact hfirst_right - 0061
specialize matrix_recursive_minor_prefix_functional (rb) - 0062
specialize matrix_recursive_minor_prefix_functional (rc) - 0063
specialize matrix_recursive_minor_prefix_functional (q) - 0064
specialize matrix_recursive_minor_prefix_functional (j) - 0065
specialize matrix_recursive_minor_prefix_functional (un) - 0066
specialize matrix_recursive_minor_prefix_functional (ut) - 0067
specialize matrix_recursive_minor_prefix_functional (vn) - 0068
specialize matrix_recursive_minor_prefix_functional (vt) - 0069
apply matrix_recursive_minor_prefix_functional - 0070
exact hnegative - 0071
exact hsecond_right