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. exists k. (exists pc_code_count_unique_value pc_scale_count_unique_value. (forall pc_index_count_unique_value_mask. (exists pc_lt_count_unique_value_mask_bound. pc_lt_count_unique_value_mask_bound + S (pc_index_count_unique_value_mask) = (N)) -> exists pc_bit_count_unique_value_mask. (((exists fs_h_pc_count_unique_value_mask_entry. fs_h_pc_count_unique_value_mask_entry + S (pc_bit_count_unique_value_mask) = S ((S (pc_index_count_unique_value_mask)) * pc_scale_count_unique_value)) /\ exists fs_q_pc_count_unique_value_mask_entry. pc_code_count_unique_value = fs_q_pc_count_unique_value_mask_entry * S ((S (pc_index_count_unique_value_mask)) * pc_scale_count_unique_value) + (pc_bit_count_unique_value_mask))) /\ (((((~(S (pc_index_count_unique_value_mask) = 1) /\ forall bpr_left_pc_count_unique_value_mask_choice_prime bpr_right_pc_count_unique_value_mask_choice_prime. S (pc_index_count_unique_value_mask) = bpr_left_pc_count_unique_value_mask_choice_prime * bpr_right_pc_count_unique_value_mask_choice_prime -> bpr_left_pc_count_unique_value_mask_choice_prime = 1 \/ bpr_right_pc_count_unique_value_mask_choice_prime = 1)) /\ pc_bit_count_unique_value_mask = 1) \/ (~((~(S (pc_index_count_unique_value_mask) = 1) /\ forall bpr_left_pc_count_unique_value_mask_choice_prime bpr_right_pc_count_unique_value_mask_choice_prime. S (pc_index_count_unique_value_mask) = bpr_left_pc_count_unique_value_mask_choice_prime * bpr_right_pc_count_unique_value_mask_choice_prime -> bpr_left_pc_count_unique_value_mask_choice_prime = 1 \/ bpr_right_pc_count_unique_value_mask_choice_prime = 1)) /\ pc_bit_count_unique_value_mask = 0)))) /\ (exists fs_u_pc_count_unique_value_sum fs_v_pc_count_unique_value_sum. ((((exists fs_h_pc_count_unique_value_sum_body_start. fs_h_pc_count_unique_value_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_count_unique_value_sum)) /\ exists fs_q_pc_count_unique_value_sum_body_start. fs_u_pc_count_unique_value_sum = fs_q_pc_count_unique_value_sum_body_start * S ((S (0)) * fs_v_pc_count_unique_value_sum) + (0))) /\ ((((exists fs_h_pc_count_unique_value_sum_body_terminal. fs_h_pc_count_unique_value_sum_body_terminal + S (k) = S ((S (N)) * fs_v_pc_count_unique_value_sum)) /\ exists fs_q_pc_count_unique_value_sum_body_terminal. fs_u_pc_count_unique_value_sum = fs_q_pc_count_unique_value_sum_body_terminal * S ((S (N)) * fs_v_pc_count_unique_value_sum) + (k))) /\ forall fs_i_pc_count_unique_value_sum_body_steps. (exists fs_lt_pc_count_unique_value_sum_body_steps_bound. fs_lt_pc_count_unique_value_sum_body_steps_bound + S fs_i_pc_count_unique_value_sum_body_steps = N) -> exists fs_a_pc_count_unique_value_sum_body_steps fs_r_pc_count_unique_value_sum_body_steps fs_s_pc_count_unique_value_sum_body_steps. ((((exists fs_h_pc_count_unique_value_sum_body_steps_summand. fs_h_pc_count_unique_value_sum_body_steps_summand + S (fs_a_pc_count_unique_value_sum_body_steps) = S ((S (fs_i_pc_count_unique_value_sum_body_steps)) * pc_scale_count_unique_value)) /\ exists fs_q_pc_count_unique_value_sum_body_steps_summand. pc_code_count_unique_value = fs_q_pc_count_unique_value_sum_body_steps_summand * S ((S (fs_i_pc_count_unique_value_sum_body_steps)) * pc_scale_count_unique_value) + (fs_a_pc_count_unique_value_sum_body_steps))) /\ ((((exists fs_h_pc_count_unique_value_sum_body_steps_partial. fs_h_pc_count_unique_value_sum_body_steps_partial + S (fs_r_pc_count_unique_value_sum_body_steps) = S ((S (fs_i_pc_count_unique_value_sum_body_steps)) * fs_v_pc_count_unique_value_sum)) /\ exists fs_q_pc_count_unique_value_sum_body_steps_partial. fs_u_pc_count_unique_value_sum = fs_q_pc_count_unique_value_sum_body_steps_partial * S ((S (fs_i_pc_count_unique_value_sum_body_steps)) * fs_v_pc_count_unique_value_sum) + (fs_r_pc_count_unique_value_sum_body_steps))) /\ ((((exists fs_h_pc_count_unique_value_sum_body_steps_successor. fs_h_pc_count_unique_value_sum_body_steps_successor + S (fs_s_pc_count_unique_value_sum_body_steps) = S ((S (S fs_i_pc_count_unique_value_sum_body_steps)) * fs_v_pc_count_unique_value_sum)) /\ exists fs_q_pc_count_unique_value_sum_body_steps_successor. fs_u_pc_count_unique_value_sum = fs_q_pc_count_unique_value_sum_body_steps_successor * S ((S (S fs_i_pc_count_unique_value_sum_body_steps)) * fs_v_pc_count_unique_value_sum) + (fs_s_pc_count_unique_value_sum_body_steps))) /\ fs_s_pc_count_unique_value_sum_body_steps = fs_r_pc_count_unique_value_sum_body_steps + fs_a_pc_count_unique_value_sum_body_steps))))))) /\ forall K. (exists pc_code_count_unique_other pc_scale_count_unique_other. (forall pc_index_count_unique_other_mask. (exists pc_lt_count_unique_other_mask_bound. pc_lt_count_unique_other_mask_bound + S (pc_index_count_unique_other_mask) = (N)) -> exists pc_bit_count_unique_other_mask. (((exists fs_h_pc_count_unique_other_mask_entry. fs_h_pc_count_unique_other_mask_entry + S (pc_bit_count_unique_other_mask) = S ((S (pc_index_count_unique_other_mask)) * pc_scale_count_unique_other)) /\ exists fs_q_pc_count_unique_other_mask_entry. pc_code_count_unique_other = fs_q_pc_count_unique_other_mask_entry * S ((S (pc_index_count_unique_other_mask)) * pc_scale_count_unique_other) + (pc_bit_count_unique_other_mask))) /\ (((((~(S (pc_index_count_unique_other_mask) = 1) /\ forall bpr_left_pc_count_unique_other_mask_choice_prime bpr_right_pc_count_unique_other_mask_choice_prime. S (pc_index_count_unique_other_mask) = bpr_left_pc_count_unique_other_mask_choice_prime * bpr_right_pc_count_unique_other_mask_choice_prime -> bpr_left_pc_count_unique_other_mask_choice_prime = 1 \/ bpr_right_pc_count_unique_other_mask_choice_prime = 1)) /\ pc_bit_count_unique_other_mask = 1) \/ (~((~(S (pc_index_count_unique_other_mask) = 1) /\ forall bpr_left_pc_count_unique_other_mask_choice_prime bpr_right_pc_count_unique_other_mask_choice_prime. S (pc_index_count_unique_other_mask) = bpr_left_pc_count_unique_other_mask_choice_prime * bpr_right_pc_count_unique_other_mask_choice_prime -> bpr_left_pc_count_unique_other_mask_choice_prime = 1 \/ bpr_right_pc_count_unique_other_mask_choice_prime = 1)) /\ pc_bit_count_unique_other_mask = 0)))) /\ (exists fs_u_pc_count_unique_other_sum fs_v_pc_count_unique_other_sum. ((((exists fs_h_pc_count_unique_other_sum_body_start. fs_h_pc_count_unique_other_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_count_unique_other_sum)) /\ exists fs_q_pc_count_unique_other_sum_body_start. fs_u_pc_count_unique_other_sum = fs_q_pc_count_unique_other_sum_body_start * S ((S (0)) * fs_v_pc_count_unique_other_sum) + (0))) /\ ((((exists fs_h_pc_count_unique_other_sum_body_terminal. fs_h_pc_count_unique_other_sum_body_terminal + S (K) = S ((S (N)) * fs_v_pc_count_unique_other_sum)) /\ exists fs_q_pc_count_unique_other_sum_body_terminal. fs_u_pc_count_unique_other_sum = fs_q_pc_count_unique_other_sum_body_terminal * S ((S (N)) * fs_v_pc_count_unique_other_sum) + (K))) /\ forall fs_i_pc_count_unique_other_sum_body_steps. (exists fs_lt_pc_count_unique_other_sum_body_steps_bound. fs_lt_pc_count_unique_other_sum_body_steps_bound + S fs_i_pc_count_unique_other_sum_body_steps = N) -> exists fs_a_pc_count_unique_other_sum_body_steps fs_r_pc_count_unique_other_sum_body_steps fs_s_pc_count_unique_other_sum_body_steps. ((((exists fs_h_pc_count_unique_other_sum_body_steps_summand. fs_h_pc_count_unique_other_sum_body_steps_summand + S (fs_a_pc_count_unique_other_sum_body_steps) = S ((S (fs_i_pc_count_unique_other_sum_body_steps)) * pc_scale_count_unique_other)) /\ exists fs_q_pc_count_unique_other_sum_body_steps_summand. pc_code_count_unique_other = fs_q_pc_count_unique_other_sum_body_steps_summand * S ((S (fs_i_pc_count_unique_other_sum_body_steps)) * pc_scale_count_unique_other) + (fs_a_pc_count_unique_other_sum_body_steps))) /\ ((((exists fs_h_pc_count_unique_other_sum_body_steps_partial. fs_h_pc_count_unique_other_sum_body_steps_partial + S (fs_r_pc_count_unique_other_sum_body_steps) = S ((S (fs_i_pc_count_unique_other_sum_body_steps)) * fs_v_pc_count_unique_other_sum)) /\ exists fs_q_pc_count_unique_other_sum_body_steps_partial. fs_u_pc_count_unique_other_sum = fs_q_pc_count_unique_other_sum_body_steps_partial * S ((S (fs_i_pc_count_unique_other_sum_body_steps)) * fs_v_pc_count_unique_other_sum) + (fs_r_pc_count_unique_other_sum_body_steps))) /\ ((((exists fs_h_pc_count_unique_other_sum_body_steps_successor. fs_h_pc_count_unique_other_sum_body_steps_successor + S (fs_s_pc_count_unique_other_sum_body_steps) = S ((S (S fs_i_pc_count_unique_other_sum_body_steps)) * fs_v_pc_count_unique_other_sum)) /\ exists fs_q_pc_count_unique_other_sum_body_steps_successor. fs_u_pc_count_unique_other_sum = fs_q_pc_count_unique_other_sum_body_steps_successor * S ((S (S fs_i_pc_count_unique_other_sum_body_steps)) * fs_v_pc_count_unique_other_sum) + (fs_s_pc_count_unique_other_sum_body_steps))) /\ fs_s_pc_count_unique_other_sum_body_steps = fs_r_pc_count_unique_other_sum_body_steps + fs_a_pc_count_unique_other_sum_body_steps))))))) -> k = KConstructive proof overview
Generated structural guide
Every bound has a genuinely constructed, uniquely determined exact prime count.
The unchanged tactic script uses 2 declared prerequisites and contains 16 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.
Named ingredients (2)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro N
02Establish hL2–4
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime count exists.
- L2
have h : ∃ k. PrimeCount(N,k)Definitions: PrimeCount - L3
specialize prime_count_exists N - L4
apply prime_count_exists
03Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases h
04Construct an explicit witnessL6–6
Supply the displayed value, then prove that it has the required property.
- L6
exists x
05Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
06Use earlier factsL8–8
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
exact h_witness
07Fix variables and assumptionsL9–10
Original exact command ledger · 16 lines
- 0001
intro N - 0002
have h : exists k. exists pc_code_count_unique_actual pc_scale_count_unique_actual. (forall pc_index_count_unique_actual_mask. (exists pc_lt_count_unique_actual_mask_bound. pc_lt_count_unique_actual_mask_bound + S (pc_index_count_unique_actual_mask) = (N)) -> exists pc_bit_count_unique_actual_mask. (((exists fs_h_pc_count_unique_actual_mask_entry. fs_h_pc_count_unique_actual_mask_entry + S (pc_bit_count_unique_actual_mask) = S ((S (pc_index_count_unique_actual_mask)) * pc_scale_count_unique_actual)) /\ exists fs_q_pc_count_unique_actual_mask_entry. pc_code_count_unique_actual = fs_q_pc_count_unique_actual_mask_entry * S ((S (pc_index_count_unique_actual_mask)) * pc_scale_count_unique_actual) + (pc_bit_count_unique_actual_mask))) /\ (((((~(S (pc_index_count_unique_actual_mask) = 1) /\ forall bpr_left_pc_count_unique_actual_mask_choice_prime bpr_right_pc_count_unique_actual_mask_choice_prime. S (pc_index_count_unique_actual_mask) = bpr_left_pc_count_unique_actual_mask_choice_prime * bpr_right_pc_count_unique_actual_mask_choice_prime -> bpr_left_pc_count_unique_actual_mask_choice_prime = 1 \/ bpr_right_pc_count_unique_actual_mask_choice_prime = 1)) /\ pc_bit_count_unique_actual_mask = 1) \/ (~((~(S (pc_index_count_unique_actual_mask) = 1) /\ forall bpr_left_pc_count_unique_actual_mask_choice_prime bpr_right_pc_count_unique_actual_mask_choice_prime. S (pc_index_count_unique_actual_mask) = bpr_left_pc_count_unique_actual_mask_choice_prime * bpr_right_pc_count_unique_actual_mask_choice_prime -> bpr_left_pc_count_unique_actual_mask_choice_prime = 1 \/ bpr_right_pc_count_unique_actual_mask_choice_prime = 1)) /\ pc_bit_count_unique_actual_mask = 0)))) /\ (exists fs_u_pc_count_unique_actual_sum fs_v_pc_count_unique_actual_sum. ((((exists fs_h_pc_count_unique_actual_sum_body_start. fs_h_pc_count_unique_actual_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_count_unique_actual_sum)) /\ exists fs_q_pc_count_unique_actual_sum_body_start. fs_u_pc_count_unique_actual_sum = fs_q_pc_count_unique_actual_sum_body_start * S ((S (0)) * fs_v_pc_count_unique_actual_sum) + (0))) /\ ((((exists fs_h_pc_count_unique_actual_sum_body_terminal. fs_h_pc_count_unique_actual_sum_body_terminal + S (k) = S ((S (N)) * fs_v_pc_count_unique_actual_sum)) /\ exists fs_q_pc_count_unique_actual_sum_body_terminal. fs_u_pc_count_unique_actual_sum = fs_q_pc_count_unique_actual_sum_body_terminal * S ((S (N)) * fs_v_pc_count_unique_actual_sum) + (k))) /\ forall fs_i_pc_count_unique_actual_sum_body_steps. (exists fs_lt_pc_count_unique_actual_sum_body_steps_bound. fs_lt_pc_count_unique_actual_sum_body_steps_bound + S fs_i_pc_count_unique_actual_sum_body_steps = N) -> exists fs_a_pc_count_unique_actual_sum_body_steps fs_r_pc_count_unique_actual_sum_body_steps fs_s_pc_count_unique_actual_sum_body_steps. ((((exists fs_h_pc_count_unique_actual_sum_body_steps_summand. fs_h_pc_count_unique_actual_sum_body_steps_summand + S (fs_a_pc_count_unique_actual_sum_body_steps) = S ((S (fs_i_pc_count_unique_actual_sum_body_steps)) * pc_scale_count_unique_actual)) /\ exists fs_q_pc_count_unique_actual_sum_body_steps_summand. pc_code_count_unique_actual = fs_q_pc_count_unique_actual_sum_body_steps_summand * S ((S (fs_i_pc_count_unique_actual_sum_body_steps)) * pc_scale_count_unique_actual) + (fs_a_pc_count_unique_actual_sum_body_steps))) /\ ((((exists fs_h_pc_count_unique_actual_sum_body_steps_partial. fs_h_pc_count_unique_actual_sum_body_steps_partial + S (fs_r_pc_count_unique_actual_sum_body_steps) = S ((S (fs_i_pc_count_unique_actual_sum_body_steps)) * fs_v_pc_count_unique_actual_sum)) /\ exists fs_q_pc_count_unique_actual_sum_body_steps_partial. fs_u_pc_count_unique_actual_sum = fs_q_pc_count_unique_actual_sum_body_steps_partial * S ((S (fs_i_pc_count_unique_actual_sum_body_steps)) * fs_v_pc_count_unique_actual_sum) + (fs_r_pc_count_unique_actual_sum_body_steps))) /\ ((((exists fs_h_pc_count_unique_actual_sum_body_steps_successor. fs_h_pc_count_unique_actual_sum_body_steps_successor + S (fs_s_pc_count_unique_actual_sum_body_steps) = S ((S (S fs_i_pc_count_unique_actual_sum_body_steps)) * fs_v_pc_count_unique_actual_sum)) /\ exists fs_q_pc_count_unique_actual_sum_body_steps_successor. fs_u_pc_count_unique_actual_sum = fs_q_pc_count_unique_actual_sum_body_steps_successor * S ((S (S fs_i_pc_count_unique_actual_sum_body_steps)) * fs_v_pc_count_unique_actual_sum) + (fs_s_pc_count_unique_actual_sum_body_steps))) /\ fs_s_pc_count_unique_actual_sum_body_steps = fs_r_pc_count_unique_actual_sum_body_steps + fs_a_pc_count_unique_actual_sum_body_steps)))))) - 0003
specialize prime_count_exists N - 0004
apply prime_count_exists - 0005
cases h - 0006
exists x - 0007
split - 0008
exact h_witness - 0009
intro K - 0010
intro hK - 0011
specialize prime_count_functional N - 0012
specialize prime_count_functional x - 0013
specialize prime_count_functional K - 0014
apply prime_count_functional - 0015
exact h_witness - 0016
exact hK