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. ∀ j. Lt(j,S q) → ∃ x. SignedMinorRecord(pb,pc,nb,nc,q,j,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 36 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–7
02Establish hrowL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.
03Establish hminorL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta signed matrix minor exists.
- L14
have hminor : ∃ up. ∃ us. ∃ un. ∃ ut. SignedMatrixMinor(pb,pc,nb,nc,S q,0,j,q,up,us,un,ut)Definitions: SignedMatrixMinorOriginal native command in the exact edition - L15
specialize beta_signed_matrix_minor_exists pb - L16
specialize beta_signed_matrix_minor_exists pc - L17
specialize beta_signed_matrix_minor_exists nb - L18
specialize beta_signed_matrix_minor_exists nc - L19
specialize beta_signed_matrix_minor_exists q - L20
specialize beta_signed_matrix_minor_exists 0 - L21
specialize beta_signed_matrix_minor_exists j - L22
apply beta_signed_matrix_minor_exists - L23
exact hrow
04Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact hj
05Separate the logical casesL25–28
06Construct an explicit witnessL29–33
Supply the displayed value, then prove that it has the required property.
- L29
exists ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) * S ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) + ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) - L30
exists x - L31
exists x1 - L32
exists x2 - L33
exists x3
07Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
split
08Calculate and transport equalitiesL35–35
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L35
refl
09Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hminor_witness_witness_witness_witness
Original defined command ledger · 36 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro q - 0006
intro j - 0007
intro hj - 0008
have hrow : exists ff_gap_mce_record_row. ff_gap_mce_record_row + S (0) = (S q) - 0009
specialize succ_le_succ 0 - 0010
specialize succ_le_succ q - 0011
apply succ_le_succ - 0012
specialize zero_le q - 0013
exact zero_le - 0014
have hminor : exists up us un ut. (((forall ff_index_mdm_prefix_mce_record_projection_positive. (exists ff_gap_mdm_lt_mce_record_projection_positive_index_bound. ff_gap_mdm_lt_mce_record_projection_positive_index_bound + S (ff_index_mdm_prefix_mce_record_projection_positive) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_record_projection_positive ff_column_mdm_prefix_mce_record_projection_positive ff_value_mdm_prefix_mce_record_projection_positive. (ff_index_mdm_prefix_mce_record_projection_positive = (q) * ff_row_mdm_prefix_mce_record_projection_positive + ff_column_mdm_prefix_mce_record_projection_positive /\ ((exists ff_gap_mdm_lt_mce_record_projection_positive_column_bound. ff_gap_mdm_lt_mce_record_projection_positive_column_bound + S (ff_column_mdm_prefix_mce_record_projection_positive) = (q)) /\ ((exists ff_row_mdm_cell_mce_record_projection_positive_cell ff_column_mdm_cell_mce_record_projection_positive_cell. (((((exists ff_gap_mdm_lt_mce_record_projection_positive_cell_row_before. ff_gap_mdm_lt_mce_record_projection_positive_cell_row_before + S (ff_row_mdm_prefix_mce_record_projection_positive) = (0)) /\ ff_row_mdm_cell_mce_record_projection_positive_cell = ff_row_mdm_prefix_mce_record_projection_positive) \/ ((exists ff_gap_mdm_le_mce_record_projection_positive_cell_row_after. ff_gap_mdm_le_mce_record_projection_positive_cell_row_after + (0) = (ff_row_mdm_prefix_mce_record_projection_positive)) /\ ff_row_mdm_cell_mce_record_projection_positive_cell = S ff_row_mdm_prefix_mce_record_projection_positive))) /\ (((((exists ff_gap_mdm_lt_mce_record_projection_positive_cell_column_before. ff_gap_mdm_lt_mce_record_projection_positive_cell_column_before + S (ff_column_mdm_prefix_mce_record_projection_positive) = (j)) /\ ff_column_mdm_cell_mce_record_projection_positive_cell = ff_column_mdm_prefix_mce_record_projection_positive) \/ ((exists ff_gap_mdm_le_mce_record_projection_positive_cell_column_after. ff_gap_mdm_le_mce_record_projection_positive_cell_column_after + (j) = (ff_column_mdm_prefix_mce_record_projection_positive)) /\ ff_column_mdm_cell_mce_record_projection_positive_cell = S ff_column_mdm_prefix_mce_record_projection_positive))) /\ (((exists ff_h_mdm_mce_record_projection_positive_cell_source. ff_h_mdm_mce_record_projection_positive_cell_source + S (ff_value_mdm_prefix_mce_record_projection_positive) = S ((S ((ff_row_mdm_cell_mce_record_projection_positive_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_positive_cell))) * pc)) /\ exists ff_q_mdm_mce_record_projection_positive_cell_source. pb = ff_q_mdm_mce_record_projection_positive_cell_source * S ((S ((ff_row_mdm_cell_mce_record_projection_positive_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_positive_cell))) * pc) + (ff_value_mdm_prefix_mce_record_projection_positive)))))) /\ (((exists ff_h_mdm_mce_record_projection_positive_target. ff_h_mdm_mce_record_projection_positive_target + S (ff_value_mdm_prefix_mce_record_projection_positive) = S ((S (ff_index_mdm_prefix_mce_record_projection_positive)) * us)) /\ exists ff_q_mdm_mce_record_projection_positive_target. up = ff_q_mdm_mce_record_projection_positive_target * S ((S (ff_index_mdm_prefix_mce_record_projection_positive)) * us) + (ff_value_mdm_prefix_mce_record_projection_positive))))))) /\ (forall ff_index_mdm_prefix_mce_record_projection_negative. (exists ff_gap_mdm_lt_mce_record_projection_negative_index_bound. ff_gap_mdm_lt_mce_record_projection_negative_index_bound + S (ff_index_mdm_prefix_mce_record_projection_negative) = ((q) * (q))) -> exists ff_row_mdm_prefix_mce_record_projection_negative ff_column_mdm_prefix_mce_record_projection_negative ff_value_mdm_prefix_mce_record_projection_negative. (ff_index_mdm_prefix_mce_record_projection_negative = (q) * ff_row_mdm_prefix_mce_record_projection_negative + ff_column_mdm_prefix_mce_record_projection_negative /\ ((exists ff_gap_mdm_lt_mce_record_projection_negative_column_bound. ff_gap_mdm_lt_mce_record_projection_negative_column_bound + S (ff_column_mdm_prefix_mce_record_projection_negative) = (q)) /\ ((exists ff_row_mdm_cell_mce_record_projection_negative_cell ff_column_mdm_cell_mce_record_projection_negative_cell. (((((exists ff_gap_mdm_lt_mce_record_projection_negative_cell_row_before. ff_gap_mdm_lt_mce_record_projection_negative_cell_row_before + S (ff_row_mdm_prefix_mce_record_projection_negative) = (0)) /\ ff_row_mdm_cell_mce_record_projection_negative_cell = ff_row_mdm_prefix_mce_record_projection_negative) \/ ((exists ff_gap_mdm_le_mce_record_projection_negative_cell_row_after. ff_gap_mdm_le_mce_record_projection_negative_cell_row_after + (0) = (ff_row_mdm_prefix_mce_record_projection_negative)) /\ ff_row_mdm_cell_mce_record_projection_negative_cell = S ff_row_mdm_prefix_mce_record_projection_negative))) /\ (((((exists ff_gap_mdm_lt_mce_record_projection_negative_cell_column_before. ff_gap_mdm_lt_mce_record_projection_negative_cell_column_before + S (ff_column_mdm_prefix_mce_record_projection_negative) = (j)) /\ ff_column_mdm_cell_mce_record_projection_negative_cell = ff_column_mdm_prefix_mce_record_projection_negative) \/ ((exists ff_gap_mdm_le_mce_record_projection_negative_cell_column_after. ff_gap_mdm_le_mce_record_projection_negative_cell_column_after + (j) = (ff_column_mdm_prefix_mce_record_projection_negative)) /\ ff_column_mdm_cell_mce_record_projection_negative_cell = S ff_column_mdm_prefix_mce_record_projection_negative))) /\ (((exists ff_h_mdm_mce_record_projection_negative_cell_source. ff_h_mdm_mce_record_projection_negative_cell_source + S (ff_value_mdm_prefix_mce_record_projection_negative) = S ((S ((ff_row_mdm_cell_mce_record_projection_negative_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_negative_cell))) * nc)) /\ exists ff_q_mdm_mce_record_projection_negative_cell_source. nb = ff_q_mdm_mce_record_projection_negative_cell_source * S ((S ((ff_row_mdm_cell_mce_record_projection_negative_cell) * (S q) + (ff_column_mdm_cell_mce_record_projection_negative_cell))) * nc) + (ff_value_mdm_prefix_mce_record_projection_negative)))))) /\ (((exists ff_h_mdm_mce_record_projection_negative_target. ff_h_mdm_mce_record_projection_negative_target + S (ff_value_mdm_prefix_mce_record_projection_negative) = S ((S (ff_index_mdm_prefix_mce_record_projection_negative)) * ut)) /\ exists ff_q_mdm_mce_record_projection_negative_target. un = ff_q_mdm_mce_record_projection_negative_target * S ((S (ff_index_mdm_prefix_mce_record_projection_negative)) * ut) + (ff_value_mdm_prefix_mce_record_projection_negative))))))))) - 0015
specialize beta_signed_matrix_minor_exists pb - 0016
specialize beta_signed_matrix_minor_exists pc - 0017
specialize beta_signed_matrix_minor_exists nb - 0018
specialize beta_signed_matrix_minor_exists nc - 0019
specialize beta_signed_matrix_minor_exists q - 0020
specialize beta_signed_matrix_minor_exists 0 - 0021
specialize beta_signed_matrix_minor_exists j - 0022
apply beta_signed_matrix_minor_exists - 0023
exact hrow - 0024
exact hj - 0025
cases hminor - 0026
cases hminor_witness - 0027
cases hminor_witness_witness - 0028
cases hminor_witness_witness_witness - 0029
exists ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) * S ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) + ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3)))) - 0030
exists x - 0031
exists x1 - 0032
exists x2 - 0033
exists x3 - 0034
split - 0035
refl - 0036
exact hminor_witness_witness_witness_witness