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 K. (exists pc_code_count_functional_left pc_scale_count_functional_left. (forall pc_index_count_functional_left_mask. (exists pc_lt_count_functional_left_mask_bound. pc_lt_count_functional_left_mask_bound + S (pc_index_count_functional_left_mask) = (N)) -> exists pc_bit_count_functional_left_mask. (((exists fs_h_pc_count_functional_left_mask_entry. fs_h_pc_count_functional_left_mask_entry + S (pc_bit_count_functional_left_mask) = S ((S (pc_index_count_functional_left_mask)) * pc_scale_count_functional_left)) /\ exists fs_q_pc_count_functional_left_mask_entry. pc_code_count_functional_left = fs_q_pc_count_functional_left_mask_entry * S ((S (pc_index_count_functional_left_mask)) * pc_scale_count_functional_left) + (pc_bit_count_functional_left_mask))) /\ (((((~(S (pc_index_count_functional_left_mask) = 1) /\ forall bpr_left_pc_count_functional_left_mask_choice_prime bpr_right_pc_count_functional_left_mask_choice_prime. S (pc_index_count_functional_left_mask) = bpr_left_pc_count_functional_left_mask_choice_prime * bpr_right_pc_count_functional_left_mask_choice_prime -> bpr_left_pc_count_functional_left_mask_choice_prime = 1 \/ bpr_right_pc_count_functional_left_mask_choice_prime = 1)) /\ pc_bit_count_functional_left_mask = 1) \/ (~((~(S (pc_index_count_functional_left_mask) = 1) /\ forall bpr_left_pc_count_functional_left_mask_choice_prime bpr_right_pc_count_functional_left_mask_choice_prime. S (pc_index_count_functional_left_mask) = bpr_left_pc_count_functional_left_mask_choice_prime * bpr_right_pc_count_functional_left_mask_choice_prime -> bpr_left_pc_count_functional_left_mask_choice_prime = 1 \/ bpr_right_pc_count_functional_left_mask_choice_prime = 1)) /\ pc_bit_count_functional_left_mask = 0)))) /\ (exists fs_u_pc_count_functional_left_sum fs_v_pc_count_functional_left_sum. ((((exists fs_h_pc_count_functional_left_sum_body_start. fs_h_pc_count_functional_left_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_count_functional_left_sum)) /\ exists fs_q_pc_count_functional_left_sum_body_start. fs_u_pc_count_functional_left_sum = fs_q_pc_count_functional_left_sum_body_start * S ((S (0)) * fs_v_pc_count_functional_left_sum) + (0))) /\ ((((exists fs_h_pc_count_functional_left_sum_body_terminal. fs_h_pc_count_functional_left_sum_body_terminal + S (k) = S ((S (N)) * fs_v_pc_count_functional_left_sum)) /\ exists fs_q_pc_count_functional_left_sum_body_terminal. fs_u_pc_count_functional_left_sum = fs_q_pc_count_functional_left_sum_body_terminal * S ((S (N)) * fs_v_pc_count_functional_left_sum) + (k))) /\ forall fs_i_pc_count_functional_left_sum_body_steps. (exists fs_lt_pc_count_functional_left_sum_body_steps_bound. fs_lt_pc_count_functional_left_sum_body_steps_bound + S fs_i_pc_count_functional_left_sum_body_steps = N) -> exists fs_a_pc_count_functional_left_sum_body_steps fs_r_pc_count_functional_left_sum_body_steps fs_s_pc_count_functional_left_sum_body_steps. ((((exists fs_h_pc_count_functional_left_sum_body_steps_summand. fs_h_pc_count_functional_left_sum_body_steps_summand + S (fs_a_pc_count_functional_left_sum_body_steps) = S ((S (fs_i_pc_count_functional_left_sum_body_steps)) * pc_scale_count_functional_left)) /\ exists fs_q_pc_count_functional_left_sum_body_steps_summand. pc_code_count_functional_left = fs_q_pc_count_functional_left_sum_body_steps_summand * S ((S (fs_i_pc_count_functional_left_sum_body_steps)) * pc_scale_count_functional_left) + (fs_a_pc_count_functional_left_sum_body_steps))) /\ ((((exists fs_h_pc_count_functional_left_sum_body_steps_partial. fs_h_pc_count_functional_left_sum_body_steps_partial + S (fs_r_pc_count_functional_left_sum_body_steps) = S ((S (fs_i_pc_count_functional_left_sum_body_steps)) * fs_v_pc_count_functional_left_sum)) /\ exists fs_q_pc_count_functional_left_sum_body_steps_partial. fs_u_pc_count_functional_left_sum = fs_q_pc_count_functional_left_sum_body_steps_partial * S ((S (fs_i_pc_count_functional_left_sum_body_steps)) * fs_v_pc_count_functional_left_sum) + (fs_r_pc_count_functional_left_sum_body_steps))) /\ ((((exists fs_h_pc_count_functional_left_sum_body_steps_successor. fs_h_pc_count_functional_left_sum_body_steps_successor + S (fs_s_pc_count_functional_left_sum_body_steps) = S ((S (S fs_i_pc_count_functional_left_sum_body_steps)) * fs_v_pc_count_functional_left_sum)) /\ exists fs_q_pc_count_functional_left_sum_body_steps_successor. fs_u_pc_count_functional_left_sum = fs_q_pc_count_functional_left_sum_body_steps_successor * S ((S (S fs_i_pc_count_functional_left_sum_body_steps)) * fs_v_pc_count_functional_left_sum) + (fs_s_pc_count_functional_left_sum_body_steps))) /\ fs_s_pc_count_functional_left_sum_body_steps = fs_r_pc_count_functional_left_sum_body_steps + fs_a_pc_count_functional_left_sum_body_steps))))))) -> (exists pc_code_count_functional_right pc_scale_count_functional_right. (forall pc_index_count_functional_right_mask. (exists pc_lt_count_functional_right_mask_bound. pc_lt_count_functional_right_mask_bound + S (pc_index_count_functional_right_mask) = (N)) -> exists pc_bit_count_functional_right_mask. (((exists fs_h_pc_count_functional_right_mask_entry. fs_h_pc_count_functional_right_mask_entry + S (pc_bit_count_functional_right_mask) = S ((S (pc_index_count_functional_right_mask)) * pc_scale_count_functional_right)) /\ exists fs_q_pc_count_functional_right_mask_entry. pc_code_count_functional_right = fs_q_pc_count_functional_right_mask_entry * S ((S (pc_index_count_functional_right_mask)) * pc_scale_count_functional_right) + (pc_bit_count_functional_right_mask))) /\ (((((~(S (pc_index_count_functional_right_mask) = 1) /\ forall bpr_left_pc_count_functional_right_mask_choice_prime bpr_right_pc_count_functional_right_mask_choice_prime. S (pc_index_count_functional_right_mask) = bpr_left_pc_count_functional_right_mask_choice_prime * bpr_right_pc_count_functional_right_mask_choice_prime -> bpr_left_pc_count_functional_right_mask_choice_prime = 1 \/ bpr_right_pc_count_functional_right_mask_choice_prime = 1)) /\ pc_bit_count_functional_right_mask = 1) \/ (~((~(S (pc_index_count_functional_right_mask) = 1) /\ forall bpr_left_pc_count_functional_right_mask_choice_prime bpr_right_pc_count_functional_right_mask_choice_prime. S (pc_index_count_functional_right_mask) = bpr_left_pc_count_functional_right_mask_choice_prime * bpr_right_pc_count_functional_right_mask_choice_prime -> bpr_left_pc_count_functional_right_mask_choice_prime = 1 \/ bpr_right_pc_count_functional_right_mask_choice_prime = 1)) /\ pc_bit_count_functional_right_mask = 0)))) /\ (exists fs_u_pc_count_functional_right_sum fs_v_pc_count_functional_right_sum. ((((exists fs_h_pc_count_functional_right_sum_body_start. fs_h_pc_count_functional_right_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_count_functional_right_sum)) /\ exists fs_q_pc_count_functional_right_sum_body_start. fs_u_pc_count_functional_right_sum = fs_q_pc_count_functional_right_sum_body_start * S ((S (0)) * fs_v_pc_count_functional_right_sum) + (0))) /\ ((((exists fs_h_pc_count_functional_right_sum_body_terminal. fs_h_pc_count_functional_right_sum_body_terminal + S (K) = S ((S (N)) * fs_v_pc_count_functional_right_sum)) /\ exists fs_q_pc_count_functional_right_sum_body_terminal. fs_u_pc_count_functional_right_sum = fs_q_pc_count_functional_right_sum_body_terminal * S ((S (N)) * fs_v_pc_count_functional_right_sum) + (K))) /\ forall fs_i_pc_count_functional_right_sum_body_steps. (exists fs_lt_pc_count_functional_right_sum_body_steps_bound. fs_lt_pc_count_functional_right_sum_body_steps_bound + S fs_i_pc_count_functional_right_sum_body_steps = N) -> exists fs_a_pc_count_functional_right_sum_body_steps fs_r_pc_count_functional_right_sum_body_steps fs_s_pc_count_functional_right_sum_body_steps. ((((exists fs_h_pc_count_functional_right_sum_body_steps_summand. fs_h_pc_count_functional_right_sum_body_steps_summand + S (fs_a_pc_count_functional_right_sum_body_steps) = S ((S (fs_i_pc_count_functional_right_sum_body_steps)) * pc_scale_count_functional_right)) /\ exists fs_q_pc_count_functional_right_sum_body_steps_summand. pc_code_count_functional_right = fs_q_pc_count_functional_right_sum_body_steps_summand * S ((S (fs_i_pc_count_functional_right_sum_body_steps)) * pc_scale_count_functional_right) + (fs_a_pc_count_functional_right_sum_body_steps))) /\ ((((exists fs_h_pc_count_functional_right_sum_body_steps_partial. fs_h_pc_count_functional_right_sum_body_steps_partial + S (fs_r_pc_count_functional_right_sum_body_steps) = S ((S (fs_i_pc_count_functional_right_sum_body_steps)) * fs_v_pc_count_functional_right_sum)) /\ exists fs_q_pc_count_functional_right_sum_body_steps_partial. fs_u_pc_count_functional_right_sum = fs_q_pc_count_functional_right_sum_body_steps_partial * S ((S (fs_i_pc_count_functional_right_sum_body_steps)) * fs_v_pc_count_functional_right_sum) + (fs_r_pc_count_functional_right_sum_body_steps))) /\ ((((exists fs_h_pc_count_functional_right_sum_body_steps_successor. fs_h_pc_count_functional_right_sum_body_steps_successor + S (fs_s_pc_count_functional_right_sum_body_steps) = S ((S (S fs_i_pc_count_functional_right_sum_body_steps)) * fs_v_pc_count_functional_right_sum)) /\ exists fs_q_pc_count_functional_right_sum_body_steps_successor. fs_u_pc_count_functional_right_sum = fs_q_pc_count_functional_right_sum_body_steps_successor * S ((S (S fs_i_pc_count_functional_right_sum_body_steps)) * fs_v_pc_count_functional_right_sum) + (fs_s_pc_count_functional_right_sum_body_steps))) /\ fs_s_pc_count_functional_right_sum_body_steps = fs_r_pc_count_functional_right_sum_body_steps + fs_a_pc_count_functional_right_sum_body_steps))))))) -> k = KConstructive proof overview
Generated structural guide
The exact prime count is independent of every mask and sum-trace encoding choice.
The unchanged tactic script uses 4 declared prerequisites and contains 82 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_antisymm Stable theorem; checked-use authorized beta_sum_pointwise_le Alpha theorem; checked-use authorized PC0033 prime_bit_prefix_equal_entry le_refl 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 (1)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–11
03Use earlier factsL12–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
specialize le_antisymm k - L13
specialize le_antisymm K - L14
apply le_antisymm - L15
specialize beta_sum_pointwise_le x - L16
specialize beta_sum_pointwise_le x1 - L17
specialize beta_sum_pointwise_le x2 - L18
specialize beta_sum_pointwise_le x3 - L19
specialize beta_sum_pointwise_le N - L20
specialize beta_sum_pointwise_le k - L21
specialize beta_sum_pointwise_le K
04Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
apply beta_sum_pointwise_le
05Fix variables and assumptionsL23–28
06Establish heqL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime bit prefix equal entry.
- L29
have heq : a = z - L30
specialize prime_bit_prefix_equal_entry x - L31
specialize prime_bit_prefix_equal_entry x1 - L32
specialize prime_bit_prefix_equal_entry x2 - L33
specialize prime_bit_prefix_equal_entry x3 - L34
specialize prime_bit_prefix_equal_entry N - L35
specialize prime_bit_prefix_equal_entry i - L36
specialize prime_bit_prefix_equal_entry a - L37
specialize prime_bit_prefix_equal_entry z - L38
apply prime_bit_prefix_equal_entry
07Use earlier factsL39–43
08Calculate and transport equalitiesL44–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L44
rewrite heq
09Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize le_refl z - L46
apply le_refl - L47
exact hk_witness_witness_right - L48
exact hK_witness_witness_right - L49
specialize beta_sum_pointwise_le x2 - L50
specialize beta_sum_pointwise_le x3 - L51
specialize beta_sum_pointwise_le x - L52
specialize beta_sum_pointwise_le x1 - L53
specialize beta_sum_pointwise_le N - L54
specialize beta_sum_pointwise_le K
10Use earlier factsL55–56
11Fix variables and assumptionsL57–62
12Establish heqL63–72
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime bit prefix equal entry.
- L63
have heq : a = z - L64
specialize prime_bit_prefix_equal_entry x2 - L65
specialize prime_bit_prefix_equal_entry x3 - L66
specialize prime_bit_prefix_equal_entry x - L67
specialize prime_bit_prefix_equal_entry x1 - L68
specialize prime_bit_prefix_equal_entry N - L69
specialize prime_bit_prefix_equal_entry i - L70
specialize prime_bit_prefix_equal_entry a - L71
specialize prime_bit_prefix_equal_entry z - L72
apply prime_bit_prefix_equal_entry
13Use earlier factsL73–77
14Calculate and transport equalitiesL78–78
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L78
rewrite heq
Original exact command ledger · 82 lines
- 0001
intro N - 0002
intro k - 0003
intro K - 0004
intro hk - 0005
intro hK - 0006
cases hk - 0007
cases hk_witness - 0008
cases hk_witness_witness - 0009
cases hK - 0010
cases hK_witness - 0011
cases hK_witness_witness - 0012
specialize le_antisymm k - 0013
specialize le_antisymm K - 0014
apply le_antisymm - 0015
specialize beta_sum_pointwise_le x - 0016
specialize beta_sum_pointwise_le x1 - 0017
specialize beta_sum_pointwise_le x2 - 0018
specialize beta_sum_pointwise_le x3 - 0019
specialize beta_sum_pointwise_le N - 0020
specialize beta_sum_pointwise_le k - 0021
specialize beta_sum_pointwise_le K - 0022
apply beta_sum_pointwise_le - 0023
intro i - 0024
intro a - 0025
intro z - 0026
intro hi - 0027
intro ha - 0028
intro hz - 0029
have heq : a = z - 0030
specialize prime_bit_prefix_equal_entry x - 0031
specialize prime_bit_prefix_equal_entry x1 - 0032
specialize prime_bit_prefix_equal_entry x2 - 0033
specialize prime_bit_prefix_equal_entry x3 - 0034
specialize prime_bit_prefix_equal_entry N - 0035
specialize prime_bit_prefix_equal_entry i - 0036
specialize prime_bit_prefix_equal_entry a - 0037
specialize prime_bit_prefix_equal_entry z - 0038
apply prime_bit_prefix_equal_entry - 0039
exact hk_witness_witness_left - 0040
exact hK_witness_witness_left - 0041
exact hi - 0042
exact ha - 0043
exact hz - 0044
rewrite heq - 0045
specialize le_refl z - 0046
apply le_refl - 0047
exact hk_witness_witness_right - 0048
exact hK_witness_witness_right - 0049
specialize beta_sum_pointwise_le x2 - 0050
specialize beta_sum_pointwise_le x3 - 0051
specialize beta_sum_pointwise_le x - 0052
specialize beta_sum_pointwise_le x1 - 0053
specialize beta_sum_pointwise_le N - 0054
specialize beta_sum_pointwise_le K - 0055
specialize beta_sum_pointwise_le k - 0056
apply beta_sum_pointwise_le - 0057
intro i - 0058
intro a - 0059
intro z - 0060
intro hi - 0061
intro ha - 0062
intro hz - 0063
have heq : a = z - 0064
specialize prime_bit_prefix_equal_entry x2 - 0065
specialize prime_bit_prefix_equal_entry x3 - 0066
specialize prime_bit_prefix_equal_entry x - 0067
specialize prime_bit_prefix_equal_entry x1 - 0068
specialize prime_bit_prefix_equal_entry N - 0069
specialize prime_bit_prefix_equal_entry i - 0070
specialize prime_bit_prefix_equal_entry a - 0071
specialize prime_bit_prefix_equal_entry z - 0072
apply prime_bit_prefix_equal_entry - 0073
exact hK_witness_witness_left - 0074
exact hk_witness_witness_left - 0075
exact hi - 0076
exact ha - 0077
exact hz - 0078
rewrite heq - 0079
specialize le_refl z - 0080
apply le_refl - 0081
exact hK_witness_witness_right - 0082
exact hk_witness_witness_right