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 b c k p q. ((((exists fs_h_pen_complete_chain_initial. fs_h_pen_complete_chain_initial + S (2) = S ((S (0)) * c)) /\ exists fs_q_pen_complete_chain_initial. b = fs_q_pen_complete_chain_initial * S ((S (0)) * c) + (2))) /\ forall pen_index_complete_chain. (exists pc_lt_pen_complete_chain_bound. pc_lt_pen_complete_chain_bound + S (pen_index_complete_chain) = (k)) -> exists pen_previous_complete_chain pen_following_complete_chain. (((exists fs_h_pen_complete_chain_previous. fs_h_pen_complete_chain_previous + S (pen_previous_complete_chain) = S ((S (pen_index_complete_chain)) * c)) /\ exists fs_q_pen_complete_chain_previous. b = fs_q_pen_complete_chain_previous * S ((S (pen_index_complete_chain)) * c) + (pen_previous_complete_chain))) /\ ((((exists fs_h_pen_complete_chain_following. fs_h_pen_complete_chain_following + S (pen_following_complete_chain) = S ((S (S pen_index_complete_chain)) * c)) /\ exists fs_q_pen_complete_chain_following. b = fs_q_pen_complete_chain_following * S ((S (S pen_index_complete_chain)) * c) + (pen_following_complete_chain))) /\ (((~(pen_following_complete_chain = 1) /\ forall bpr_left_pc_pen_complete_chain_next_prime bpr_right_pc_pen_complete_chain_next_prime. pen_following_complete_chain = bpr_left_pc_pen_complete_chain_next_prime * bpr_right_pc_pen_complete_chain_next_prime -> bpr_left_pc_pen_complete_chain_next_prime = 1 \/ bpr_right_pc_pen_complete_chain_next_prime = 1)) /\ ((exists pc_lt_pen_complete_chain_next_greater. pc_lt_pen_complete_chain_next_greater + S (pen_previous_complete_chain) = (pen_following_complete_chain)) /\ forall pen_comparison_complete_chain_next. ((~(pen_comparison_complete_chain_next = 1) /\ forall bpr_left_pc_pen_complete_chain_next_comparison bpr_right_pc_pen_complete_chain_next_comparison. pen_comparison_complete_chain_next = bpr_left_pc_pen_complete_chain_next_comparison * bpr_right_pc_pen_complete_chain_next_comparison -> bpr_left_pc_pen_complete_chain_next_comparison = 1 \/ bpr_right_pc_pen_complete_chain_next_comparison = 1)) -> (exists pc_lt_pen_complete_chain_next_above. pc_lt_pen_complete_chain_next_above + S (pen_previous_complete_chain) = (pen_comparison_complete_chain_next)) -> (exists pc_le_pen_complete_chain_next_minimal. pc_le_pen_complete_chain_next_minimal + (pen_following_complete_chain) = (pen_comparison_complete_chain_next)))))) -> (((exists fs_h_pen_complete_terminal. fs_h_pen_complete_terminal + S (p) = S ((S (k)) * c)) /\ exists fs_q_pen_complete_terminal. b = fs_q_pen_complete_terminal * S ((S (k)) * c) + (p))) -> ((~(q = 1) /\ forall bpr_left_pc_pen_complete_prime bpr_right_pc_pen_complete_prime. q = bpr_left_pc_pen_complete_prime * bpr_right_pc_pen_complete_prime -> bpr_left_pc_pen_complete_prime = 1 \/ bpr_right_pc_pen_complete_prime = 1)) -> (exists pc_le_pen_complete_value_bound. pc_le_pen_complete_value_bound + (q) = (p)) -> exists i. (exists pc_le_pen_complete_index. pc_le_pen_complete_index + (i) = (k)) /\ (((exists fs_h_pen_complete_found. fs_h_pen_complete_found + S (q) = S ((S (i)) * c)) /\ exists fs_q_pen_complete_found. b = fs_q_pen_complete_found * S ((S (i)) * c) + (q)))Constructive proof overview
Generated structural guide
Every prime no larger than a decoded terminal prime occurs in the actual prefix; no smaller prime is omitted.
The unchanged tactic script uses 8 declared prerequisites and contains 110 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_unique Stable theorem; checked-use authorized le_antisymm Stable theorem; checked-use authorized prime_two_le Alpha theorem; checked-use authorized le_refl Stable theorem; checked-use authorized PE0009 initial_prime_chain_prefix_restrict le_succ_self Stable theorem; checked-use authorized le_or_lt Stable theorem; checked-use authorized 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 (1)
01Fix variables and assumptionsL1–2
02Induction on kL3–9
03Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hc
04Establish hp2L11–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
05Establish hq2L20–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le antisymm.
06Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists 0
07Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
08Use earlier factsL31–32
09Calculate and transport equalitiesL33–34
10Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hc_left
11Fix variables and assumptionsL36–41
12Establish hrL42–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply initial prime chain prefix restrict.
- L42
have hr : InitialPrimeChain(b,c,k)Definitions: InitialPrimeChain - L43
specialize initial_prime_chain_prefix_restrict b - L44
specialize initial_prime_chain_prefix_restrict c - L45
specialize initial_prime_chain_prefix_restrict (S k) - L46
specialize initial_prime_chain_prefix_restrict k - L47
apply initial_prime_chain_prefix_restrict - L48
specialize le_succ_self k - L49
apply le_succ_self - L50
exact hc
13Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
cases hc
14Establish heL52–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc right.
15Separate the logical casesL57–62
16Establish hpeqL63–71
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
17Establish hsL72–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le or lt.
18Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
cases hs
19Establish hoL77–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L77
have ho : exists i. (exists pc_le_pen_complete_old_index. pc_le_pen_complete_old_index + (i) = (k)) /\ (((exists fs_h_pen_complete_old_found. fs_h_pen_complete_old_found + S (q) = S ((S (i)) * c)) /\ exists fs_q_pen_complete_old_found. b = fs_q_pen_complete_old_found * S ((S (i)) * c) + (q))) - L78
specialize IH x - L79
specialize IH q - L80
apply IH - L81
exact hr - L82
exact he_witness_witness_left - L83
exact hq - L84
exact hs_left
20Separate the logical casesL85–86
21Construct an explicit witnessL87–87
Supply the displayed value, then prove that it has the required property.
- L87
exists x2
22Separate the logical casesL88–88
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L88
split
23Use earlier factsL89–93
24Establish hqp_eqL94–103
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le antisymm.
25Construct an explicit witnessL104–104
Supply the displayed value, then prove that it has the required property.
- L104
exists S k
26Separate the logical casesL105–105
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L105
split
27Use earlier factsL106–107
28Calculate and transport equalitiesL108–109
29Use earlier factsL110–110
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L110
exact hp
Original exact command ledger · 110 lines
- 0001
intro b - 0002
intro c - 0003
induction k - 0004
intro p - 0005
intro q - 0006
intro hc - 0007
intro hp - 0008
intro hq - 0009
intro hqp - 0010
cases hc - 0011
have hp2 : p = 2 - 0012
specialize beta_at_unique b - 0013
specialize beta_at_unique c - 0014
specialize beta_at_unique 0 - 0015
specialize beta_at_unique p - 0016
specialize beta_at_unique 2 - 0017
apply beta_at_unique - 0018
exact hp - 0019
exact hc_left - 0020
have hq2 : q = 2 - 0021
specialize le_antisymm q - 0022
specialize le_antisymm 2 - 0023
apply le_antisymm - 0024
rewrite hp2 at hqp - 0025
exact hqp - 0026
specialize prime_two_le q - 0027
apply prime_two_le - 0028
exact hq - 0029
exists 0 - 0030
split - 0031
specialize le_refl 0 - 0032
apply le_refl - 0033
rewrite hq2 - 0034
rewrite hq2 - 0035
exact hc_left - 0036
intro p - 0037
intro q - 0038
intro hc - 0039
intro hp - 0040
intro hq - 0041
intro hqp - 0042
have hr : (((exists fs_h_pen_semantic_prefix_initial. fs_h_pen_semantic_prefix_initial + S (2) = S ((S (0)) * c)) /\ exists fs_q_pen_semantic_prefix_initial. b = fs_q_pen_semantic_prefix_initial * S ((S (0)) * c) + (2))) /\ forall pen_index_semantic_prefix. (exists pc_lt_pen_semantic_prefix_bound. pc_lt_pen_semantic_prefix_bound + S (pen_index_semantic_prefix) = (k)) -> exists pen_previous_semantic_prefix pen_following_semantic_prefix. (((exists fs_h_pen_semantic_prefix_previous. fs_h_pen_semantic_prefix_previous + S (pen_previous_semantic_prefix) = S ((S (pen_index_semantic_prefix)) * c)) /\ exists fs_q_pen_semantic_prefix_previous. b = fs_q_pen_semantic_prefix_previous * S ((S (pen_index_semantic_prefix)) * c) + (pen_previous_semantic_prefix))) /\ ((((exists fs_h_pen_semantic_prefix_following. fs_h_pen_semantic_prefix_following + S (pen_following_semantic_prefix) = S ((S (S pen_index_semantic_prefix)) * c)) /\ exists fs_q_pen_semantic_prefix_following. b = fs_q_pen_semantic_prefix_following * S ((S (S pen_index_semantic_prefix)) * c) + (pen_following_semantic_prefix))) /\ (((~(pen_following_semantic_prefix = 1) /\ forall bpr_left_pc_pen_semantic_prefix_next_prime bpr_right_pc_pen_semantic_prefix_next_prime. pen_following_semantic_prefix = bpr_left_pc_pen_semantic_prefix_next_prime * bpr_right_pc_pen_semantic_prefix_next_prime -> bpr_left_pc_pen_semantic_prefix_next_prime = 1 \/ bpr_right_pc_pen_semantic_prefix_next_prime = 1)) /\ ((exists pc_lt_pen_semantic_prefix_next_greater. pc_lt_pen_semantic_prefix_next_greater + S (pen_previous_semantic_prefix) = (pen_following_semantic_prefix)) /\ forall pen_comparison_semantic_prefix_next. ((~(pen_comparison_semantic_prefix_next = 1) /\ forall bpr_left_pc_pen_semantic_prefix_next_comparison bpr_right_pc_pen_semantic_prefix_next_comparison. pen_comparison_semantic_prefix_next = bpr_left_pc_pen_semantic_prefix_next_comparison * bpr_right_pc_pen_semantic_prefix_next_comparison -> bpr_left_pc_pen_semantic_prefix_next_comparison = 1 \/ bpr_right_pc_pen_semantic_prefix_next_comparison = 1)) -> (exists pc_lt_pen_semantic_prefix_next_above. pc_lt_pen_semantic_prefix_next_above + S (pen_previous_semantic_prefix) = (pen_comparison_semantic_prefix_next)) -> (exists pc_le_pen_semantic_prefix_next_minimal. pc_le_pen_semantic_prefix_next_minimal + (pen_following_semantic_prefix) = (pen_comparison_semantic_prefix_next))))) - 0043
specialize initial_prime_chain_prefix_restrict b - 0044
specialize initial_prime_chain_prefix_restrict c - 0045
specialize initial_prime_chain_prefix_restrict (S k) - 0046
specialize initial_prime_chain_prefix_restrict k - 0047
apply initial_prime_chain_prefix_restrict - 0048
specialize le_succ_self k - 0049
apply le_succ_self - 0050
exact hc - 0051
cases hc - 0052
have he : exists a t. (((exists fs_h_pen_semantic_previous. fs_h_pen_semantic_previous + S (a) = S ((S (k)) * c)) /\ exists fs_q_pen_semantic_previous. b = fs_q_pen_semantic_previous * S ((S (k)) * c) + (a))) /\ ((((exists fs_h_pen_semantic_last. fs_h_pen_semantic_last + S (t) = S ((S (S k)) * c)) /\ exists fs_q_pen_semantic_last. b = fs_q_pen_semantic_last * S ((S (S k)) * c) + (t))) /\ (((~(t = 1) /\ forall bpr_left_pc_pen_semantic_next_prime bpr_right_pc_pen_semantic_next_prime. t = bpr_left_pc_pen_semantic_next_prime * bpr_right_pc_pen_semantic_next_prime -> bpr_left_pc_pen_semantic_next_prime = 1 \/ bpr_right_pc_pen_semantic_next_prime = 1)) /\ ((exists pc_lt_pen_semantic_next_greater. pc_lt_pen_semantic_next_greater + S (a) = (t)) /\ forall pen_comparison_semantic_next. ((~(pen_comparison_semantic_next = 1) /\ forall bpr_left_pc_pen_semantic_next_comparison bpr_right_pc_pen_semantic_next_comparison. pen_comparison_semantic_next = bpr_left_pc_pen_semantic_next_comparison * bpr_right_pc_pen_semantic_next_comparison -> bpr_left_pc_pen_semantic_next_comparison = 1 \/ bpr_right_pc_pen_semantic_next_comparison = 1)) -> (exists pc_lt_pen_semantic_next_above. pc_lt_pen_semantic_next_above + S (a) = (pen_comparison_semantic_next)) -> (exists pc_le_pen_semantic_next_minimal. pc_le_pen_semantic_next_minimal + (t) = (pen_comparison_semantic_next))))) - 0053
specialize hc_right k - 0054
apply hc_right - 0055
specialize le_refl (S k) - 0056
apply le_refl - 0057
cases he - 0058
cases he_witness - 0059
cases he_witness_witness - 0060
cases he_witness_witness_right - 0061
cases he_witness_witness_right_right - 0062
cases he_witness_witness_right_right_right - 0063
have hpeq : p = x1 - 0064
specialize beta_at_unique b - 0065
specialize beta_at_unique c - 0066
specialize beta_at_unique (S k) - 0067
specialize beta_at_unique p - 0068
specialize beta_at_unique x1 - 0069
apply beta_at_unique - 0070
exact hp - 0071
exact he_witness_witness_right_left - 0072
have hs : (exists pc_le_pen_complete_earlier. pc_le_pen_complete_earlier + (q) = (x)) \/ (exists pc_lt_pen_complete_later. pc_lt_pen_complete_later + S (x) = (q)) - 0073
specialize le_or_lt q - 0074
specialize le_or_lt x - 0075
apply le_or_lt - 0076
cases hs - 0077
have ho : exists i. (exists pc_le_pen_complete_old_index. pc_le_pen_complete_old_index + (i) = (k)) /\ (((exists fs_h_pen_complete_old_found. fs_h_pen_complete_old_found + S (q) = S ((S (i)) * c)) /\ exists fs_q_pen_complete_old_found. b = fs_q_pen_complete_old_found * S ((S (i)) * c) + (q))) - 0078
specialize IH x - 0079
specialize IH q - 0080
apply IH - 0081
exact hr - 0082
exact he_witness_witness_left - 0083
exact hq - 0084
exact hs_left - 0085
cases ho - 0086
cases ho_witness - 0087
exists x2 - 0088
split - 0089
specialize le_succ x2 - 0090
specialize le_succ k - 0091
apply le_succ - 0092
exact ho_witness_left - 0093
exact ho_witness_right - 0094
have hqp_eq : q = p - 0095
specialize le_antisymm q - 0096
specialize le_antisymm p - 0097
apply le_antisymm - 0098
exact hqp - 0099
rewrite hpeq - 0100
specialize he_witness_witness_right_right_right_right q - 0101
apply he_witness_witness_right_right_right_right - 0102
exact hq - 0103
exact hs_right - 0104
exists S k - 0105
split - 0106
specialize le_refl (S k) - 0107
apply le_refl - 0108
rewrite hqp_eq - 0109
rewrite hqp_eq - 0110
exact hp