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 ab ac db dc eb ec fb fc p n. (exists ff_ub_mce_fold_empty ff_uc_mce_fold_empty ff_vb_mce_fold_empty ff_vc_mce_fold_empty. ((forall ff_index_mce_alternating_empty_prefix. (exists ff_gap_mce_empty_prefix_index. ff_gap_mce_empty_prefix_index + S (ff_index_mce_alternating_empty_prefix) = (0)) -> exists ff_ap_mce_alternating_empty_prefix ff_an_mce_alternating_empty_prefix ff_bp_mce_alternating_empty_prefix ff_bn_mce_alternating_empty_prefix ff_p_mce_alternating_empty_prefix ff_n_mce_alternating_empty_prefix. ((((exists ff_h_mce_empty_prefix_ap. ff_h_mce_empty_prefix_ap + S (ff_ap_mce_alternating_empty_prefix) = S ((S (ff_index_mce_alternating_empty_prefix)) * ac)) /\ exists ff_q_mce_empty_prefix_ap. ab = ff_q_mce_empty_prefix_ap * S ((S (ff_index_mce_alternating_empty_prefix)) * ac) + (ff_ap_mce_alternating_empty_prefix))) /\ ((((exists ff_h_mce_empty_prefix_an. ff_h_mce_empty_prefix_an + S (ff_an_mce_alternating_empty_prefix) = S ((S (ff_index_mce_alternating_empty_prefix)) * dc)) /\ exists ff_q_mce_empty_prefix_an. db = ff_q_mce_empty_prefix_an * S ((S (ff_index_mce_alternating_empty_prefix)) * dc) + (ff_an_mce_alternating_empty_prefix))) /\ ((((exists ff_h_mce_empty_prefix_bp. ff_h_mce_empty_prefix_bp + S (ff_bp_mce_alternating_empty_prefix) = S ((S (ff_index_mce_alternating_empty_prefix)) * ec)) /\ exists ff_q_mce_empty_prefix_bp. eb = ff_q_mce_empty_prefix_bp * S ((S (ff_index_mce_alternating_empty_prefix)) * ec) + (ff_bp_mce_alternating_empty_prefix))) /\ ((((exists ff_h_mce_empty_prefix_bn. ff_h_mce_empty_prefix_bn + S (ff_bn_mce_alternating_empty_prefix) = S ((S (ff_index_mce_alternating_empty_prefix)) * fc)) /\ exists ff_q_mce_empty_prefix_bn. fb = ff_q_mce_empty_prefix_bn * S ((S (ff_index_mce_alternating_empty_prefix)) * fc) + (ff_bn_mce_alternating_empty_prefix))) /\ ((((exists ff_h_mce_empty_prefix_positive. ff_h_mce_empty_prefix_positive + S (ff_p_mce_alternating_empty_prefix) = S ((S (ff_index_mce_alternating_empty_prefix)) * ff_uc_mce_fold_empty)) /\ exists ff_q_mce_empty_prefix_positive. ff_ub_mce_fold_empty = ff_q_mce_empty_prefix_positive * S ((S (ff_index_mce_alternating_empty_prefix)) * ff_uc_mce_fold_empty) + (ff_p_mce_alternating_empty_prefix))) /\ ((((exists ff_h_mce_empty_prefix_negative. ff_h_mce_empty_prefix_negative + S (ff_n_mce_alternating_empty_prefix) = S ((S (ff_index_mce_alternating_empty_prefix)) * ff_vc_mce_fold_empty)) /\ exists ff_q_mce_empty_prefix_negative. ff_vb_mce_fold_empty = ff_q_mce_empty_prefix_negative * S ((S (ff_index_mce_alternating_empty_prefix)) * ff_vc_mce_fold_empty) + (ff_n_mce_alternating_empty_prefix))) /\ (((exists ff_even_mce_term_empty_prefix_term. ff_index_mce_alternating_empty_prefix = 2 * ff_even_mce_term_empty_prefix_term) /\ (ff_p_mce_alternating_empty_prefix = (ff_ap_mce_alternating_empty_prefix) * (ff_bp_mce_alternating_empty_prefix) + (ff_an_mce_alternating_empty_prefix) * (ff_bn_mce_alternating_empty_prefix) /\ ff_n_mce_alternating_empty_prefix = (ff_ap_mce_alternating_empty_prefix) * (ff_bn_mce_alternating_empty_prefix) + (ff_an_mce_alternating_empty_prefix) * (ff_bp_mce_alternating_empty_prefix))) \/ ((exists ff_odd_mce_term_empty_prefix_term. ff_index_mce_alternating_empty_prefix = 2 * ff_odd_mce_term_empty_prefix_term + 1) /\ (ff_p_mce_alternating_empty_prefix = (ff_ap_mce_alternating_empty_prefix) * (ff_bn_mce_alternating_empty_prefix) + (ff_an_mce_alternating_empty_prefix) * (ff_bp_mce_alternating_empty_prefix) /\ ff_n_mce_alternating_empty_prefix = (ff_ap_mce_alternating_empty_prefix) * (ff_bp_mce_alternating_empty_prefix) + (ff_an_mce_alternating_empty_prefix) * (ff_bn_mce_alternating_empty_prefix))))))))))) /\ ((exists ff_u_mce_empty_positive ff_v_mce_empty_positive. ((((exists ff_h_mce_empty_positive_start. ff_h_mce_empty_positive_start + S (0) = S ((S (0)) * ff_v_mce_empty_positive)) /\ exists ff_q_mce_empty_positive_start. ff_u_mce_empty_positive = ff_q_mce_empty_positive_start * S ((S (0)) * ff_v_mce_empty_positive) + (0))) /\ ((((exists ff_h_mce_empty_positive_terminal. ff_h_mce_empty_positive_terminal + S (p) = S ((S ((0))) * ff_v_mce_empty_positive)) /\ exists ff_q_mce_empty_positive_terminal. ff_u_mce_empty_positive = ff_q_mce_empty_positive_terminal * S ((S ((0))) * ff_v_mce_empty_positive) + (p))) /\ forall ff_i_mce_empty_positive. (exists ff_lt_mce_empty_positive_bound. ff_lt_mce_empty_positive_bound + S ff_i_mce_empty_positive = (0)) -> exists ff_a_mce_empty_positive ff_r_mce_empty_positive ff_s_mce_empty_positive. ((((exists ff_h_mce_empty_positive_summand. ff_h_mce_empty_positive_summand + S (ff_a_mce_empty_positive) = S ((S (ff_i_mce_empty_positive)) * ff_uc_mce_fold_empty)) /\ exists ff_q_mce_empty_positive_summand. ff_ub_mce_fold_empty = ff_q_mce_empty_positive_summand * S ((S (ff_i_mce_empty_positive)) * ff_uc_mce_fold_empty) + (ff_a_mce_empty_positive))) /\ ((((exists ff_h_mce_empty_positive_partial. ff_h_mce_empty_positive_partial + S (ff_r_mce_empty_positive) = S ((S (ff_i_mce_empty_positive)) * ff_v_mce_empty_positive)) /\ exists ff_q_mce_empty_positive_partial. ff_u_mce_empty_positive = ff_q_mce_empty_positive_partial * S ((S (ff_i_mce_empty_positive)) * ff_v_mce_empty_positive) + (ff_r_mce_empty_positive))) /\ ((((exists ff_h_mce_empty_positive_successor. ff_h_mce_empty_positive_successor + S (ff_s_mce_empty_positive) = S ((S (S ff_i_mce_empty_positive)) * ff_v_mce_empty_positive)) /\ exists ff_q_mce_empty_positive_successor. ff_u_mce_empty_positive = ff_q_mce_empty_positive_successor * S ((S (S ff_i_mce_empty_positive)) * ff_v_mce_empty_positive) + (ff_s_mce_empty_positive))) /\ ff_s_mce_empty_positive = ff_r_mce_empty_positive + ff_a_mce_empty_positive)))))) /\ (exists ff_u_mce_empty_negative ff_v_mce_empty_negative. ((((exists ff_h_mce_empty_negative_start. ff_h_mce_empty_negative_start + S (0) = S ((S (0)) * ff_v_mce_empty_negative)) /\ exists ff_q_mce_empty_negative_start. ff_u_mce_empty_negative = ff_q_mce_empty_negative_start * S ((S (0)) * ff_v_mce_empty_negative) + (0))) /\ ((((exists ff_h_mce_empty_negative_terminal. ff_h_mce_empty_negative_terminal + S (n) = S ((S ((0))) * ff_v_mce_empty_negative)) /\ exists ff_q_mce_empty_negative_terminal. ff_u_mce_empty_negative = ff_q_mce_empty_negative_terminal * S ((S ((0))) * ff_v_mce_empty_negative) + (n))) /\ forall ff_i_mce_empty_negative. (exists ff_lt_mce_empty_negative_bound. ff_lt_mce_empty_negative_bound + S ff_i_mce_empty_negative = (0)) -> exists ff_a_mce_empty_negative ff_r_mce_empty_negative ff_s_mce_empty_negative. ((((exists ff_h_mce_empty_negative_summand. ff_h_mce_empty_negative_summand + S (ff_a_mce_empty_negative) = S ((S (ff_i_mce_empty_negative)) * ff_vc_mce_fold_empty)) /\ exists ff_q_mce_empty_negative_summand. ff_vb_mce_fold_empty = ff_q_mce_empty_negative_summand * S ((S (ff_i_mce_empty_negative)) * ff_vc_mce_fold_empty) + (ff_a_mce_empty_negative))) /\ ((((exists ff_h_mce_empty_negative_partial. ff_h_mce_empty_negative_partial + S (ff_r_mce_empty_negative) = S ((S (ff_i_mce_empty_negative)) * ff_v_mce_empty_negative)) /\ exists ff_q_mce_empty_negative_partial. ff_u_mce_empty_negative = ff_q_mce_empty_negative_partial * S ((S (ff_i_mce_empty_negative)) * ff_v_mce_empty_negative) + (ff_r_mce_empty_negative))) /\ ((((exists ff_h_mce_empty_negative_successor. ff_h_mce_empty_negative_successor + S (ff_s_mce_empty_negative) = S ((S (S ff_i_mce_empty_negative)) * ff_v_mce_empty_negative)) /\ exists ff_q_mce_empty_negative_successor. ff_u_mce_empty_negative = ff_q_mce_empty_negative_successor * S ((S (S ff_i_mce_empty_negative)) * ff_v_mce_empty_negative) + (ff_s_mce_empty_negative))) /\ ff_s_mce_empty_negative = ff_r_mce_empty_negative + ff_a_mce_empty_negative))))))))) -> (p = 0 /\ n = 0)Constructive proof overview
Generated structural guide
The arbitrary signed alternating cofactor fold has the exact empty value (0,0).
The unchanged tactic script uses 1 declared prerequisite and contains 28 exact native proof lines.
Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_sum_zero Stable theorem; checked-use authorizedDirect 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–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hfold
03Separate the logical casesL12–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Use earlier factsL19–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
specialize beta_sum_zero x - L20
specialize beta_sum_zero x1 - L21
specialize beta_sum_zero p - L22
apply beta_sum_zero - L23
exact hfold_witness_witness_witness_witness_right_left - L24
specialize beta_sum_zero x2 - L25
specialize beta_sum_zero x3 - L26
specialize beta_sum_zero n - L27
apply beta_sum_zero - L28
exact hfold_witness_witness_witness_witness_right_right
Original exact command ledger · 28 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
intro p - 0010
intro n - 0011
intro hfold - 0012
cases hfold - 0013
cases hfold_witness - 0014
cases hfold_witness_witness - 0015
cases hfold_witness_witness_witness - 0016
cases hfold_witness_witness_witness_witness - 0017
cases hfold_witness_witness_witness_witness_right - 0018
split - 0019
specialize beta_sum_zero x - 0020
specialize beta_sum_zero x1 - 0021
specialize beta_sum_zero p - 0022
apply beta_sum_zero - 0023
exact hfold_witness_witness_witness_witness_right_left - 0024
specialize beta_sum_zero x2 - 0025
specialize beta_sum_zero x3 - 0026
specialize beta_sum_zero n - 0027
apply beta_sum_zero - 0028
exact hfold_witness_witness_witness_witness_right_right
Separate complete second-wave branches: Full T13 proof · Alpha v27.