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.
Historical partial components only: this chapter proves genuine signed first-row minors and unique alternating folds, with supplied cofactor values. T13 is now closed in the separate Alpha-v27 integer-linear-algebra branch with actual arbitrary determinant data, rank, and integer column spans; lattice index and normal forms are not claimed. Full T13 proof · Alpha v27
Exact theorem in conservative defined notation
∀ pb. ∀ pc. ∀ nb. ∀ nc. ∀ q. ∀ l. Le(l,S q) → ∃ x. ∃ y. SignedCofactorMinorPrefix(pb,pc,nb,nc,q,x,y,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 55 lines are the exact independently kernel-checked original script.
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 (3)
01Fix variables and assumptionsL1–5
02Induction on lL6–7
03Construct an explicit witnessL8–9
04Use earlier factsL10–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
specialize signed_cofactor_minor_prefix_empty pb - L11
specialize signed_cofactor_minor_prefix_empty pc - L12
specialize signed_cofactor_minor_prefix_empty nb - L13
specialize signed_cofactor_minor_prefix_empty nc - L14
specialize signed_cofactor_minor_prefix_empty q - L15
specialize signed_cofactor_minor_prefix_empty 0 - L16
specialize signed_cofactor_minor_prefix_empty 0 - L17
exact signed_cofactor_minor_prefix_empty
05Fix variables and assumptionsL18–18
Work with arbitrary variables or the premises of the current implication.
- L18
intro hbound
06Establish hshortL19–19
Establish this local claim before using it. It is not an additional assumption.
- L19
have hshort : exists ff_gap_mce_induction_short. ff_gap_mce_induction_short + (l) = (S q)
07Establish hpredecessorL20–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
08Establish hpreviousL29–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L29
have hprevious : ∃ u. ∃ v. SignedCofactorMinorPrefix(pb,pc,nb,nc,q,u,v,l)Definitions: SignedCofactorMinorPrefixOriginal native command in the exact edition - L30
apply IH - L31
exact hshort
09Separate the logical casesL32–33
10Establish hrecordL34–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed cofactor minor record exists.
- L34
have hrecord : ∃ z. SignedMinorRecord(pb,pc,nb,nc,q,l,z)Definitions: SignedMinorRecordOriginal native command in the exact edition - L35
specialize signed_cofactor_minor_record_exists pb - L36
specialize signed_cofactor_minor_record_exists pc - L37
specialize signed_cofactor_minor_record_exists nb - L38
specialize signed_cofactor_minor_record_exists nc - L39
specialize signed_cofactor_minor_record_exists q - L40
specialize signed_cofactor_minor_record_exists l - L41
apply signed_cofactor_minor_record_exists - L42
exact hbound
11Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hrecord
12Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
specialize signed_cofactor_minor_prefix_extend pb - L45
specialize signed_cofactor_minor_prefix_extend pc - L46
specialize signed_cofactor_minor_prefix_extend nb - L47
specialize signed_cofactor_minor_prefix_extend nc - L48
specialize signed_cofactor_minor_prefix_extend q - L49
specialize signed_cofactor_minor_prefix_extend x - L50
specialize signed_cofactor_minor_prefix_extend x1 - L51
specialize signed_cofactor_minor_prefix_extend l - L52
specialize signed_cofactor_minor_prefix_extend x2 - L53
apply signed_cofactor_minor_prefix_extend
Original defined command ledger · 55 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro q - 0006
induction l - 0007
intro hbound - 0008
exists 0 - 0009
exists 0 - 0010
specialize signed_cofactor_minor_prefix_empty pb - 0011
specialize signed_cofactor_minor_prefix_empty pc - 0012
specialize signed_cofactor_minor_prefix_empty nb - 0013
specialize signed_cofactor_minor_prefix_empty nc - 0014
specialize signed_cofactor_minor_prefix_empty q - 0015
specialize signed_cofactor_minor_prefix_empty 0 - 0016
specialize signed_cofactor_minor_prefix_empty 0 - 0017
exact signed_cofactor_minor_prefix_empty - 0018
intro hbound - 0019
have hshort : exists ff_gap_mce_induction_short. ff_gap_mce_induction_short + (l) = (S q) - 0020
have hpredecessor : exists gap. gap + l = q - 0021
specialize le_of_succ_le_succ l - 0022
specialize le_of_succ_le_succ q - 0023
apply le_of_succ_le_succ - 0024
exact hbound - 0025
specialize le_succ l - 0026
specialize le_succ q - 0027
apply le_succ - 0028
exact hpredecessor - 0029
have hprevious : exists u v. (forall ff_index_mce_family_induction_previous. (exists ff_gap_mce_induction_previous_index. ff_gap_mce_induction_previous_index + S (ff_index_mce_family_induction_previous) = (l)) -> exists ff_value_mce_family_induction_previous. ((((exists ff_h_mce_induction_previous_entry. ff_h_mce_induction_previous_entry + S (ff_value_mce_family_induction_previous) = S ((S (ff_index_mce_family_induction_previous)) * v)) /\ exists ff_q_mce_induction_previous_entry. u = ff_q_mce_induction_previous_entry * S ((S (ff_index_mce_family_induction_previous)) * v) + (ff_value_mce_family_induction_previous))) /\ (exists ff_up_mce_record_induction_previous_record ff_us_mce_record_induction_previous_record ff_un_mce_record_induction_previous_record ff_ut_mce_record_induction_previous_record. ((ff_value_mce_family_induction_previous = ((((ff_up_mce_record_induction_previous_record) + (ff_us_mce_record_induction_previous_record)) * S ((ff_up_mce_record_induction_previous_record) + (ff_us_mce_record_induction_previous_record)) + ((ff_us_mce_record_induction_previous_record) + (ff_us_mce_record_induction_previous_record))) + (((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) * S ((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) + ((ff_ut_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)))) * S ((((ff_up_mce_record_induction_previous_record) + (ff_us_mce_record_induction_previous_record)) * S ((ff_up_mce_record_induction_previous_record) + (ff_us_mce_record_induction_previous_record)) + ((ff_us_mce_record_induction_previous_record) + (ff_us_mce_record_induction_previous_record))) + (((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) * S ((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) + ((ff_ut_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)))) + ((((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) * S ((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) + ((ff_ut_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record))) + (((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) * S ((ff_un_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record)) + ((ff_ut_mce_record_induction_previous_record) + (ff_ut_mce_record_induction_previous_record))))) /\ (((forall ff_index_mdm_prefix_mce_induction_previous_record_minor_positive. (exists ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_index_bound. ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_index_bound + S (ff_index_mdm_prefix_mce_induction_previous_record_minor_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_induction_previous_record_minor_positive ff_column_mdm_prefix_mce_induction_previous_record_minor_positive ff_value_mdm_prefix_mce_induction_previous_record_minor_positive. (ff_index_mdm_prefix_mce_induction_previous_record_minor_positive = (q) * ff_row_mdm_prefix_mce_induction_previous_record_minor_positive + ff_column_mdm_prefix_mce_induction_previous_record_minor_positive /\ ((exists ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_column_bound. ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_column_bound + S (ff_column_mdm_prefix_mce_induction_previous_record_minor_positive) = (q)) /\ ((exists ff_row_mdm_cell_mce_induction_previous_record_minor_positive_cell ff_column_mdm_cell_mce_induction_previous_record_minor_positive_cell. (((((exists ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_cell_row_before. ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_cell_row_before + S (ff_row_mdm_prefix_mce_induction_previous_record_minor_positive) = (0)) /\ ff_row_mdm_cell_mce_induction_previous_record_minor_positive_cell = ff_row_mdm_prefix_mce_induction_previous_record_minor_positive) \/ ((exists ff_gap_mdm_le_mce_induction_previous_record_minor_positive_cell_row_after. ff_gap_mdm_le_mce_induction_previous_record_minor_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mce_induction_previous_record_minor_positive)) /\ ff_row_mdm_cell_mce_induction_previous_record_minor_positive_cell = S ff_row_mdm_prefix_mce_induction_previous_record_minor_positive))) /\ (((((exists ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_cell_column_before. ff_gap_mdm_lt_mce_induction_previous_record_minor_positive_cell_column_before + S (ff_column_mdm_prefix_mce_induction_previous_record_minor_positive) = (ff_index_mce_family_induction_previous)) /\ ff_column_mdm_cell_mce_induction_previous_record_minor_positive_cell = ff_column_mdm_prefix_mce_induction_previous_record_minor_positive) \/ ((exists ff_gap_mdm_le_mce_induction_previous_record_minor_positive_cell_column_after. ff_gap_mdm_le_mce_induction_previous_record_minor_positive_cell_column_after + (ff_index_mce_family_induction_previous) = (ff_column_mdm_prefix_mce_induction_previous_record_minor_positive)) /\ ff_column_mdm_cell_mce_induction_previous_record_minor_positive_cell = S ff_column_mdm_prefix_mce_induction_previous_record_minor_positive))) /\ (((exists ff_h_mdm_mce_induction_previous_record_minor_positive_cell_source. ff_h_mdm_mce_induction_previous_record_minor_positive_cell_source + S (ff_value_mdm_prefix_mce_induction_previous_record_minor_positive) = S ((S ((ff_row_mdm_cell_mce_induction_previous_record_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_previous_record_minor_positive_cell))) * pc)) /\ exists ff_q_mdm_mce_induction_previous_record_minor_positive_cell_source. pb = ff_q_mdm_mce_induction_previous_record_minor_positive_cell_source * S ((S ((ff_row_mdm_cell_mce_induction_previous_record_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_previous_record_minor_positive_cell))) * pc) + (ff_value_mdm_prefix_mce_induction_previous_record_minor_positive)))))) /\ (((exists ff_h_mdm_mce_induction_previous_record_minor_positive_target. ff_h_mdm_mce_induction_previous_record_minor_positive_target + S (ff_value_mdm_prefix_mce_induction_previous_record_minor_positive) = S ((S (ff_index_mdm_prefix_mce_induction_previous_record_minor_positive)) * ff_us_mce_record_induction_previous_record)) /\ exists ff_q_mdm_mce_induction_previous_record_minor_positive_target. ff_up_mce_record_induction_previous_record = ff_q_mdm_mce_induction_previous_record_minor_positive_target * S ((S (ff_index_mdm_prefix_mce_induction_previous_record_minor_positive)) * ff_us_mce_record_induction_previous_record) + (ff_value_mdm_prefix_mce_induction_previous_record_minor_positive))))))) /\ (forall ff_index_mdm_prefix_mce_induction_previous_record_minor_negative. (exists ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_index_bound. ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_index_bound + S (ff_index_mdm_prefix_mce_induction_previous_record_minor_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_induction_previous_record_minor_negative ff_column_mdm_prefix_mce_induction_previous_record_minor_negative ff_value_mdm_prefix_mce_induction_previous_record_minor_negative. (ff_index_mdm_prefix_mce_induction_previous_record_minor_negative = (q) * ff_row_mdm_prefix_mce_induction_previous_record_minor_negative + ff_column_mdm_prefix_mce_induction_previous_record_minor_negative /\ ((exists ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_column_bound. ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_column_bound + S (ff_column_mdm_prefix_mce_induction_previous_record_minor_negative) = (q)) /\ ((exists ff_row_mdm_cell_mce_induction_previous_record_minor_negative_cell ff_column_mdm_cell_mce_induction_previous_record_minor_negative_cell. (((((exists ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_cell_row_before. ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_cell_row_before + S (ff_row_mdm_prefix_mce_induction_previous_record_minor_negative) = (0)) /\ ff_row_mdm_cell_mce_induction_previous_record_minor_negative_cell = ff_row_mdm_prefix_mce_induction_previous_record_minor_negative) \/ ((exists ff_gap_mdm_le_mce_induction_previous_record_minor_negative_cell_row_after. ff_gap_mdm_le_mce_induction_previous_record_minor_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mce_induction_previous_record_minor_negative)) /\ ff_row_mdm_cell_mce_induction_previous_record_minor_negative_cell = S ff_row_mdm_prefix_mce_induction_previous_record_minor_negative))) /\ (((((exists ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_cell_column_before. ff_gap_mdm_lt_mce_induction_previous_record_minor_negative_cell_column_before + S (ff_column_mdm_prefix_mce_induction_previous_record_minor_negative) = (ff_index_mce_family_induction_previous)) /\ ff_column_mdm_cell_mce_induction_previous_record_minor_negative_cell = ff_column_mdm_prefix_mce_induction_previous_record_minor_negative) \/ ((exists ff_gap_mdm_le_mce_induction_previous_record_minor_negative_cell_column_after. ff_gap_mdm_le_mce_induction_previous_record_minor_negative_cell_column_after + (ff_index_mce_family_induction_previous) = (ff_column_mdm_prefix_mce_induction_previous_record_minor_negative)) /\ ff_column_mdm_cell_mce_induction_previous_record_minor_negative_cell = S ff_column_mdm_prefix_mce_induction_previous_record_minor_negative))) /\ (((exists ff_h_mdm_mce_induction_previous_record_minor_negative_cell_source. ff_h_mdm_mce_induction_previous_record_minor_negative_cell_source + S (ff_value_mdm_prefix_mce_induction_previous_record_minor_negative) = S ((S ((ff_row_mdm_cell_mce_induction_previous_record_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_previous_record_minor_negative_cell))) * nc)) /\ exists ff_q_mdm_mce_induction_previous_record_minor_negative_cell_source. nb = ff_q_mdm_mce_induction_previous_record_minor_negative_cell_source * S ((S ((ff_row_mdm_cell_mce_induction_previous_record_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_previous_record_minor_negative_cell))) * nc) + (ff_value_mdm_prefix_mce_induction_previous_record_minor_negative)))))) /\ (((exists ff_h_mdm_mce_induction_previous_record_minor_negative_target. ff_h_mdm_mce_induction_previous_record_minor_negative_target + S (ff_value_mdm_prefix_mce_induction_previous_record_minor_negative) = S ((S (ff_index_mdm_prefix_mce_induction_previous_record_minor_negative)) * ff_ut_mce_record_induction_previous_record)) /\ exists ff_q_mdm_mce_induction_previous_record_minor_negative_target. ff_un_mce_record_induction_previous_record = ff_q_mdm_mce_induction_previous_record_minor_negative_target * S ((S (ff_index_mdm_prefix_mce_induction_previous_record_minor_negative)) * ff_ut_mce_record_induction_previous_record) + (ff_value_mdm_prefix_mce_induction_previous_record_minor_negative))))))))))))) - 0030
apply IH - 0031
exact hshort - 0032
cases hprevious - 0033
cases hprevious_witness - 0034
have hrecord : exists z. (exists ff_up_mce_record_induction_record ff_us_mce_record_induction_record ff_un_mce_record_induction_record ff_ut_mce_record_induction_record. ((z = ((((ff_up_mce_record_induction_record) + (ff_us_mce_record_induction_record)) * S ((ff_up_mce_record_induction_record) + (ff_us_mce_record_induction_record)) + ((ff_us_mce_record_induction_record) + (ff_us_mce_record_induction_record))) + (((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) * S ((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) + ((ff_ut_mce_record_induction_record) + (ff_ut_mce_record_induction_record)))) * S ((((ff_up_mce_record_induction_record) + (ff_us_mce_record_induction_record)) * S ((ff_up_mce_record_induction_record) + (ff_us_mce_record_induction_record)) + ((ff_us_mce_record_induction_record) + (ff_us_mce_record_induction_record))) + (((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) * S ((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) + ((ff_ut_mce_record_induction_record) + (ff_ut_mce_record_induction_record)))) + ((((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) * S ((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) + ((ff_ut_mce_record_induction_record) + (ff_ut_mce_record_induction_record))) + (((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) * S ((ff_un_mce_record_induction_record) + (ff_ut_mce_record_induction_record)) + ((ff_ut_mce_record_induction_record) + (ff_ut_mce_record_induction_record))))) /\ (((forall ff_index_mdm_prefix_mce_induction_record_minor_positive. (exists ff_gap_mdm_lt_mce_induction_record_minor_positive_index_bound. ff_gap_mdm_lt_mce_induction_record_minor_positive_index_bound + S (ff_index_mdm_prefix_mce_induction_record_minor_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_induction_record_minor_positive ff_column_mdm_prefix_mce_induction_record_minor_positive ff_value_mdm_prefix_mce_induction_record_minor_positive. (ff_index_mdm_prefix_mce_induction_record_minor_positive = (q) * ff_row_mdm_prefix_mce_induction_record_minor_positive + ff_column_mdm_prefix_mce_induction_record_minor_positive /\ ((exists ff_gap_mdm_lt_mce_induction_record_minor_positive_column_bound. ff_gap_mdm_lt_mce_induction_record_minor_positive_column_bound + S (ff_column_mdm_prefix_mce_induction_record_minor_positive) = (q)) /\ ((exists ff_row_mdm_cell_mce_induction_record_minor_positive_cell ff_column_mdm_cell_mce_induction_record_minor_positive_cell. (((((exists ff_gap_mdm_lt_mce_induction_record_minor_positive_cell_row_before. ff_gap_mdm_lt_mce_induction_record_minor_positive_cell_row_before + S (ff_row_mdm_prefix_mce_induction_record_minor_positive) = (0)) /\ ff_row_mdm_cell_mce_induction_record_minor_positive_cell = ff_row_mdm_prefix_mce_induction_record_minor_positive) \/ ((exists ff_gap_mdm_le_mce_induction_record_minor_positive_cell_row_after. ff_gap_mdm_le_mce_induction_record_minor_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mce_induction_record_minor_positive)) /\ ff_row_mdm_cell_mce_induction_record_minor_positive_cell = S ff_row_mdm_prefix_mce_induction_record_minor_positive))) /\ (((((exists ff_gap_mdm_lt_mce_induction_record_minor_positive_cell_column_before. ff_gap_mdm_lt_mce_induction_record_minor_positive_cell_column_before + S (ff_column_mdm_prefix_mce_induction_record_minor_positive) = (l)) /\ ff_column_mdm_cell_mce_induction_record_minor_positive_cell = ff_column_mdm_prefix_mce_induction_record_minor_positive) \/ ((exists ff_gap_mdm_le_mce_induction_record_minor_positive_cell_column_after. ff_gap_mdm_le_mce_induction_record_minor_positive_cell_column_after + (l) = (ff_column_mdm_prefix_mce_induction_record_minor_positive)) /\ ff_column_mdm_cell_mce_induction_record_minor_positive_cell = S ff_column_mdm_prefix_mce_induction_record_minor_positive))) /\ (((exists ff_h_mdm_mce_induction_record_minor_positive_cell_source. ff_h_mdm_mce_induction_record_minor_positive_cell_source + S (ff_value_mdm_prefix_mce_induction_record_minor_positive) = S ((S ((ff_row_mdm_cell_mce_induction_record_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_record_minor_positive_cell))) * pc)) /\ exists ff_q_mdm_mce_induction_record_minor_positive_cell_source. pb = ff_q_mdm_mce_induction_record_minor_positive_cell_source * S ((S ((ff_row_mdm_cell_mce_induction_record_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_record_minor_positive_cell))) * pc) + (ff_value_mdm_prefix_mce_induction_record_minor_positive)))))) /\ (((exists ff_h_mdm_mce_induction_record_minor_positive_target. ff_h_mdm_mce_induction_record_minor_positive_target + S (ff_value_mdm_prefix_mce_induction_record_minor_positive) = S ((S (ff_index_mdm_prefix_mce_induction_record_minor_positive)) * ff_us_mce_record_induction_record)) /\ exists ff_q_mdm_mce_induction_record_minor_positive_target. ff_up_mce_record_induction_record = ff_q_mdm_mce_induction_record_minor_positive_target * S ((S (ff_index_mdm_prefix_mce_induction_record_minor_positive)) * ff_us_mce_record_induction_record) + (ff_value_mdm_prefix_mce_induction_record_minor_positive))))))) /\ (forall ff_index_mdm_prefix_mce_induction_record_minor_negative. (exists ff_gap_mdm_lt_mce_induction_record_minor_negative_index_bound. ff_gap_mdm_lt_mce_induction_record_minor_negative_index_bound + S (ff_index_mdm_prefix_mce_induction_record_minor_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_induction_record_minor_negative ff_column_mdm_prefix_mce_induction_record_minor_negative ff_value_mdm_prefix_mce_induction_record_minor_negative. (ff_index_mdm_prefix_mce_induction_record_minor_negative = (q) * ff_row_mdm_prefix_mce_induction_record_minor_negative + ff_column_mdm_prefix_mce_induction_record_minor_negative /\ ((exists ff_gap_mdm_lt_mce_induction_record_minor_negative_column_bound. ff_gap_mdm_lt_mce_induction_record_minor_negative_column_bound + S (ff_column_mdm_prefix_mce_induction_record_minor_negative) = (q)) /\ ((exists ff_row_mdm_cell_mce_induction_record_minor_negative_cell ff_column_mdm_cell_mce_induction_record_minor_negative_cell. (((((exists ff_gap_mdm_lt_mce_induction_record_minor_negative_cell_row_before. ff_gap_mdm_lt_mce_induction_record_minor_negative_cell_row_before + S (ff_row_mdm_prefix_mce_induction_record_minor_negative) = (0)) /\ ff_row_mdm_cell_mce_induction_record_minor_negative_cell = ff_row_mdm_prefix_mce_induction_record_minor_negative) \/ ((exists ff_gap_mdm_le_mce_induction_record_minor_negative_cell_row_after. ff_gap_mdm_le_mce_induction_record_minor_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mce_induction_record_minor_negative)) /\ ff_row_mdm_cell_mce_induction_record_minor_negative_cell = S ff_row_mdm_prefix_mce_induction_record_minor_negative))) /\ (((((exists ff_gap_mdm_lt_mce_induction_record_minor_negative_cell_column_before. ff_gap_mdm_lt_mce_induction_record_minor_negative_cell_column_before + S (ff_column_mdm_prefix_mce_induction_record_minor_negative) = (l)) /\ ff_column_mdm_cell_mce_induction_record_minor_negative_cell = ff_column_mdm_prefix_mce_induction_record_minor_negative) \/ ((exists ff_gap_mdm_le_mce_induction_record_minor_negative_cell_column_after. ff_gap_mdm_le_mce_induction_record_minor_negative_cell_column_after + (l) = (ff_column_mdm_prefix_mce_induction_record_minor_negative)) /\ ff_column_mdm_cell_mce_induction_record_minor_negative_cell = S ff_column_mdm_prefix_mce_induction_record_minor_negative))) /\ (((exists ff_h_mdm_mce_induction_record_minor_negative_cell_source. ff_h_mdm_mce_induction_record_minor_negative_cell_source + S (ff_value_mdm_prefix_mce_induction_record_minor_negative) = S ((S ((ff_row_mdm_cell_mce_induction_record_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_record_minor_negative_cell))) * nc)) /\ exists ff_q_mdm_mce_induction_record_minor_negative_cell_source. nb = ff_q_mdm_mce_induction_record_minor_negative_cell_source * S ((S ((ff_row_mdm_cell_mce_induction_record_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_induction_record_minor_negative_cell))) * nc) + (ff_value_mdm_prefix_mce_induction_record_minor_negative)))))) /\ (((exists ff_h_mdm_mce_induction_record_minor_negative_target. ff_h_mdm_mce_induction_record_minor_negative_target + S (ff_value_mdm_prefix_mce_induction_record_minor_negative) = S ((S (ff_index_mdm_prefix_mce_induction_record_minor_negative)) * ff_ut_mce_record_induction_record)) /\ exists ff_q_mdm_mce_induction_record_minor_negative_target. ff_un_mce_record_induction_record = ff_q_mdm_mce_induction_record_minor_negative_target * S ((S (ff_index_mdm_prefix_mce_induction_record_minor_negative)) * ff_ut_mce_record_induction_record) + (ff_value_mdm_prefix_mce_induction_record_minor_negative))))))))))) - 0035
specialize signed_cofactor_minor_record_exists pb - 0036
specialize signed_cofactor_minor_record_exists pc - 0037
specialize signed_cofactor_minor_record_exists nb - 0038
specialize signed_cofactor_minor_record_exists nc - 0039
specialize signed_cofactor_minor_record_exists q - 0040
specialize signed_cofactor_minor_record_exists l - 0041
apply signed_cofactor_minor_record_exists - 0042
exact hbound - 0043
cases hrecord - 0044
specialize signed_cofactor_minor_prefix_extend pb - 0045
specialize signed_cofactor_minor_prefix_extend pc - 0046
specialize signed_cofactor_minor_prefix_extend nb - 0047
specialize signed_cofactor_minor_prefix_extend nc - 0048
specialize signed_cofactor_minor_prefix_extend q - 0049
specialize signed_cofactor_minor_prefix_extend x - 0050
specialize signed_cofactor_minor_prefix_extend x1 - 0051
specialize signed_cofactor_minor_prefix_extend l - 0052
specialize signed_cofactor_minor_prefix_extend x2 - 0053
apply signed_cofactor_minor_prefix_extend - 0054
exact hprevious_witness_witness - 0055
exact hrecord_witness