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 PA statement
forall n. (exists h. h + S 1 = n) -> exists p. ((~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) /\ ((exists u. u + S n = p) /\ (exists v. v + S p = n + n)))Structural proof guide
Every n greater than one has a prime strictly below n+n.
Direct prerequisites: add_eq_zero_right, bertrand_closed_upper, le_eq_or_lt, bertrand_upper_endpoint_factorization. The authored body proceeds by case analysis (5), intermediate claims (4), equality transport (1).
Proof neighborhood
Direct dependencies
BT000L add_eq_zero_right BT0125 bertrand_closed_upper BT001C le_eq_or_lt BT0126 bertrand_upper_endpoint_factorizationDirect dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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–2
02Establish hn_nonzeroL3–4
03Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases hlower
04Calculate and transport equalitiesL6–6
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L6
rewrite hn_zero at hlower_witness
05Establish htwo_zeroL7–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
06Establish hclosedL14–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bertrand closed upper.
- L14
have hclosed : exists x. ((~(x = 1) /\ forall bpr_left_bbp02_closed_prime bpr_right_bbp02_closed_prime. x = bpr_left_bbp02_closed_prime * bpr_right_bbp02_closed_prime -> bpr_left_bbp02_closed_prime = 1 \/ bpr_right_bbp02_closed_prime = 1)) /\ ((exists bpr_gap_bbp02_closed_lower. bpr_gap_bbp02_closed_lower + S (n) = x) /\ (exists bpr_le_gap_bbp02_closed_upper. bpr_le_gap_bbp02_closed_upper + (x) = (n + n))) - L15
specialize bertrand_closed_upper n - L16
apply bertrand_closed_upper - L17
exact hn_nonzero
07Separate the logical casesL18–20
08Establish hsplitL21–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
09Separate the logical casesL26–27
10Use earlier factsL28–33
11Construct an explicit witnessL34–34
Supply the displayed value, then prove that it has the required property.
- L34
exists x
12Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
13Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hclosed_witness_left
14Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
Original exact command ledger · 39 lines
- 0001
intro n - 0002
intro hlower - 0003
have hn_nonzero : ~(n = 0) - 0004
intro hn_zero - 0005
cases hlower - 0006
rewrite hn_zero at hlower_witness - 0007
have htwo_zero : 2 = 0 - 0008
specialize add_eq_zero_right x - 0009
specialize add_eq_zero_right 2 - 0010
apply add_eq_zero_right - 0011
exact hlower_witness - 0012
apply PA1 - 0013
exact htwo_zero - 0014
have hclosed : exists x. ((~(x = 1) /\ forall bpr_left_bbp02_closed_prime bpr_right_bbp02_closed_prime. x = bpr_left_bbp02_closed_prime * bpr_right_bbp02_closed_prime -> bpr_left_bbp02_closed_prime = 1 \/ bpr_right_bbp02_closed_prime = 1)) /\ ((exists bpr_gap_bbp02_closed_lower. bpr_gap_bbp02_closed_lower + S (n) = x) /\ (exists bpr_le_gap_bbp02_closed_upper. bpr_le_gap_bbp02_closed_upper + (x) = (n + n))) - 0015
specialize bertrand_closed_upper n - 0016
apply bertrand_closed_upper - 0017
exact hn_nonzero - 0018
cases hclosed - 0019
cases hclosed_witness - 0020
cases hclosed_witness_right - 0021
have hsplit : x = n + n \/ (exists v. v + S x = n + n) - 0022
specialize le_eq_or_lt x - 0023
specialize le_eq_or_lt (n + n) - 0024
apply le_eq_or_lt - 0025
exact hclosed_witness_right_right - 0026
cases hsplit - 0027
exfalso - 0028
specialize bertrand_upper_endpoint_factorization n - 0029
specialize bertrand_upper_endpoint_factorization x - 0030
apply bertrand_upper_endpoint_factorization - 0031
exact hlower - 0032
exact hclosed_witness_left - 0033
exact hsplit_left - 0034
exists x - 0035
split - 0036
exact hclosed_witness_left - 0037
split - 0038
exact hclosed_witness_right_left - 0039
exact hsplit_right