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 n k. (exists pc_le_count_positive_bound. pc_le_count_positive_bound + (2) = (n)) -> (exists pc_code_count_positive_source pc_scale_count_positive_source. (forall pc_index_count_positive_source_mask. (exists pc_lt_count_positive_source_mask_bound. pc_lt_count_positive_source_mask_bound + S (pc_index_count_positive_source_mask) = (n)) -> exists pc_bit_count_positive_source_mask. (((exists fs_h_pc_count_positive_source_mask_entry. fs_h_pc_count_positive_source_mask_entry + S (pc_bit_count_positive_source_mask) = S ((S (pc_index_count_positive_source_mask)) * pc_scale_count_positive_source)) /\ exists fs_q_pc_count_positive_source_mask_entry. pc_code_count_positive_source = fs_q_pc_count_positive_source_mask_entry * S ((S (pc_index_count_positive_source_mask)) * pc_scale_count_positive_source) + (pc_bit_count_positive_source_mask))) /\ (((((~(S (pc_index_count_positive_source_mask) = 1) /\ forall bpr_left_pc_count_positive_source_mask_choice_prime bpr_right_pc_count_positive_source_mask_choice_prime. S (pc_index_count_positive_source_mask) = bpr_left_pc_count_positive_source_mask_choice_prime * bpr_right_pc_count_positive_source_mask_choice_prime -> bpr_left_pc_count_positive_source_mask_choice_prime = 1 \/ bpr_right_pc_count_positive_source_mask_choice_prime = 1)) /\ pc_bit_count_positive_source_mask = 1) \/ (~((~(S (pc_index_count_positive_source_mask) = 1) /\ forall bpr_left_pc_count_positive_source_mask_choice_prime bpr_right_pc_count_positive_source_mask_choice_prime. S (pc_index_count_positive_source_mask) = bpr_left_pc_count_positive_source_mask_choice_prime * bpr_right_pc_count_positive_source_mask_choice_prime -> bpr_left_pc_count_positive_source_mask_choice_prime = 1 \/ bpr_right_pc_count_positive_source_mask_choice_prime = 1)) /\ pc_bit_count_positive_source_mask = 0)))) /\ (exists fs_u_pc_count_positive_source_sum fs_v_pc_count_positive_source_sum. ((((exists fs_h_pc_count_positive_source_sum_body_start. fs_h_pc_count_positive_source_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_count_positive_source_sum)) /\ exists fs_q_pc_count_positive_source_sum_body_start. fs_u_pc_count_positive_source_sum = fs_q_pc_count_positive_source_sum_body_start * S ((S (0)) * fs_v_pc_count_positive_source_sum) + (0))) /\ ((((exists fs_h_pc_count_positive_source_sum_body_terminal. fs_h_pc_count_positive_source_sum_body_terminal + S (k) = S ((S (n)) * fs_v_pc_count_positive_source_sum)) /\ exists fs_q_pc_count_positive_source_sum_body_terminal. fs_u_pc_count_positive_source_sum = fs_q_pc_count_positive_source_sum_body_terminal * S ((S (n)) * fs_v_pc_count_positive_source_sum) + (k))) /\ forall fs_i_pc_count_positive_source_sum_body_steps. (exists fs_lt_pc_count_positive_source_sum_body_steps_bound. fs_lt_pc_count_positive_source_sum_body_steps_bound + S fs_i_pc_count_positive_source_sum_body_steps = n) -> exists fs_a_pc_count_positive_source_sum_body_steps fs_r_pc_count_positive_source_sum_body_steps fs_s_pc_count_positive_source_sum_body_steps. ((((exists fs_h_pc_count_positive_source_sum_body_steps_summand. fs_h_pc_count_positive_source_sum_body_steps_summand + S (fs_a_pc_count_positive_source_sum_body_steps) = S ((S (fs_i_pc_count_positive_source_sum_body_steps)) * pc_scale_count_positive_source)) /\ exists fs_q_pc_count_positive_source_sum_body_steps_summand. pc_code_count_positive_source = fs_q_pc_count_positive_source_sum_body_steps_summand * S ((S (fs_i_pc_count_positive_source_sum_body_steps)) * pc_scale_count_positive_source) + (fs_a_pc_count_positive_source_sum_body_steps))) /\ ((((exists fs_h_pc_count_positive_source_sum_body_steps_partial. fs_h_pc_count_positive_source_sum_body_steps_partial + S (fs_r_pc_count_positive_source_sum_body_steps) = S ((S (fs_i_pc_count_positive_source_sum_body_steps)) * fs_v_pc_count_positive_source_sum)) /\ exists fs_q_pc_count_positive_source_sum_body_steps_partial. fs_u_pc_count_positive_source_sum = fs_q_pc_count_positive_source_sum_body_steps_partial * S ((S (fs_i_pc_count_positive_source_sum_body_steps)) * fs_v_pc_count_positive_source_sum) + (fs_r_pc_count_positive_source_sum_body_steps))) /\ ((((exists fs_h_pc_count_positive_source_sum_body_steps_successor. fs_h_pc_count_positive_source_sum_body_steps_successor + S (fs_s_pc_count_positive_source_sum_body_steps) = S ((S (S fs_i_pc_count_positive_source_sum_body_steps)) * fs_v_pc_count_positive_source_sum)) /\ exists fs_q_pc_count_positive_source_sum_body_steps_successor. fs_u_pc_count_positive_source_sum = fs_q_pc_count_positive_source_sum_body_steps_successor * S ((S (S fs_i_pc_count_positive_source_sum_body_steps)) * fs_v_pc_count_positive_source_sum) + (fs_s_pc_count_positive_source_sum_body_steps))) /\ fs_s_pc_count_positive_source_sum_body_steps = fs_r_pc_count_positive_source_sum_body_steps + fs_a_pc_count_positive_source_sum_body_steps))))))) -> (exists pc_le_count_positive_result. pc_le_count_positive_result + (1) = (k))Constructive proof overview
Generated structural guide
The actual prime two makes every prime count at bound at least two positive.
The unchanged tactic script uses 4 declared prerequisites and contains 42 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_two Stable theorem; checked-use authorized beta_at_exists Stable theorem; checked-use authorized PC0004 prime_bit_prefix_entry PC000A beta_sum_entry_leDirect 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 (2)
01Fix variables and assumptionsL1–4
02Separate the logical casesL5–7
03Establish heL8–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L8
have he : exists e. ((exists fs_h_pc_count_positive_entry. fs_h_pc_count_positive_entry + S (e) = S ((S (1)) * x1)) /\ exists fs_q_pc_count_positive_entry. x = fs_q_pc_count_positive_entry * S ((S (1)) * x1) + (e)) - L9
specialize beta_at_exists x - L10
specialize beta_at_exists x1 - L11
specialize beta_at_exists 1 - L12
apply beta_at_exists
04Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases he
05Establish hcL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime bit prefix entry.
- L14
have hc : Prime(2) ∧ x2 = 1 ∨ ¬Prime(2) ∧ x2 = 0Definitions: Prime - L15
specialize prime_bit_prefix_entry x - L16
specialize prime_bit_prefix_entry x1 - L17
specialize prime_bit_prefix_entry n - L18
specialize prime_bit_prefix_entry 1 - L19
specialize prime_bit_prefix_entry x2 - L20
apply prime_bit_prefix_entry - L21
exact h_witness_witness_left - L22
exact hn - L23
exact he_witness
06Separate the logical casesL24–25
07Establish hleL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum entry le.
- L26
have hle : exists g. g + x2 = k - L27
specialize beta_sum_entry_le x - L28
specialize beta_sum_entry_le x1 - L29
specialize beta_sum_entry_le n - L30
specialize beta_sum_entry_le k - L31
specialize beta_sum_entry_le 1 - L32
specialize beta_sum_entry_le x2 - L33
apply beta_sum_entry_le - L34
exact h_witness_witness_right - L35
exact hn
08Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact he_witness
09Calculate and transport equalitiesL37–37
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L37
rewrite hc_left_right at hle
10Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hle
11Separate the logical casesL39–40
Original exact command ledger · 42 lines
- 0001
intro n - 0002
intro k - 0003
intro hn - 0004
intro h - 0005
cases h - 0006
cases h_witness - 0007
cases h_witness_witness - 0008
have he : exists e. ((exists fs_h_pc_count_positive_entry. fs_h_pc_count_positive_entry + S (e) = S ((S (1)) * x1)) /\ exists fs_q_pc_count_positive_entry. x = fs_q_pc_count_positive_entry * S ((S (1)) * x1) + (e)) - 0009
specialize beta_at_exists x - 0010
specialize beta_at_exists x1 - 0011
specialize beta_at_exists 1 - 0012
apply beta_at_exists - 0013
cases he - 0014
have hc : ((((~(S (1) = 1) /\ forall bpr_left_pc_count_positive_choice_prime bpr_right_pc_count_positive_choice_prime. S (1) = bpr_left_pc_count_positive_choice_prime * bpr_right_pc_count_positive_choice_prime -> bpr_left_pc_count_positive_choice_prime = 1 \/ bpr_right_pc_count_positive_choice_prime = 1)) /\ x2 = 1) \/ (~((~(S (1) = 1) /\ forall bpr_left_pc_count_positive_choice_prime bpr_right_pc_count_positive_choice_prime. S (1) = bpr_left_pc_count_positive_choice_prime * bpr_right_pc_count_positive_choice_prime -> bpr_left_pc_count_positive_choice_prime = 1 \/ bpr_right_pc_count_positive_choice_prime = 1)) /\ x2 = 0)) - 0015
specialize prime_bit_prefix_entry x - 0016
specialize prime_bit_prefix_entry x1 - 0017
specialize prime_bit_prefix_entry n - 0018
specialize prime_bit_prefix_entry 1 - 0019
specialize prime_bit_prefix_entry x2 - 0020
apply prime_bit_prefix_entry - 0021
exact h_witness_witness_left - 0022
exact hn - 0023
exact he_witness - 0024
cases hc - 0025
cases hc_left - 0026
have hle : exists g. g + x2 = k - 0027
specialize beta_sum_entry_le x - 0028
specialize beta_sum_entry_le x1 - 0029
specialize beta_sum_entry_le n - 0030
specialize beta_sum_entry_le k - 0031
specialize beta_sum_entry_le 1 - 0032
specialize beta_sum_entry_le x2 - 0033
apply beta_sum_entry_le - 0034
exact h_witness_witness_right - 0035
exact hn - 0036
exact he_witness - 0037
rewrite hc_left_right at hle - 0038
exact hle - 0039
cases hc_right - 0040
exfalso - 0041
apply hc_right_left - 0042
exact prime_two