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. ∀ u. ∀ v. ∀ l. ∀ k. SignedCofactorMinorPrefix(pb,pc,nb,nc,q,u,v,l) → SignedMinorRecord(pb,pc,nb,nc,q,l,k) → ∃ x. ∃ y. SignedCofactorMinorPrefix(pb,pc,nb,nc,q,x,y,S l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 54 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hrecord
03Establish hextL12–17
Establish this local claim before using it. It is not an additional assumption.
- L12
have hext : ∃ z. ∃ e. Beta(z,e,l,k) ∧ (∀ x. ∀ y. Lt(x,l) → Beta(u,v,x,y) → Beta(z,e,x,y))Definitions: BetaLtOriginal native command in the exact edition - L13
specialize beta_prefix_extend l - L14
specialize beta_prefix_extend u - L15
specialize beta_prefix_extend v - L16
specialize beta_prefix_extend k - L17
exact beta_prefix_extend
04Separate the logical casesL18–20
05Construct an explicit witnessL21–22
06Fix variables and assumptionsL23–24
07Establish hsplitL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
08Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hsplit
09Construct an explicit witnessL31–31
Supply the displayed value, then prove that it has the required property.
- L31
exists k
10Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
split
11Calculate and transport equalitiesL33–34
12Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hext_witness_witness_left
13Calculate and transport equalitiesL36–39
14Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hrecord
15Establish hpreviousL41–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L41
have hprevious : ∃ a. Beta(u,v,i,a) ∧ SignedMinorRecord(pb,pc,nb,nc,q,i,a)Definitions: BetaSignedMinorRecordOriginal native command in the exact edition - L42
specialize hprefix i - L43
apply hprefix - L44
exact hsplit_right
16Separate the logical casesL45–46
17Construct an explicit witnessL47–47
Supply the displayed value, then prove that it has the required property.
- L47
exists x2
18Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
19Use earlier factsL49–54
Original defined command ledger · 54 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro q - 0006
intro u - 0007
intro v - 0008
intro l - 0009
intro k - 0010
intro hprefix - 0011
intro hrecord - 0012
have hext : exists z e. ((((exists ff_h_mce_family_extension. ff_h_mce_family_extension + S (k) = S ((S (l)) * e)) /\ exists ff_q_mce_family_extension. z = ff_q_mce_family_extension * S ((S (l)) * e) + (k))) /\ forall i a. (exists ff_gap_mce_family_preserved. ff_gap_mce_family_preserved + S (i) = (l)) -> (((exists ff_h_mce_family_old. ff_h_mce_family_old + S (a) = S ((S (i)) * v)) /\ exists ff_q_mce_family_old. u = ff_q_mce_family_old * S ((S (i)) * v) + (a))) -> (((exists ff_h_mce_family_new. ff_h_mce_family_new + S (a) = S ((S (i)) * e)) /\ exists ff_q_mce_family_new. z = ff_q_mce_family_new * S ((S (i)) * e) + (a)))) - 0013
specialize beta_prefix_extend l - 0014
specialize beta_prefix_extend u - 0015
specialize beta_prefix_extend v - 0016
specialize beta_prefix_extend k - 0017
exact beta_prefix_extend - 0018
cases hext - 0019
cases hext_witness - 0020
cases hext_witness_witness - 0021
exists x - 0022
exists x1 - 0023
intro i - 0024
intro hi - 0025
have hsplit : i = l \/ exists gap. gap + S i = l - 0026
specialize finite_lt_succ_eq_or_lt l - 0027
specialize finite_lt_succ_eq_or_lt i - 0028
apply finite_lt_succ_eq_or_lt - 0029
exact hi - 0030
cases hsplit - 0031
exists k - 0032
split - 0033
rewrite hsplit_left - 0034
rewrite hsplit_left - 0035
exact hext_witness_witness_left - 0036
rewrite hsplit_left - 0037
rewrite hsplit_left - 0038
rewrite hsplit_left - 0039
rewrite hsplit_left - 0040
exact hrecord - 0041
have hprevious : exists a. ((((exists ff_h_mce_family_have_previous. ff_h_mce_family_have_previous + S (a) = S ((S (i)) * v)) /\ exists ff_q_mce_family_have_previous. u = ff_q_mce_family_have_previous * S ((S (i)) * v) + (a))) /\ (exists ff_up_mce_record_family_have_record ff_us_mce_record_family_have_record ff_un_mce_record_family_have_record ff_ut_mce_record_family_have_record. ((a = ((((ff_up_mce_record_family_have_record) + (ff_us_mce_record_family_have_record)) * S ((ff_up_mce_record_family_have_record) + (ff_us_mce_record_family_have_record)) + ((ff_us_mce_record_family_have_record) + (ff_us_mce_record_family_have_record))) + (((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) * S ((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) + ((ff_ut_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)))) * S ((((ff_up_mce_record_family_have_record) + (ff_us_mce_record_family_have_record)) * S ((ff_up_mce_record_family_have_record) + (ff_us_mce_record_family_have_record)) + ((ff_us_mce_record_family_have_record) + (ff_us_mce_record_family_have_record))) + (((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) * S ((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) + ((ff_ut_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)))) + ((((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) * S ((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) + ((ff_ut_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record))) + (((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) * S ((ff_un_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record)) + ((ff_ut_mce_record_family_have_record) + (ff_ut_mce_record_family_have_record))))) /\ (((forall ff_index_mdm_prefix_mce_family_have_record_minor_positive. (exists ff_gap_mdm_lt_mce_family_have_record_minor_positive_index_bound. ff_gap_mdm_lt_mce_family_have_record_minor_positive_index_bound + S (ff_index_mdm_prefix_mce_family_have_record_minor_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_family_have_record_minor_positive ff_column_mdm_prefix_mce_family_have_record_minor_positive ff_value_mdm_prefix_mce_family_have_record_minor_positive. (ff_index_mdm_prefix_mce_family_have_record_minor_positive = (q) * ff_row_mdm_prefix_mce_family_have_record_minor_positive + ff_column_mdm_prefix_mce_family_have_record_minor_positive /\ ((exists ff_gap_mdm_lt_mce_family_have_record_minor_positive_column_bound. ff_gap_mdm_lt_mce_family_have_record_minor_positive_column_bound + S (ff_column_mdm_prefix_mce_family_have_record_minor_positive) = (q)) /\ ((exists ff_row_mdm_cell_mce_family_have_record_minor_positive_cell ff_column_mdm_cell_mce_family_have_record_minor_positive_cell. (((((exists ff_gap_mdm_lt_mce_family_have_record_minor_positive_cell_row_before. ff_gap_mdm_lt_mce_family_have_record_minor_positive_cell_row_before + S (ff_row_mdm_prefix_mce_family_have_record_minor_positive) = (0)) /\ ff_row_mdm_cell_mce_family_have_record_minor_positive_cell = ff_row_mdm_prefix_mce_family_have_record_minor_positive) \/ ((exists ff_gap_mdm_le_mce_family_have_record_minor_positive_cell_row_after. ff_gap_mdm_le_mce_family_have_record_minor_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mce_family_have_record_minor_positive)) /\ ff_row_mdm_cell_mce_family_have_record_minor_positive_cell = S ff_row_mdm_prefix_mce_family_have_record_minor_positive))) /\ (((((exists ff_gap_mdm_lt_mce_family_have_record_minor_positive_cell_column_before. ff_gap_mdm_lt_mce_family_have_record_minor_positive_cell_column_before + S (ff_column_mdm_prefix_mce_family_have_record_minor_positive) = (i)) /\ ff_column_mdm_cell_mce_family_have_record_minor_positive_cell = ff_column_mdm_prefix_mce_family_have_record_minor_positive) \/ ((exists ff_gap_mdm_le_mce_family_have_record_minor_positive_cell_column_after. ff_gap_mdm_le_mce_family_have_record_minor_positive_cell_column_after + (i) = (ff_column_mdm_prefix_mce_family_have_record_minor_positive)) /\ ff_column_mdm_cell_mce_family_have_record_minor_positive_cell = S ff_column_mdm_prefix_mce_family_have_record_minor_positive))) /\ (((exists ff_h_mdm_mce_family_have_record_minor_positive_cell_source. ff_h_mdm_mce_family_have_record_minor_positive_cell_source + S (ff_value_mdm_prefix_mce_family_have_record_minor_positive) = S ((S ((ff_row_mdm_cell_mce_family_have_record_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_family_have_record_minor_positive_cell))) * pc)) /\ exists ff_q_mdm_mce_family_have_record_minor_positive_cell_source. pb = ff_q_mdm_mce_family_have_record_minor_positive_cell_source * S ((S ((ff_row_mdm_cell_mce_family_have_record_minor_positive_cell) * (S (q)) + (ff_column_mdm_cell_mce_family_have_record_minor_positive_cell))) * pc) + (ff_value_mdm_prefix_mce_family_have_record_minor_positive)))))) /\ (((exists ff_h_mdm_mce_family_have_record_minor_positive_target. ff_h_mdm_mce_family_have_record_minor_positive_target + S (ff_value_mdm_prefix_mce_family_have_record_minor_positive) = S ((S (ff_index_mdm_prefix_mce_family_have_record_minor_positive)) * ff_us_mce_record_family_have_record)) /\ exists ff_q_mdm_mce_family_have_record_minor_positive_target. ff_up_mce_record_family_have_record = ff_q_mdm_mce_family_have_record_minor_positive_target * S ((S (ff_index_mdm_prefix_mce_family_have_record_minor_positive)) * ff_us_mce_record_family_have_record) + (ff_value_mdm_prefix_mce_family_have_record_minor_positive))))))) /\ (forall ff_index_mdm_prefix_mce_family_have_record_minor_negative. (exists ff_gap_mdm_lt_mce_family_have_record_minor_negative_index_bound. ff_gap_mdm_lt_mce_family_have_record_minor_negative_index_bound + S (ff_index_mdm_prefix_mce_family_have_record_minor_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_family_have_record_minor_negative ff_column_mdm_prefix_mce_family_have_record_minor_negative ff_value_mdm_prefix_mce_family_have_record_minor_negative. (ff_index_mdm_prefix_mce_family_have_record_minor_negative = (q) * ff_row_mdm_prefix_mce_family_have_record_minor_negative + ff_column_mdm_prefix_mce_family_have_record_minor_negative /\ ((exists ff_gap_mdm_lt_mce_family_have_record_minor_negative_column_bound. ff_gap_mdm_lt_mce_family_have_record_minor_negative_column_bound + S (ff_column_mdm_prefix_mce_family_have_record_minor_negative) = (q)) /\ ((exists ff_row_mdm_cell_mce_family_have_record_minor_negative_cell ff_column_mdm_cell_mce_family_have_record_minor_negative_cell. (((((exists ff_gap_mdm_lt_mce_family_have_record_minor_negative_cell_row_before. ff_gap_mdm_lt_mce_family_have_record_minor_negative_cell_row_before + S (ff_row_mdm_prefix_mce_family_have_record_minor_negative) = (0)) /\ ff_row_mdm_cell_mce_family_have_record_minor_negative_cell = ff_row_mdm_prefix_mce_family_have_record_minor_negative) \/ ((exists ff_gap_mdm_le_mce_family_have_record_minor_negative_cell_row_after. ff_gap_mdm_le_mce_family_have_record_minor_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mce_family_have_record_minor_negative)) /\ ff_row_mdm_cell_mce_family_have_record_minor_negative_cell = S ff_row_mdm_prefix_mce_family_have_record_minor_negative))) /\ (((((exists ff_gap_mdm_lt_mce_family_have_record_minor_negative_cell_column_before. ff_gap_mdm_lt_mce_family_have_record_minor_negative_cell_column_before + S (ff_column_mdm_prefix_mce_family_have_record_minor_negative) = (i)) /\ ff_column_mdm_cell_mce_family_have_record_minor_negative_cell = ff_column_mdm_prefix_mce_family_have_record_minor_negative) \/ ((exists ff_gap_mdm_le_mce_family_have_record_minor_negative_cell_column_after. ff_gap_mdm_le_mce_family_have_record_minor_negative_cell_column_after + (i) = (ff_column_mdm_prefix_mce_family_have_record_minor_negative)) /\ ff_column_mdm_cell_mce_family_have_record_minor_negative_cell = S ff_column_mdm_prefix_mce_family_have_record_minor_negative))) /\ (((exists ff_h_mdm_mce_family_have_record_minor_negative_cell_source. ff_h_mdm_mce_family_have_record_minor_negative_cell_source + S (ff_value_mdm_prefix_mce_family_have_record_minor_negative) = S ((S ((ff_row_mdm_cell_mce_family_have_record_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_family_have_record_minor_negative_cell))) * nc)) /\ exists ff_q_mdm_mce_family_have_record_minor_negative_cell_source. nb = ff_q_mdm_mce_family_have_record_minor_negative_cell_source * S ((S ((ff_row_mdm_cell_mce_family_have_record_minor_negative_cell) * (S (q)) + (ff_column_mdm_cell_mce_family_have_record_minor_negative_cell))) * nc) + (ff_value_mdm_prefix_mce_family_have_record_minor_negative)))))) /\ (((exists ff_h_mdm_mce_family_have_record_minor_negative_target. ff_h_mdm_mce_family_have_record_minor_negative_target + S (ff_value_mdm_prefix_mce_family_have_record_minor_negative) = S ((S (ff_index_mdm_prefix_mce_family_have_record_minor_negative)) * ff_ut_mce_record_family_have_record)) /\ exists ff_q_mdm_mce_family_have_record_minor_negative_target. ff_un_mce_record_family_have_record = ff_q_mdm_mce_family_have_record_minor_negative_target * S ((S (ff_index_mdm_prefix_mce_family_have_record_minor_negative)) * ff_ut_mce_record_family_have_record) + (ff_value_mdm_prefix_mce_family_have_record_minor_negative)))))))))))) - 0042
specialize hprefix i - 0043
apply hprefix - 0044
exact hsplit_right - 0045
cases hprevious - 0046
cases hprevious_witness - 0047
exists x2 - 0048
split - 0049
specialize hext_witness_witness_right i - 0050
specialize hext_witness_witness_right x2 - 0051
apply hext_witness_witness_right - 0052
exact hsplit_right - 0053
exact hprevious_witness_left - 0054
exact hprevious_witness_right