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. ∀ eb. ∀ ec. ∀ fb. ∀ fc. ∃ p. ∃ n. SignedFirstRowCofactorFold(pb,pc,nb,nc,q,eb,ec,fb,fc,p,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 45 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 (2)
01Fix variables and assumptionsL1–9
02Establish hrowL10–16
Establish this local claim before using it. It is not an additional assumption.
- L10
have hrow : ∃ ab. ∃ ac. ∃ db. ∃ dc. MatrixAffineSlice(pb,pc,0,1,ab,ac,S q) ∧ MatrixAffineSlice(nb,nc,0,1,db,dc,S q)Definitions: MatrixAffineSliceOriginal native command in the exact edition - L11
specialize signed_matrix_first_row_components_exists pb - L12
specialize signed_matrix_first_row_components_exists pc - L13
specialize signed_matrix_first_row_components_exists nb - L14
specialize signed_matrix_first_row_components_exists nc - L15
specialize signed_matrix_first_row_components_exists q - L16
exact signed_matrix_first_row_components_exists
03Separate the logical casesL17–21
04Establish hfoldL22–31
Establish this local claim before using it. It is not an additional assumption.
- L22
have hfold : ∃ p. ∃ n. SignedAlternatingCofactorFold(x,x1,x2,x3,eb,ec,fb,fc,S q,p,n)Definitions: SignedAlternatingCofactorFoldOriginal native command in the exact edition - L23
specialize signed_alternating_cofactor_fold_exists x - L24
specialize signed_alternating_cofactor_fold_exists x1 - L25
specialize signed_alternating_cofactor_fold_exists x2 - L26
specialize signed_alternating_cofactor_fold_exists x3 - L27
specialize signed_alternating_cofactor_fold_exists eb - L28
specialize signed_alternating_cofactor_fold_exists ec - L29
specialize signed_alternating_cofactor_fold_exists fb - L30
specialize signed_alternating_cofactor_fold_exists fc - L31
specialize signed_alternating_cofactor_fold_exists (S q)
05Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact signed_alternating_cofactor_fold_exists
06Separate the logical casesL33–34
07Construct an explicit witnessL35–40
08Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
split
09Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hrow_witness_witness_witness_witness_left
10Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
split
Original defined command ledger · 45 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro q - 0006
intro eb - 0007
intro ec - 0008
intro fb - 0009
intro fc - 0010
have hrow : exists ab ac db dc. ((forall ff_index_mcp_mce_actual_row_positive ff_source_mcp_mce_actual_row_positive ff_target_mcp_mce_actual_row_positive. (exists mcp_gap_mce_actual_row_positive_bound. mcp_gap_mce_actual_row_positive_bound + S (ff_index_mcp_mce_actual_row_positive) = (S q)) -> (((exists fs_h_mcp_mce_actual_row_positive_source. fs_h_mcp_mce_actual_row_positive_source + S (ff_source_mcp_mce_actual_row_positive) = S ((S ((0) + (1) * ff_index_mcp_mce_actual_row_positive)) * pc)) /\ exists fs_q_mcp_mce_actual_row_positive_source. pb = fs_q_mcp_mce_actual_row_positive_source * S ((S ((0) + (1) * ff_index_mcp_mce_actual_row_positive)) * pc) + (ff_source_mcp_mce_actual_row_positive))) -> (((exists fs_h_mcp_mce_actual_row_positive_target. fs_h_mcp_mce_actual_row_positive_target + S (ff_target_mcp_mce_actual_row_positive) = S ((S (ff_index_mcp_mce_actual_row_positive)) * ac)) /\ exists fs_q_mcp_mce_actual_row_positive_target. ab = fs_q_mcp_mce_actual_row_positive_target * S ((S (ff_index_mcp_mce_actual_row_positive)) * ac) + (ff_target_mcp_mce_actual_row_positive))) -> ff_target_mcp_mce_actual_row_positive = ff_source_mcp_mce_actual_row_positive) /\ (forall ff_index_mcp_mce_actual_row_negative ff_source_mcp_mce_actual_row_negative ff_target_mcp_mce_actual_row_negative. (exists mcp_gap_mce_actual_row_negative_bound. mcp_gap_mce_actual_row_negative_bound + S (ff_index_mcp_mce_actual_row_negative) = (S q)) -> (((exists fs_h_mcp_mce_actual_row_negative_source. fs_h_mcp_mce_actual_row_negative_source + S (ff_source_mcp_mce_actual_row_negative) = S ((S ((0) + (1) * ff_index_mcp_mce_actual_row_negative)) * nc)) /\ exists fs_q_mcp_mce_actual_row_negative_source. nb = fs_q_mcp_mce_actual_row_negative_source * S ((S ((0) + (1) * ff_index_mcp_mce_actual_row_negative)) * nc) + (ff_source_mcp_mce_actual_row_negative))) -> (((exists fs_h_mcp_mce_actual_row_negative_target. fs_h_mcp_mce_actual_row_negative_target + S (ff_target_mcp_mce_actual_row_negative) = S ((S (ff_index_mcp_mce_actual_row_negative)) * dc)) /\ exists fs_q_mcp_mce_actual_row_negative_target. db = fs_q_mcp_mce_actual_row_negative_target * S ((S (ff_index_mcp_mce_actual_row_negative)) * dc) + (ff_target_mcp_mce_actual_row_negative))) -> ff_target_mcp_mce_actual_row_negative = ff_source_mcp_mce_actual_row_negative)) - 0011
specialize signed_matrix_first_row_components_exists pb - 0012
specialize signed_matrix_first_row_components_exists pc - 0013
specialize signed_matrix_first_row_components_exists nb - 0014
specialize signed_matrix_first_row_components_exists nc - 0015
specialize signed_matrix_first_row_components_exists q - 0016
exact signed_matrix_first_row_components_exists - 0017
cases hrow - 0018
cases hrow_witness - 0019
cases hrow_witness_witness - 0020
cases hrow_witness_witness_witness - 0021
cases hrow_witness_witness_witness_witness - 0022
have hfold : exists p n. (exists ff_ub_mce_fold_actual_fold ff_uc_mce_fold_actual_fold ff_vb_mce_fold_actual_fold ff_vc_mce_fold_actual_fold. ((forall ff_index_mce_alternating_actual_fold_prefix. (exists ff_gap_mce_actual_fold_prefix_index. ff_gap_mce_actual_fold_prefix_index + S (ff_index_mce_alternating_actual_fold_prefix) = (S q)) -> exists ff_ap_mce_alternating_actual_fold_prefix ff_an_mce_alternating_actual_fold_prefix ff_bp_mce_alternating_actual_fold_prefix ff_bn_mce_alternating_actual_fold_prefix ff_p_mce_alternating_actual_fold_prefix ff_n_mce_alternating_actual_fold_prefix. ((((exists ff_h_mce_actual_fold_prefix_ap. ff_h_mce_actual_fold_prefix_ap + S (ff_ap_mce_alternating_actual_fold_prefix) = S ((S (ff_index_mce_alternating_actual_fold_prefix)) * x1)) /\ exists ff_q_mce_actual_fold_prefix_ap. x = ff_q_mce_actual_fold_prefix_ap * S ((S (ff_index_mce_alternating_actual_fold_prefix)) * x1) + (ff_ap_mce_alternating_actual_fold_prefix))) /\ ((((exists ff_h_mce_actual_fold_prefix_an. ff_h_mce_actual_fold_prefix_an + S (ff_an_mce_alternating_actual_fold_prefix) = S ((S (ff_index_mce_alternating_actual_fold_prefix)) * x3)) /\ exists ff_q_mce_actual_fold_prefix_an. x2 = ff_q_mce_actual_fold_prefix_an * S ((S (ff_index_mce_alternating_actual_fold_prefix)) * x3) + (ff_an_mce_alternating_actual_fold_prefix))) /\ ((((exists ff_h_mce_actual_fold_prefix_bp. ff_h_mce_actual_fold_prefix_bp + S (ff_bp_mce_alternating_actual_fold_prefix) = S ((S (ff_index_mce_alternating_actual_fold_prefix)) * ec)) /\ exists ff_q_mce_actual_fold_prefix_bp. eb = ff_q_mce_actual_fold_prefix_bp * S ((S (ff_index_mce_alternating_actual_fold_prefix)) * ec) + (ff_bp_mce_alternating_actual_fold_prefix))) /\ ((((exists ff_h_mce_actual_fold_prefix_bn. ff_h_mce_actual_fold_prefix_bn + S (ff_bn_mce_alternating_actual_fold_prefix) = S ((S (ff_index_mce_alternating_actual_fold_prefix)) * fc)) /\ exists ff_q_mce_actual_fold_prefix_bn. fb = ff_q_mce_actual_fold_prefix_bn * S ((S (ff_index_mce_alternating_actual_fold_prefix)) * fc) + (ff_bn_mce_alternating_actual_fold_prefix))) /\ ((((exists ff_h_mce_actual_fold_prefix_positive. ff_h_mce_actual_fold_prefix_positive + S (ff_p_mce_alternating_actual_fold_prefix) = S ((S (ff_index_mce_alternating_actual_fold_prefix)) * ff_uc_mce_fold_actual_fold)) /\ exists ff_q_mce_actual_fold_prefix_positive. ff_ub_mce_fold_actual_fold = ff_q_mce_actual_fold_prefix_positive * S ((S (ff_index_mce_alternating_actual_fold_prefix)) * ff_uc_mce_fold_actual_fold) + (ff_p_mce_alternating_actual_fold_prefix))) /\ ((((exists ff_h_mce_actual_fold_prefix_negative. ff_h_mce_actual_fold_prefix_negative + S (ff_n_mce_alternating_actual_fold_prefix) = S ((S (ff_index_mce_alternating_actual_fold_prefix)) * ff_vc_mce_fold_actual_fold)) /\ exists ff_q_mce_actual_fold_prefix_negative. ff_vb_mce_fold_actual_fold = ff_q_mce_actual_fold_prefix_negative * S ((S (ff_index_mce_alternating_actual_fold_prefix)) * ff_vc_mce_fold_actual_fold) + (ff_n_mce_alternating_actual_fold_prefix))) /\ (((exists ff_even_mce_term_actual_fold_prefix_term. ff_index_mce_alternating_actual_fold_prefix = 2 * ff_even_mce_term_actual_fold_prefix_term) /\ (ff_p_mce_alternating_actual_fold_prefix = (ff_ap_mce_alternating_actual_fold_prefix) * (ff_bp_mce_alternating_actual_fold_prefix) + (ff_an_mce_alternating_actual_fold_prefix) * (ff_bn_mce_alternating_actual_fold_prefix) /\ ff_n_mce_alternating_actual_fold_prefix = (ff_ap_mce_alternating_actual_fold_prefix) * (ff_bn_mce_alternating_actual_fold_prefix) + (ff_an_mce_alternating_actual_fold_prefix) * (ff_bp_mce_alternating_actual_fold_prefix))) \/ ((exists ff_odd_mce_term_actual_fold_prefix_term. ff_index_mce_alternating_actual_fold_prefix = 2 * ff_odd_mce_term_actual_fold_prefix_term + 1) /\ (ff_p_mce_alternating_actual_fold_prefix = (ff_ap_mce_alternating_actual_fold_prefix) * (ff_bn_mce_alternating_actual_fold_prefix) + (ff_an_mce_alternating_actual_fold_prefix) * (ff_bp_mce_alternating_actual_fold_prefix) /\ ff_n_mce_alternating_actual_fold_prefix = (ff_ap_mce_alternating_actual_fold_prefix) * (ff_bp_mce_alternating_actual_fold_prefix) + (ff_an_mce_alternating_actual_fold_prefix) * (ff_bn_mce_alternating_actual_fold_prefix))))))))))) /\ ((exists ff_u_mce_actual_fold_positive ff_v_mce_actual_fold_positive. ((((exists ff_h_mce_actual_fold_positive_start. ff_h_mce_actual_fold_positive_start + S (0) = S ((S (0)) * ff_v_mce_actual_fold_positive)) /\ exists ff_q_mce_actual_fold_positive_start. ff_u_mce_actual_fold_positive = ff_q_mce_actual_fold_positive_start * S ((S (0)) * ff_v_mce_actual_fold_positive) + (0))) /\ ((((exists ff_h_mce_actual_fold_positive_terminal. ff_h_mce_actual_fold_positive_terminal + S (p) = S ((S ((S q))) * ff_v_mce_actual_fold_positive)) /\ exists ff_q_mce_actual_fold_positive_terminal. ff_u_mce_actual_fold_positive = ff_q_mce_actual_fold_positive_terminal * S ((S ((S q))) * ff_v_mce_actual_fold_positive) + (p))) /\ forall ff_i_mce_actual_fold_positive. (exists ff_lt_mce_actual_fold_positive_bound. ff_lt_mce_actual_fold_positive_bound + S ff_i_mce_actual_fold_positive = (S q)) -> exists ff_a_mce_actual_fold_positive ff_r_mce_actual_fold_positive ff_s_mce_actual_fold_positive. ((((exists ff_h_mce_actual_fold_positive_summand. ff_h_mce_actual_fold_positive_summand + S (ff_a_mce_actual_fold_positive) = S ((S (ff_i_mce_actual_fold_positive)) * ff_uc_mce_fold_actual_fold)) /\ exists ff_q_mce_actual_fold_positive_summand. ff_ub_mce_fold_actual_fold = ff_q_mce_actual_fold_positive_summand * S ((S (ff_i_mce_actual_fold_positive)) * ff_uc_mce_fold_actual_fold) + (ff_a_mce_actual_fold_positive))) /\ ((((exists ff_h_mce_actual_fold_positive_partial. ff_h_mce_actual_fold_positive_partial + S (ff_r_mce_actual_fold_positive) = S ((S (ff_i_mce_actual_fold_positive)) * ff_v_mce_actual_fold_positive)) /\ exists ff_q_mce_actual_fold_positive_partial. ff_u_mce_actual_fold_positive = ff_q_mce_actual_fold_positive_partial * S ((S (ff_i_mce_actual_fold_positive)) * ff_v_mce_actual_fold_positive) + (ff_r_mce_actual_fold_positive))) /\ ((((exists ff_h_mce_actual_fold_positive_successor. ff_h_mce_actual_fold_positive_successor + S (ff_s_mce_actual_fold_positive) = S ((S (S ff_i_mce_actual_fold_positive)) * ff_v_mce_actual_fold_positive)) /\ exists ff_q_mce_actual_fold_positive_successor. ff_u_mce_actual_fold_positive = ff_q_mce_actual_fold_positive_successor * S ((S (S ff_i_mce_actual_fold_positive)) * ff_v_mce_actual_fold_positive) + (ff_s_mce_actual_fold_positive))) /\ ff_s_mce_actual_fold_positive = ff_r_mce_actual_fold_positive + ff_a_mce_actual_fold_positive)))))) /\ (exists ff_u_mce_actual_fold_negative ff_v_mce_actual_fold_negative. ((((exists ff_h_mce_actual_fold_negative_start. ff_h_mce_actual_fold_negative_start + S (0) = S ((S (0)) * ff_v_mce_actual_fold_negative)) /\ exists ff_q_mce_actual_fold_negative_start. ff_u_mce_actual_fold_negative = ff_q_mce_actual_fold_negative_start * S ((S (0)) * ff_v_mce_actual_fold_negative) + (0))) /\ ((((exists ff_h_mce_actual_fold_negative_terminal. ff_h_mce_actual_fold_negative_terminal + S (n) = S ((S ((S q))) * ff_v_mce_actual_fold_negative)) /\ exists ff_q_mce_actual_fold_negative_terminal. ff_u_mce_actual_fold_negative = ff_q_mce_actual_fold_negative_terminal * S ((S ((S q))) * ff_v_mce_actual_fold_negative) + (n))) /\ forall ff_i_mce_actual_fold_negative. (exists ff_lt_mce_actual_fold_negative_bound. ff_lt_mce_actual_fold_negative_bound + S ff_i_mce_actual_fold_negative = (S q)) -> exists ff_a_mce_actual_fold_negative ff_r_mce_actual_fold_negative ff_s_mce_actual_fold_negative. ((((exists ff_h_mce_actual_fold_negative_summand. ff_h_mce_actual_fold_negative_summand + S (ff_a_mce_actual_fold_negative) = S ((S (ff_i_mce_actual_fold_negative)) * ff_vc_mce_fold_actual_fold)) /\ exists ff_q_mce_actual_fold_negative_summand. ff_vb_mce_fold_actual_fold = ff_q_mce_actual_fold_negative_summand * S ((S (ff_i_mce_actual_fold_negative)) * ff_vc_mce_fold_actual_fold) + (ff_a_mce_actual_fold_negative))) /\ ((((exists ff_h_mce_actual_fold_negative_partial. ff_h_mce_actual_fold_negative_partial + S (ff_r_mce_actual_fold_negative) = S ((S (ff_i_mce_actual_fold_negative)) * ff_v_mce_actual_fold_negative)) /\ exists ff_q_mce_actual_fold_negative_partial. ff_u_mce_actual_fold_negative = ff_q_mce_actual_fold_negative_partial * S ((S (ff_i_mce_actual_fold_negative)) * ff_v_mce_actual_fold_negative) + (ff_r_mce_actual_fold_negative))) /\ ((((exists ff_h_mce_actual_fold_negative_successor. ff_h_mce_actual_fold_negative_successor + S (ff_s_mce_actual_fold_negative) = S ((S (S ff_i_mce_actual_fold_negative)) * ff_v_mce_actual_fold_negative)) /\ exists ff_q_mce_actual_fold_negative_successor. ff_u_mce_actual_fold_negative = ff_q_mce_actual_fold_negative_successor * S ((S (S ff_i_mce_actual_fold_negative)) * ff_v_mce_actual_fold_negative) + (ff_s_mce_actual_fold_negative))) /\ ff_s_mce_actual_fold_negative = ff_r_mce_actual_fold_negative + ff_a_mce_actual_fold_negative))))))))) - 0023
specialize signed_alternating_cofactor_fold_exists x - 0024
specialize signed_alternating_cofactor_fold_exists x1 - 0025
specialize signed_alternating_cofactor_fold_exists x2 - 0026
specialize signed_alternating_cofactor_fold_exists x3 - 0027
specialize signed_alternating_cofactor_fold_exists eb - 0028
specialize signed_alternating_cofactor_fold_exists ec - 0029
specialize signed_alternating_cofactor_fold_exists fb - 0030
specialize signed_alternating_cofactor_fold_exists fc - 0031
specialize signed_alternating_cofactor_fold_exists (S q) - 0032
exact signed_alternating_cofactor_fold_exists - 0033
cases hfold - 0034
cases hfold_witness - 0035
exists x4 - 0036
exists x5 - 0037
exists x - 0038
exists x1 - 0039
exists x2 - 0040
exists x3 - 0041
split - 0042
exact hrow_witness_witness_witness_witness_left - 0043
split - 0044
exact hrow_witness_witness_witness_witness_right - 0045
exact hfold_witness_witness