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 u b c d f g h l. (forall bpr_index_pc_prim_weight_factors. (exists bpr_gap_pc_prim_weight_factors_bound. bpr_gap_pc_prim_weight_factors_bound + S (bpr_index_pc_prim_weight_factors) = l) -> exists bpr_value_pc_prim_weight_factors. ((((exists bpr_height_pc_prim_weight_factors_decoded. bpr_height_pc_prim_weight_factors_decoded + S (bpr_value_pc_prim_weight_factors) = S ((S (bpr_index_pc_prim_weight_factors)) * c)) /\ exists bpr_quotient_pc_prim_weight_factors_decoded. b = bpr_quotient_pc_prim_weight_factors_decoded * S ((S (bpr_index_pc_prim_weight_factors)) * c) + (bpr_value_pc_prim_weight_factors))) /\ (((((~(S (bpr_index_pc_prim_weight_factors) = 1) /\ forall bpr_left_pc_prim_weight_factors_choice_prime bpr_right_pc_prim_weight_factors_choice_prime. S (bpr_index_pc_prim_weight_factors) = bpr_left_pc_prim_weight_factors_choice_prime * bpr_right_pc_prim_weight_factors_choice_prime -> bpr_left_pc_prim_weight_factors_choice_prime = 1 \/ bpr_right_pc_prim_weight_factors_choice_prime = 1)) /\ bpr_value_pc_prim_weight_factors = S (bpr_index_pc_prim_weight_factors)) \/ (~((~(S (bpr_index_pc_prim_weight_factors) = 1) /\ forall bpr_left_pc_prim_weight_factors_choice_prime bpr_right_pc_prim_weight_factors_choice_prime. S (bpr_index_pc_prim_weight_factors) = bpr_left_pc_prim_weight_factors_choice_prime * bpr_right_pc_prim_weight_factors_choice_prime -> bpr_left_pc_prim_weight_factors_choice_prime = 1 \/ bpr_right_pc_prim_weight_factors_choice_prime = 1)) /\ bpr_value_pc_prim_weight_factors = 1))))) -> (forall pc_index_prim_weight_mask. (exists pc_lt_prim_weight_mask_bound. pc_lt_prim_weight_mask_bound + S (pc_index_prim_weight_mask) = (l)) -> exists pc_bit_prim_weight_mask. (((exists fs_h_pc_prim_weight_mask_entry. fs_h_pc_prim_weight_mask_entry + S (pc_bit_prim_weight_mask) = S ((S (pc_index_prim_weight_mask)) * f)) /\ exists fs_q_pc_prim_weight_mask_entry. d = fs_q_pc_prim_weight_mask_entry * S ((S (pc_index_prim_weight_mask)) * f) + (pc_bit_prim_weight_mask))) /\ (((((~(S (pc_index_prim_weight_mask) = 1) /\ forall bpr_left_pc_prim_weight_mask_choice_prime bpr_right_pc_prim_weight_mask_choice_prime. S (pc_index_prim_weight_mask) = bpr_left_pc_prim_weight_mask_choice_prime * bpr_right_pc_prim_weight_mask_choice_prime -> bpr_left_pc_prim_weight_mask_choice_prime = 1 \/ bpr_right_pc_prim_weight_mask_choice_prime = 1)) /\ pc_bit_prim_weight_mask = 1) \/ (~((~(S (pc_index_prim_weight_mask) = 1) /\ forall bpr_left_pc_prim_weight_mask_choice_prime bpr_right_pc_prim_weight_mask_choice_prime. S (pc_index_prim_weight_mask) = bpr_left_pc_prim_weight_mask_choice_prime * bpr_right_pc_prim_weight_mask_choice_prime -> bpr_left_pc_prim_weight_mask_choice_prime = 1 \/ bpr_right_pc_prim_weight_mask_choice_prime = 1)) /\ pc_bit_prim_weight_mask = 0)))) -> (forall pc_index_prim_weight_cutoff. (exists pc_lt_prim_weight_cutoff_bound. pc_lt_prim_weight_cutoff_bound + S (pc_index_prim_weight_cutoff) = (l)) -> exists pc_bit_prim_weight_cutoff. (((exists fs_h_pc_prim_weight_cutoff_entry. fs_h_pc_prim_weight_cutoff_entry + S (pc_bit_prim_weight_cutoff) = S ((S (pc_index_prim_weight_cutoff)) * h)) /\ exists fs_q_pc_prim_weight_cutoff_entry. g = fs_q_pc_prim_weight_cutoff_entry * S ((S (pc_index_prim_weight_cutoff)) * h) + (pc_bit_prim_weight_cutoff))) /\ ((((exists pc_lt_prim_weight_cutoff_choice_below. pc_lt_prim_weight_cutoff_choice_below + S (pc_index_prim_weight_cutoff) = (u)) /\ pc_bit_prim_weight_cutoff = 0) \/ ((exists pc_le_prim_weight_cutoff_choice_above. pc_le_prim_weight_cutoff_choice_above + (u) = (pc_index_prim_weight_cutoff)) /\ (((exists fs_h_pc_prim_weight_cutoff_choice_source. fs_h_pc_prim_weight_cutoff_choice_source + S (pc_bit_prim_weight_cutoff) = S ((S (pc_index_prim_weight_cutoff)) * f)) /\ exists fs_q_pc_prim_weight_cutoff_choice_source. d = fs_q_pc_prim_weight_cutoff_choice_source * S ((S (pc_index_prim_weight_cutoff)) * f) + (pc_bit_prim_weight_cutoff))))))) -> (forall pc_index_prim_weight_result pc_factor_prim_weight_result pc_bit_prim_weight_result. (exists pc_lt_prim_weight_result_index. pc_lt_prim_weight_result_index + S (pc_index_prim_weight_result) = (l)) -> (((exists fs_h_pc_prim_weight_result_factor. fs_h_pc_prim_weight_result_factor + S (pc_factor_prim_weight_result) = S ((S (pc_index_prim_weight_result)) * c)) /\ exists fs_q_pc_prim_weight_result_factor. b = fs_q_pc_prim_weight_result_factor * S ((S (pc_index_prim_weight_result)) * c) + (pc_factor_prim_weight_result))) -> (((exists fs_h_pc_prim_weight_result_bit. fs_h_pc_prim_weight_result_bit + S (pc_bit_prim_weight_result) = S ((S (pc_index_prim_weight_result)) * h)) /\ exists fs_q_pc_prim_weight_result_bit. g = fs_q_pc_prim_weight_result_bit * S ((S (pc_index_prim_weight_result)) * h) + (pc_bit_prim_weight_result))) -> ((pc_bit_prim_weight_result = 0 /\ (exists pc_le_prim_weight_result_zero. pc_le_prim_weight_result_zero + (1) = (pc_factor_prim_weight_result))) \/ (pc_bit_prim_weight_result = 1 /\ (exists pc_le_prim_weight_result_one. pc_le_prim_weight_result_one + (u) = (pc_factor_prim_weight_result)))))Constructive proof overview
Generated structural guide
Every prime strictly beyond the cutoff contributes at least the cutoff to the actual primorial product.
The unchanged tactic script uses 5 declared prerequisites and contains 83 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PC001A primorial_prefix_decoded_choice PC001B primorial_factor_choice_one_le PC0011 beta_cutoff_prefix_entry PC0004 prime_bit_prefix_entry le_succ 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.
Named ingredients (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–17
03Establish hvL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply primorial prefix decoded choice.
- L18
have hv : ((((~(S (i) = 1) /\ forall bpr_left_pc_prim_weight_choice_prime bpr_right_pc_prim_weight_choice_prime. S (i) = bpr_left_pc_prim_weight_choice_prime * bpr_right_pc_prim_weight_choice_prime -> bpr_left_pc_prim_weight_choice_prime = 1 \/ bpr_right_pc_prim_weight_choice_prime = 1)) /\ a = S (i)) \/ (~((~(S (i) = 1) /\ forall bpr_left_pc_prim_weight_choice_prime bpr_right_pc_prim_weight_choice_prime. S (i) = bpr_left_pc_prim_weight_choice_prime * bpr_right_pc_prim_weight_choice_prime -> bpr_left_pc_prim_weight_choice_prime = 1 \/ bpr_right_pc_prim_weight_choice_prime = 1)) /\ a = 1)) - L19
specialize primorial_prefix_decoded_choice b - L20
specialize primorial_prefix_decoded_choice c - L21
specialize primorial_prefix_decoded_choice l - L22
specialize primorial_prefix_decoded_choice i - L23
specialize primorial_prefix_decoded_choice a - L24
apply primorial_prefix_decoded_choice - L25
exact hf - L26
exact hi - L27
exact ha
04Establish hpositiveL28–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply primorial factor choice one le.
05Establish hcutL33–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta cutoff prefix entry.
- L33
have hcut : (((exists pc_lt_prim_weight_actual_cut_below. pc_lt_prim_weight_actual_cut_below + S (i) = (u)) /\ e = 0) \/ ((exists pc_le_prim_weight_actual_cut_above. pc_le_prim_weight_actual_cut_above + (u) = (i)) /\ (((exists fs_h_pc_prim_weight_actual_cut_source. fs_h_pc_prim_weight_actual_cut_source + S (e) = S ((S (i)) * f)) /\ exists fs_q_pc_prim_weight_actual_cut_source. d = fs_q_pc_prim_weight_actual_cut_source * S ((S (i)) * f) + (e))))) - L34
specialize beta_cutoff_prefix_entry u - L35
specialize beta_cutoff_prefix_entry d - L36
specialize beta_cutoff_prefix_entry f - L37
specialize beta_cutoff_prefix_entry g - L38
specialize beta_cutoff_prefix_entry h - L39
specialize beta_cutoff_prefix_entry l - L40
specialize beta_cutoff_prefix_entry i - L41
specialize beta_cutoff_prefix_entry e - L42
apply beta_cutoff_prefix_entry
06Use earlier factsL43–45
07Separate the logical casesL46–49
08Use earlier factsL50–51
09Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
cases hcut_right
10Establish hbL53–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime bit prefix entry.
- L53
have hb : Prime(S i) ∧ e = 1 ∨ ¬Prime(S i) ∧ e = 0Definitions: Prime - L54
specialize prime_bit_prefix_entry d - L55
specialize prime_bit_prefix_entry f - L56
specialize prime_bit_prefix_entry l - L57
specialize prime_bit_prefix_entry i - L58
specialize prime_bit_prefix_entry e - L59
apply prime_bit_prefix_entry - L60
exact hm - L61
exact hi - L62
exact hcut_right_right
11Separate the logical casesL63–66
12Use earlier factsL67–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact hb_left_right
13Separate the logical casesL68–69
14Calculate and transport equalitiesL70–70
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L70
rewrite hv_left_right
15Use earlier factsL71–74
16Separate the logical casesL75–76
17Use earlier factsL77–78
18Separate the logical casesL79–81
Original exact command ledger · 83 lines
- 0001
intro u - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro f - 0006
intro g - 0007
intro h - 0008
intro l - 0009
intro hf - 0010
intro hm - 0011
intro hc - 0012
intro i - 0013
intro a - 0014
intro e - 0015
intro hi - 0016
intro ha - 0017
intro he - 0018
have hv : ((((~(S (i) = 1) /\ forall bpr_left_pc_prim_weight_choice_prime bpr_right_pc_prim_weight_choice_prime. S (i) = bpr_left_pc_prim_weight_choice_prime * bpr_right_pc_prim_weight_choice_prime -> bpr_left_pc_prim_weight_choice_prime = 1 \/ bpr_right_pc_prim_weight_choice_prime = 1)) /\ a = S (i)) \/ (~((~(S (i) = 1) /\ forall bpr_left_pc_prim_weight_choice_prime bpr_right_pc_prim_weight_choice_prime. S (i) = bpr_left_pc_prim_weight_choice_prime * bpr_right_pc_prim_weight_choice_prime -> bpr_left_pc_prim_weight_choice_prime = 1 \/ bpr_right_pc_prim_weight_choice_prime = 1)) /\ a = 1)) - 0019
specialize primorial_prefix_decoded_choice b - 0020
specialize primorial_prefix_decoded_choice c - 0021
specialize primorial_prefix_decoded_choice l - 0022
specialize primorial_prefix_decoded_choice i - 0023
specialize primorial_prefix_decoded_choice a - 0024
apply primorial_prefix_decoded_choice - 0025
exact hf - 0026
exact hi - 0027
exact ha - 0028
have hpositive : exists v. v + 1 = a - 0029
specialize primorial_factor_choice_one_le i - 0030
specialize primorial_factor_choice_one_le a - 0031
apply primorial_factor_choice_one_le - 0032
exact hv - 0033
have hcut : (((exists pc_lt_prim_weight_actual_cut_below. pc_lt_prim_weight_actual_cut_below + S (i) = (u)) /\ e = 0) \/ ((exists pc_le_prim_weight_actual_cut_above. pc_le_prim_weight_actual_cut_above + (u) = (i)) /\ (((exists fs_h_pc_prim_weight_actual_cut_source. fs_h_pc_prim_weight_actual_cut_source + S (e) = S ((S (i)) * f)) /\ exists fs_q_pc_prim_weight_actual_cut_source. d = fs_q_pc_prim_weight_actual_cut_source * S ((S (i)) * f) + (e))))) - 0034
specialize beta_cutoff_prefix_entry u - 0035
specialize beta_cutoff_prefix_entry d - 0036
specialize beta_cutoff_prefix_entry f - 0037
specialize beta_cutoff_prefix_entry g - 0038
specialize beta_cutoff_prefix_entry h - 0039
specialize beta_cutoff_prefix_entry l - 0040
specialize beta_cutoff_prefix_entry i - 0041
specialize beta_cutoff_prefix_entry e - 0042
apply beta_cutoff_prefix_entry - 0043
exact hc - 0044
exact hi - 0045
exact he - 0046
cases hcut - 0047
cases hcut_left - 0048
left - 0049
split - 0050
exact hcut_left_right - 0051
exact hpositive - 0052
cases hcut_right - 0053
have hb : ((((~(S (i) = 1) /\ forall bpr_left_pc_prim_weight_actual_bit_prime bpr_right_pc_prim_weight_actual_bit_prime. S (i) = bpr_left_pc_prim_weight_actual_bit_prime * bpr_right_pc_prim_weight_actual_bit_prime -> bpr_left_pc_prim_weight_actual_bit_prime = 1 \/ bpr_right_pc_prim_weight_actual_bit_prime = 1)) /\ e = 1) \/ (~((~(S (i) = 1) /\ forall bpr_left_pc_prim_weight_actual_bit_prime bpr_right_pc_prim_weight_actual_bit_prime. S (i) = bpr_left_pc_prim_weight_actual_bit_prime * bpr_right_pc_prim_weight_actual_bit_prime -> bpr_left_pc_prim_weight_actual_bit_prime = 1 \/ bpr_right_pc_prim_weight_actual_bit_prime = 1)) /\ e = 0)) - 0054
specialize prime_bit_prefix_entry d - 0055
specialize prime_bit_prefix_entry f - 0056
specialize prime_bit_prefix_entry l - 0057
specialize prime_bit_prefix_entry i - 0058
specialize prime_bit_prefix_entry e - 0059
apply prime_bit_prefix_entry - 0060
exact hm - 0061
exact hi - 0062
exact hcut_right_right - 0063
cases hb - 0064
cases hb_left - 0065
right - 0066
split - 0067
exact hb_left_right - 0068
cases hv - 0069
cases hv_left - 0070
rewrite hv_left_right - 0071
specialize le_succ u - 0072
specialize le_succ i - 0073
apply le_succ - 0074
exact hcut_right_left - 0075
cases hv_right - 0076
exfalso - 0077
apply hv_right_left - 0078
exact hb_left_left - 0079
cases hb_right - 0080
left - 0081
split - 0082
exact hb_right_right - 0083
exact hpositive