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.
Exact expanded first-order arithmetic statement
forall pb pc nb nc eb ec fb fc qb qc rb rc ub uc vb vc wb wc zb zc l. (forall mdr_i_fold_input_0 mdr_a_fold_input_0. (exists mdr_gap_fold_input_0b. mdr_gap_fold_input_0b + S (mdr_i_fold_input_0) = (l)) -> (((exists ff_h_mdr_fold_input_0o. ff_h_mdr_fold_input_0o + S (mdr_a_fold_input_0) = S ((S (mdr_i_fold_input_0)) * pc)) /\ exists ff_q_mdr_fold_input_0o. pb = ff_q_mdr_fold_input_0o * S ((S (mdr_i_fold_input_0)) * pc) + (mdr_a_fold_input_0))) -> (((exists ff_h_mdr_fold_input_0n. ff_h_mdr_fold_input_0n + S (mdr_a_fold_input_0) = S ((S (mdr_i_fold_input_0)) * qc)) /\ exists ff_q_mdr_fold_input_0n. qb = ff_q_mdr_fold_input_0n * S ((S (mdr_i_fold_input_0)) * qc) + (mdr_a_fold_input_0)))) -> (forall mdr_i_fold_input_1 mdr_a_fold_input_1. (exists mdr_gap_fold_input_1b. mdr_gap_fold_input_1b + S (mdr_i_fold_input_1) = (l)) -> (((exists ff_h_mdr_fold_input_1o. ff_h_mdr_fold_input_1o + S (mdr_a_fold_input_1) = S ((S (mdr_i_fold_input_1)) * nc)) /\ exists ff_q_mdr_fold_input_1o. nb = ff_q_mdr_fold_input_1o * S ((S (mdr_i_fold_input_1)) * nc) + (mdr_a_fold_input_1))) -> (((exists ff_h_mdr_fold_input_1n. ff_h_mdr_fold_input_1n + S (mdr_a_fold_input_1) = S ((S (mdr_i_fold_input_1)) * rc)) /\ exists ff_q_mdr_fold_input_1n. rb = ff_q_mdr_fold_input_1n * S ((S (mdr_i_fold_input_1)) * rc) + (mdr_a_fold_input_1)))) -> (forall mdr_i_fold_input_2 mdr_a_fold_input_2. (exists mdr_gap_fold_input_2b. mdr_gap_fold_input_2b + S (mdr_i_fold_input_2) = (l)) -> (((exists ff_h_mdr_fold_input_2o. ff_h_mdr_fold_input_2o + S (mdr_a_fold_input_2) = S ((S (mdr_i_fold_input_2)) * ec)) /\ exists ff_q_mdr_fold_input_2o. eb = ff_q_mdr_fold_input_2o * S ((S (mdr_i_fold_input_2)) * ec) + (mdr_a_fold_input_2))) -> (((exists ff_h_mdr_fold_input_2n. ff_h_mdr_fold_input_2n + S (mdr_a_fold_input_2) = S ((S (mdr_i_fold_input_2)) * uc)) /\ exists ff_q_mdr_fold_input_2n. ub = ff_q_mdr_fold_input_2n * S ((S (mdr_i_fold_input_2)) * uc) + (mdr_a_fold_input_2)))) -> (forall mdr_i_fold_input_3 mdr_a_fold_input_3. (exists mdr_gap_fold_input_3b. mdr_gap_fold_input_3b + S (mdr_i_fold_input_3) = (l)) -> (((exists ff_h_mdr_fold_input_3o. ff_h_mdr_fold_input_3o + S (mdr_a_fold_input_3) = S ((S (mdr_i_fold_input_3)) * fc)) /\ exists ff_q_mdr_fold_input_3o. fb = ff_q_mdr_fold_input_3o * S ((S (mdr_i_fold_input_3)) * fc) + (mdr_a_fold_input_3))) -> (((exists ff_h_mdr_fold_input_3n. ff_h_mdr_fold_input_3n + S (mdr_a_fold_input_3) = S ((S (mdr_i_fold_input_3)) * vc)) /\ exists ff_q_mdr_fold_input_3n. vb = ff_q_mdr_fold_input_3n * S ((S (mdr_i_fold_input_3)) * vc) + (mdr_a_fold_input_3)))) -> (forall ff_index_mce_alternating_mdre_alt_source. (exists ff_gap_mce_mdre_alt_source_index. ff_gap_mce_mdre_alt_source_index + S (ff_index_mce_alternating_mdre_alt_source) = (l)) -> exists ff_ap_mce_alternating_mdre_alt_source ff_an_mce_alternating_mdre_alt_source ff_bp_mce_alternating_mdre_alt_source ff_bn_mce_alternating_mdre_alt_source ff_p_mce_alternating_mdre_alt_source ff_n_mce_alternating_mdre_alt_source. ((((exists ff_h_mce_mdre_alt_source_ap. ff_h_mce_mdre_alt_source_ap + S (ff_ap_mce_alternating_mdre_alt_source) = S ((S (ff_index_mce_alternating_mdre_alt_source)) * pc)) /\ exists ff_q_mce_mdre_alt_source_ap. pb = ff_q_mce_mdre_alt_source_ap * S ((S (ff_index_mce_alternating_mdre_alt_source)) * pc) + (ff_ap_mce_alternating_mdre_alt_source))) /\ ((((exists ff_h_mce_mdre_alt_source_an. ff_h_mce_mdre_alt_source_an + S (ff_an_mce_alternating_mdre_alt_source) = S ((S (ff_index_mce_alternating_mdre_alt_source)) * nc)) /\ exists ff_q_mce_mdre_alt_source_an. nb = ff_q_mce_mdre_alt_source_an * S ((S (ff_index_mce_alternating_mdre_alt_source)) * nc) + (ff_an_mce_alternating_mdre_alt_source))) /\ ((((exists ff_h_mce_mdre_alt_source_bp. ff_h_mce_mdre_alt_source_bp + S (ff_bp_mce_alternating_mdre_alt_source) = S ((S (ff_index_mce_alternating_mdre_alt_source)) * ec)) /\ exists ff_q_mce_mdre_alt_source_bp. eb = ff_q_mce_mdre_alt_source_bp * S ((S (ff_index_mce_alternating_mdre_alt_source)) * ec) + (ff_bp_mce_alternating_mdre_alt_source))) /\ ((((exists ff_h_mce_mdre_alt_source_bn. ff_h_mce_mdre_alt_source_bn + S (ff_bn_mce_alternating_mdre_alt_source) = S ((S (ff_index_mce_alternating_mdre_alt_source)) * fc)) /\ exists ff_q_mce_mdre_alt_source_bn. fb = ff_q_mce_mdre_alt_source_bn * S ((S (ff_index_mce_alternating_mdre_alt_source)) * fc) + (ff_bn_mce_alternating_mdre_alt_source))) /\ ((((exists ff_h_mce_mdre_alt_source_positive. ff_h_mce_mdre_alt_source_positive + S (ff_p_mce_alternating_mdre_alt_source) = S ((S (ff_index_mce_alternating_mdre_alt_source)) * wc)) /\ exists ff_q_mce_mdre_alt_source_positive. wb = ff_q_mce_mdre_alt_source_positive * S ((S (ff_index_mce_alternating_mdre_alt_source)) * wc) + (ff_p_mce_alternating_mdre_alt_source))) /\ ((((exists ff_h_mce_mdre_alt_source_negative. ff_h_mce_mdre_alt_source_negative + S (ff_n_mce_alternating_mdre_alt_source) = S ((S (ff_index_mce_alternating_mdre_alt_source)) * zc)) /\ exists ff_q_mce_mdre_alt_source_negative. zb = ff_q_mce_mdre_alt_source_negative * S ((S (ff_index_mce_alternating_mdre_alt_source)) * zc) + (ff_n_mce_alternating_mdre_alt_source))) /\ (((exists ff_even_mce_term_mdre_alt_source_term. ff_index_mce_alternating_mdre_alt_source = 2 * ff_even_mce_term_mdre_alt_source_term) /\ (ff_p_mce_alternating_mdre_alt_source = (ff_ap_mce_alternating_mdre_alt_source) * (ff_bp_mce_alternating_mdre_alt_source) + (ff_an_mce_alternating_mdre_alt_source) * (ff_bn_mce_alternating_mdre_alt_source) /\ ff_n_mce_alternating_mdre_alt_source = (ff_ap_mce_alternating_mdre_alt_source) * (ff_bn_mce_alternating_mdre_alt_source) + (ff_an_mce_alternating_mdre_alt_source) * (ff_bp_mce_alternating_mdre_alt_source))) \/ ((exists ff_odd_mce_term_mdre_alt_source_term. ff_index_mce_alternating_mdre_alt_source = 2 * ff_odd_mce_term_mdre_alt_source_term + 1) /\ (ff_p_mce_alternating_mdre_alt_source = (ff_ap_mce_alternating_mdre_alt_source) * (ff_bn_mce_alternating_mdre_alt_source) + (ff_an_mce_alternating_mdre_alt_source) * (ff_bp_mce_alternating_mdre_alt_source) /\ ff_n_mce_alternating_mdre_alt_source = (ff_ap_mce_alternating_mdre_alt_source) * (ff_bp_mce_alternating_mdre_alt_source) + (ff_an_mce_alternating_mdre_alt_source) * (ff_bn_mce_alternating_mdre_alt_source))))))))))) -> (forall ff_index_mce_alternating_mdre_alt_target. (exists ff_gap_mce_mdre_alt_target_index. ff_gap_mce_mdre_alt_target_index + S (ff_index_mce_alternating_mdre_alt_target) = (l)) -> exists ff_ap_mce_alternating_mdre_alt_target ff_an_mce_alternating_mdre_alt_target ff_bp_mce_alternating_mdre_alt_target ff_bn_mce_alternating_mdre_alt_target ff_p_mce_alternating_mdre_alt_target ff_n_mce_alternating_mdre_alt_target. ((((exists ff_h_mce_mdre_alt_target_ap. ff_h_mce_mdre_alt_target_ap + S (ff_ap_mce_alternating_mdre_alt_target) = S ((S (ff_index_mce_alternating_mdre_alt_target)) * qc)) /\ exists ff_q_mce_mdre_alt_target_ap. qb = ff_q_mce_mdre_alt_target_ap * S ((S (ff_index_mce_alternating_mdre_alt_target)) * qc) + (ff_ap_mce_alternating_mdre_alt_target))) /\ ((((exists ff_h_mce_mdre_alt_target_an. ff_h_mce_mdre_alt_target_an + S (ff_an_mce_alternating_mdre_alt_target) = S ((S (ff_index_mce_alternating_mdre_alt_target)) * rc)) /\ exists ff_q_mce_mdre_alt_target_an. rb = ff_q_mce_mdre_alt_target_an * S ((S (ff_index_mce_alternating_mdre_alt_target)) * rc) + (ff_an_mce_alternating_mdre_alt_target))) /\ ((((exists ff_h_mce_mdre_alt_target_bp. ff_h_mce_mdre_alt_target_bp + S (ff_bp_mce_alternating_mdre_alt_target) = S ((S (ff_index_mce_alternating_mdre_alt_target)) * uc)) /\ exists ff_q_mce_mdre_alt_target_bp. ub = ff_q_mce_mdre_alt_target_bp * S ((S (ff_index_mce_alternating_mdre_alt_target)) * uc) + (ff_bp_mce_alternating_mdre_alt_target))) /\ ((((exists ff_h_mce_mdre_alt_target_bn. ff_h_mce_mdre_alt_target_bn + S (ff_bn_mce_alternating_mdre_alt_target) = S ((S (ff_index_mce_alternating_mdre_alt_target)) * vc)) /\ exists ff_q_mce_mdre_alt_target_bn. vb = ff_q_mce_mdre_alt_target_bn * S ((S (ff_index_mce_alternating_mdre_alt_target)) * vc) + (ff_bn_mce_alternating_mdre_alt_target))) /\ ((((exists ff_h_mce_mdre_alt_target_positive. ff_h_mce_mdre_alt_target_positive + S (ff_p_mce_alternating_mdre_alt_target) = S ((S (ff_index_mce_alternating_mdre_alt_target)) * wc)) /\ exists ff_q_mce_mdre_alt_target_positive. wb = ff_q_mce_mdre_alt_target_positive * S ((S (ff_index_mce_alternating_mdre_alt_target)) * wc) + (ff_p_mce_alternating_mdre_alt_target))) /\ ((((exists ff_h_mce_mdre_alt_target_negative. ff_h_mce_mdre_alt_target_negative + S (ff_n_mce_alternating_mdre_alt_target) = S ((S (ff_index_mce_alternating_mdre_alt_target)) * zc)) /\ exists ff_q_mce_mdre_alt_target_negative. zb = ff_q_mce_mdre_alt_target_negative * S ((S (ff_index_mce_alternating_mdre_alt_target)) * zc) + (ff_n_mce_alternating_mdre_alt_target))) /\ (((exists ff_even_mce_term_mdre_alt_target_term. ff_index_mce_alternating_mdre_alt_target = 2 * ff_even_mce_term_mdre_alt_target_term) /\ (ff_p_mce_alternating_mdre_alt_target = (ff_ap_mce_alternating_mdre_alt_target) * (ff_bp_mce_alternating_mdre_alt_target) + (ff_an_mce_alternating_mdre_alt_target) * (ff_bn_mce_alternating_mdre_alt_target) /\ ff_n_mce_alternating_mdre_alt_target = (ff_ap_mce_alternating_mdre_alt_target) * (ff_bn_mce_alternating_mdre_alt_target) + (ff_an_mce_alternating_mdre_alt_target) * (ff_bp_mce_alternating_mdre_alt_target))) \/ ((exists ff_odd_mce_term_mdre_alt_target_term. ff_index_mce_alternating_mdre_alt_target = 2 * ff_odd_mce_term_mdre_alt_target_term + 1) /\ (ff_p_mce_alternating_mdre_alt_target = (ff_ap_mce_alternating_mdre_alt_target) * (ff_bn_mce_alternating_mdre_alt_target) + (ff_an_mce_alternating_mdre_alt_target) * (ff_bp_mce_alternating_mdre_alt_target) /\ ff_n_mce_alternating_mdre_alt_target = (ff_ap_mce_alternating_mdre_alt_target) * (ff_bp_mce_alternating_mdre_alt_target) + (ff_an_mce_alternating_mdre_alt_target) * (ff_bn_mce_alternating_mdre_alt_target)))))))))))Constructive proof overview
Generated structural guide
The exact signed parity-correct product stream is unchanged when all four finite input streams preserve their actual entries.
The unchanged tactic script uses 0 declared prerequisites and contains 79 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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–20
03Fix variables and assumptionsL21–28
04Establish hentryL29–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L29
have hentry : ∃ ap. ∃ an. ∃ bp. ∃ bn. ∃ p. ∃ n. BetaAt(pb,pc,i,ap) ∧ (BetaAt(nb,nc,i,an) ∧ (BetaAt(eb,ec,i,bp) ∧ (BetaAt(fb,fc,i,bn) ∧ (BetaAt(wb,wc,i,p) ∧ (BetaAt(zb,zc,i,n) ∧ SignedAlternatingCofactorTerm(ap,an,bp,bn,i,p,n))))))Definitions: SignedAlternatingCofactorTermBetaAt - L30
specialize hprefix (i) - L31
apply hprefix - L32
exact hi
05Separate the logical casesL33–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hentry - L34
cases hentry_witness - L35
cases hentry_witness_witness - L36
cases hentry_witness_witness_witness - L37
cases hentry_witness_witness_witness_witness - L38
cases hentry_witness_witness_witness_witness_witness - L39
cases hentry_witness_witness_witness_witness_witness_witness - L40
cases hentry_witness_witness_witness_witness_witness_witness_right - L41
cases hentry_witness_witness_witness_witness_witness_witness_right_right - L42
cases hentry_witness_witness_witness_witness_witness_witness_right_right_right
06Separate the logical casesL43–44
07Construct an explicit witnessL45–50
08Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
split
09Use earlier factsL52–56
10Separate the logical casesL57–57
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L57
split
11Use earlier factsL58–62
12Separate the logical casesL63–63
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L63
split
13Use earlier factsL64–68
14Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
15Use earlier factsL70–74
16Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
split
17Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact hentry_witness_witness_witness_witness_witness_witness_right_right_right_right_left
18Separate the logical casesL77–77
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L77
split
19Use earlier factsL78–79
Original exact command ledger · 79 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
intro qb - 0010
intro qc - 0011
intro rb - 0012
intro rc - 0013
intro ub - 0014
intro uc - 0015
intro vb - 0016
intro vc - 0017
intro wb - 0018
intro wc - 0019
intro zb - 0020
intro zc - 0021
intro l - 0022
intro hrowp - 0023
intro hrown - 0024
intro hcofp - 0025
intro hcofn - 0026
intro hprefix - 0027
intro i - 0028
intro hi - 0029
have hentry : exists ap an bp bn p n. ((((exists ff_h_mdr_fold_entry_0. ff_h_mdr_fold_entry_0 + S (ap) = S ((S (i)) * pc)) /\ exists ff_q_mdr_fold_entry_0. pb = ff_q_mdr_fold_entry_0 * S ((S (i)) * pc) + (ap))) /\ ((((exists ff_h_mdr_fold_entry_1. ff_h_mdr_fold_entry_1 + S (an) = S ((S (i)) * nc)) /\ exists ff_q_mdr_fold_entry_1. nb = ff_q_mdr_fold_entry_1 * S ((S (i)) * nc) + (an))) /\ ((((exists ff_h_mdr_fold_entry_2. ff_h_mdr_fold_entry_2 + S (bp) = S ((S (i)) * ec)) /\ exists ff_q_mdr_fold_entry_2. eb = ff_q_mdr_fold_entry_2 * S ((S (i)) * ec) + (bp))) /\ ((((exists ff_h_mdr_fold_entry_3. ff_h_mdr_fold_entry_3 + S (bn) = S ((S (i)) * fc)) /\ exists ff_q_mdr_fold_entry_3. fb = ff_q_mdr_fold_entry_3 * S ((S (i)) * fc) + (bn))) /\ ((((exists ff_h_mdr_fold_entry_p. ff_h_mdr_fold_entry_p + S (p) = S ((S (i)) * wc)) /\ exists ff_q_mdr_fold_entry_p. wb = ff_q_mdr_fold_entry_p * S ((S (i)) * wc) + (p))) /\ ((((exists ff_h_mdr_fold_entry_n. ff_h_mdr_fold_entry_n + S (n) = S ((S (i)) * zc)) /\ exists ff_q_mdr_fold_entry_n. zb = ff_q_mdr_fold_entry_n * S ((S (i)) * zc) + (n))) /\ (((exists ff_even_mce_term_mdre_fold_entry. i = 2 * ff_even_mce_term_mdre_fold_entry) /\ (p = (ap) * (bp) + (an) * (bn) /\ n = (ap) * (bn) + (an) * (bp))) \/ ((exists ff_odd_mce_term_mdre_fold_entry. i = 2 * ff_odd_mce_term_mdre_fold_entry + 1) /\ (p = (ap) * (bn) + (an) * (bp) /\ n = (ap) * (bp) + (an) * (bn)))))))))) - 0030
specialize hprefix (i) - 0031
apply hprefix - 0032
exact hi - 0033
cases hentry - 0034
cases hentry_witness - 0035
cases hentry_witness_witness - 0036
cases hentry_witness_witness_witness - 0037
cases hentry_witness_witness_witness_witness - 0038
cases hentry_witness_witness_witness_witness_witness - 0039
cases hentry_witness_witness_witness_witness_witness_witness - 0040
cases hentry_witness_witness_witness_witness_witness_witness_right - 0041
cases hentry_witness_witness_witness_witness_witness_witness_right_right - 0042
cases hentry_witness_witness_witness_witness_witness_witness_right_right_right - 0043
cases hentry_witness_witness_witness_witness_witness_witness_right_right_right_right - 0044
cases hentry_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0045
exists x - 0046
exists x1 - 0047
exists x2 - 0048
exists x3 - 0049
exists x4 - 0050
exists x5 - 0051
split - 0052
specialize hrowp (i) - 0053
specialize hrowp (x) - 0054
apply hrowp - 0055
exact hi - 0056
exact hentry_witness_witness_witness_witness_witness_witness_left - 0057
split - 0058
specialize hrown (i) - 0059
specialize hrown (x1) - 0060
apply hrown - 0061
exact hi - 0062
exact hentry_witness_witness_witness_witness_witness_witness_right_left - 0063
split - 0064
specialize hcofp (i) - 0065
specialize hcofp (x2) - 0066
apply hcofp - 0067
exact hi - 0068
exact hentry_witness_witness_witness_witness_witness_witness_right_right_left - 0069
split - 0070
specialize hcofn (i) - 0071
specialize hcofn (x3) - 0072
apply hcofn - 0073
exact hi - 0074
exact hentry_witness_witness_witness_witness_witness_witness_right_right_right_left - 0075
split - 0076
exact hentry_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0077
split - 0078
exact hentry_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0079
exact hentry_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right