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 p. ((~(p = 1) /\ forall qrbu_factor_left_prime_p qrbu_factor_right_prime_p. p = qrbu_factor_left_prime_p * qrbu_factor_right_prime_p -> qrbu_factor_left_prime_p = 1 \/ qrbu_factor_right_prime_p = 1)) -> exists k. p = S (S k)Structural proof guide
Every prime natural is the second successor of a natural.
Direct prerequisites: prime_nonzero, nonzero_is_succ. The authored body proceeds by case analysis (3), intermediate claims (4), equality transport (4).
Proof neighborhood
Direct dependencies
Direct 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 (2)
01Fix variables and assumptionsL1–2
02Establish hp0L3–8
03Establish hpsL9–12
04Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hps
05Establish hx0L14–15
06Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hp
07Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply hp_left
08Calculate and transport equalitiesL18–20
09Establish hxsL21–24
10Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hxs
11Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x1
Original exact command ledger · 29 lines
- 0001
intro p - 0002
intro hp - 0003
have hp0 : ~(p = 0) - 0004
intro hpzero - 0005
specialize prime_nonzero p - 0006
apply prime_nonzero - 0007
exact hp - 0008
exact hpzero - 0009
have hps : exists k. p = S k - 0010
specialize nonzero_is_succ p - 0011
apply nonzero_is_succ - 0012
exact hp0 - 0013
cases hps - 0014
have hx0 : ~(x = 0) - 0015
intro hx0 - 0016
cases hp - 0017
apply hp_left - 0018
rewrite hps_witness - 0019
rewrite hx0 - 0020
refl - 0021
have hxs : exists k. x = S k - 0022
specialize nonzero_is_succ x - 0023
apply nonzero_is_succ - 0024
exact hx0 - 0025
cases hxs - 0026
exists x1 - 0027
rewrite hps_witness - 0028
rewrite hxs_witness - 0029
refl