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
∀ ab. ∀ ac. ∀ db. ∀ dc. ∀ eb. ∀ ec. ∀ fb. ∀ fc. ∀ l. ∃ ub. ∃ uc. ∃ vb. ∃ vc. SignedAlternatingProductPrefix(ab,ac,db,dc,eb,ec,fb,fc,ub,uc,vb,vc,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 89 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–8
02Induction on lL9–9
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L9
induction l
03Construct an explicit witnessL10–13
04Use earlier factsL14–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
specialize signed_alternating_product_prefix_empty ab - L15
specialize signed_alternating_product_prefix_empty ac - L16
specialize signed_alternating_product_prefix_empty db - L17
specialize signed_alternating_product_prefix_empty dc - L18
specialize signed_alternating_product_prefix_empty eb - L19
specialize signed_alternating_product_prefix_empty ec - L20
specialize signed_alternating_product_prefix_empty fb - L21
specialize signed_alternating_product_prefix_empty fc - L22
specialize signed_alternating_product_prefix_empty 0 - L23
specialize signed_alternating_product_prefix_empty 0
05Use earlier factsL24–26
06Separate the logical casesL27–30
07Establish hapL31–35
Establish this local claim before using it. It is not an additional assumption.
08Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hap
09Establish hanL37–41
Establish this local claim before using it. It is not an additional assumption.
10Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases han
11Establish hbpL43–47
Establish this local claim before using it. It is not an additional assumption.
12Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
cases hbp
13Establish hbnL49–53
Establish this local claim before using it. It is not an additional assumption.
14Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases hbn
15Establish htermL55–61
Establish this local claim before using it. It is not an additional assumption.
- L55
have hterm : exists p n. (((exists ff_even_mce_term_exists_term. l = 2 * ff_even_mce_term_exists_term) /\ (p = (x4) * (x6) + (x5) * (x7) /\ n = (x4) * (x7) + (x5) * (x6))) \/ ((exists ff_odd_mce_term_exists_term. l = 2 * ff_odd_mce_term_exists_term + 1) /\ (p = (x4) * (x7) + (x5) * (x6) /\ n = (x4) * (x6) + (x5) * (x7)))) - L56
specialize signed_alternating_cofactor_term_exists x4 - L57
specialize signed_alternating_cofactor_term_exists x5 - L58
specialize signed_alternating_cofactor_term_exists x6 - L59
specialize signed_alternating_cofactor_term_exists x7 - L60
specialize signed_alternating_cofactor_term_exists l - L61
exact signed_alternating_cofactor_term_exists
16Separate the logical casesL62–63
17Use earlier factsL64–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
specialize signed_alternating_product_prefix_extend ab - L65
specialize signed_alternating_product_prefix_extend ac - L66
specialize signed_alternating_product_prefix_extend db - L67
specialize signed_alternating_product_prefix_extend dc - L68
specialize signed_alternating_product_prefix_extend eb - L69
specialize signed_alternating_product_prefix_extend ec - L70
specialize signed_alternating_product_prefix_extend fb - L71
specialize signed_alternating_product_prefix_extend fc - L72
specialize signed_alternating_product_prefix_extend x - L73
specialize signed_alternating_product_prefix_extend x1
18Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
specialize signed_alternating_product_prefix_extend x2 - L75
specialize signed_alternating_product_prefix_extend x3 - L76
specialize signed_alternating_product_prefix_extend l - L77
specialize signed_alternating_product_prefix_extend x4 - L78
specialize signed_alternating_product_prefix_extend x5 - L79
specialize signed_alternating_product_prefix_extend x6 - L80
specialize signed_alternating_product_prefix_extend x7 - L81
specialize signed_alternating_product_prefix_extend x8 - L82
specialize signed_alternating_product_prefix_extend x9 - L83
apply signed_alternating_product_prefix_extend
Original defined command ledger · 89 lines
- 0001
intro ab - 0002
intro ac - 0003
intro db - 0004
intro dc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
induction l - 0010
exists 0 - 0011
exists 0 - 0012
exists 0 - 0013
exists 0 - 0014
specialize signed_alternating_product_prefix_empty ab - 0015
specialize signed_alternating_product_prefix_empty ac - 0016
specialize signed_alternating_product_prefix_empty db - 0017
specialize signed_alternating_product_prefix_empty dc - 0018
specialize signed_alternating_product_prefix_empty eb - 0019
specialize signed_alternating_product_prefix_empty ec - 0020
specialize signed_alternating_product_prefix_empty fb - 0021
specialize signed_alternating_product_prefix_empty fc - 0022
specialize signed_alternating_product_prefix_empty 0 - 0023
specialize signed_alternating_product_prefix_empty 0 - 0024
specialize signed_alternating_product_prefix_empty 0 - 0025
specialize signed_alternating_product_prefix_empty 0 - 0026
exact signed_alternating_product_prefix_empty - 0027
cases IH - 0028
cases IH_witness - 0029
cases IH_witness_witness - 0030
cases IH_witness_witness_witness - 0031
have hap : exists a. (((exists ff_h_mce_exists_ap. ff_h_mce_exists_ap + S (a) = S ((S (l)) * ac)) /\ exists ff_q_mce_exists_ap. ab = ff_q_mce_exists_ap * S ((S (l)) * ac) + (a))) - 0032
specialize beta_at_exists ab - 0033
specialize beta_at_exists ac - 0034
specialize beta_at_exists l - 0035
exact beta_at_exists - 0036
cases hap - 0037
have han : exists a. (((exists ff_h_mce_exists_an. ff_h_mce_exists_an + S (a) = S ((S (l)) * dc)) /\ exists ff_q_mce_exists_an. db = ff_q_mce_exists_an * S ((S (l)) * dc) + (a))) - 0038
specialize beta_at_exists db - 0039
specialize beta_at_exists dc - 0040
specialize beta_at_exists l - 0041
exact beta_at_exists - 0042
cases han - 0043
have hbp : exists a. (((exists ff_h_mce_exists_bp. ff_h_mce_exists_bp + S (a) = S ((S (l)) * ec)) /\ exists ff_q_mce_exists_bp. eb = ff_q_mce_exists_bp * S ((S (l)) * ec) + (a))) - 0044
specialize beta_at_exists eb - 0045
specialize beta_at_exists ec - 0046
specialize beta_at_exists l - 0047
exact beta_at_exists - 0048
cases hbp - 0049
have hbn : exists a. (((exists ff_h_mce_exists_bn. ff_h_mce_exists_bn + S (a) = S ((S (l)) * fc)) /\ exists ff_q_mce_exists_bn. fb = ff_q_mce_exists_bn * S ((S (l)) * fc) + (a))) - 0050
specialize beta_at_exists fb - 0051
specialize beta_at_exists fc - 0052
specialize beta_at_exists l - 0053
exact beta_at_exists - 0054
cases hbn - 0055
have hterm : exists p n. (((exists ff_even_mce_term_exists_term. l = 2 * ff_even_mce_term_exists_term) /\ (p = (x4) * (x6) + (x5) * (x7) /\ n = (x4) * (x7) + (x5) * (x6))) \/ ((exists ff_odd_mce_term_exists_term. l = 2 * ff_odd_mce_term_exists_term + 1) /\ (p = (x4) * (x7) + (x5) * (x6) /\ n = (x4) * (x6) + (x5) * (x7)))) - 0056
specialize signed_alternating_cofactor_term_exists x4 - 0057
specialize signed_alternating_cofactor_term_exists x5 - 0058
specialize signed_alternating_cofactor_term_exists x6 - 0059
specialize signed_alternating_cofactor_term_exists x7 - 0060
specialize signed_alternating_cofactor_term_exists l - 0061
exact signed_alternating_cofactor_term_exists - 0062
cases hterm - 0063
cases hterm_witness - 0064
specialize signed_alternating_product_prefix_extend ab - 0065
specialize signed_alternating_product_prefix_extend ac - 0066
specialize signed_alternating_product_prefix_extend db - 0067
specialize signed_alternating_product_prefix_extend dc - 0068
specialize signed_alternating_product_prefix_extend eb - 0069
specialize signed_alternating_product_prefix_extend ec - 0070
specialize signed_alternating_product_prefix_extend fb - 0071
specialize signed_alternating_product_prefix_extend fc - 0072
specialize signed_alternating_product_prefix_extend x - 0073
specialize signed_alternating_product_prefix_extend x1 - 0074
specialize signed_alternating_product_prefix_extend x2 - 0075
specialize signed_alternating_product_prefix_extend x3 - 0076
specialize signed_alternating_product_prefix_extend l - 0077
specialize signed_alternating_product_prefix_extend x4 - 0078
specialize signed_alternating_product_prefix_extend x5 - 0079
specialize signed_alternating_product_prefix_extend x6 - 0080
specialize signed_alternating_product_prefix_extend x7 - 0081
specialize signed_alternating_product_prefix_extend x8 - 0082
specialize signed_alternating_product_prefix_extend x9 - 0083
apply signed_alternating_product_prefix_extend - 0084
exact IH_witness_witness_witness_witness - 0085
exact hap_witness - 0086
exact han_witness - 0087
exact hbp_witness - 0088
exact hbn_witness - 0089
exact hterm_witness_witness