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.
Statement with defined notation
∀ p. Prime(p) → p = 2 ∨ Odd(p)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall p. ((~(p = 1) /\ forall frm_prime_left_ftsc_prime frm_prime_right_ftsc_prime. p = frm_prime_left_ftsc_prime * frm_prime_right_ftsc_prime -> frm_prime_left_ftsc_prime = 1 \/ frm_prime_right_ftsc_prime = 1)) -> (p = 2 \/ (exists ftsc_odd_ftsc_prime. (p) = 2 * ftsc_odd_ftsc_prime + 1))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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.
01Fix variables and assumptionsL1–2
02Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
cases hprime
03Use earlier factsL4–4
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L4
specialize parity_cases p
04Separate the logical casesL5–7
05Establish hfactorL8–12
06Separate the logical casesL13–14
07Establish hzeroL15–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply PA2.
08Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
right
09Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x
10Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
exact parity_cases_witness_right
Original defined command ledger · 26 lines
- 0001
intro p - 0002
intro hprime - 0003
cases hprime - 0004
specialize parity_cases p - 0005
cases parity_cases - 0006
cases parity_cases_witness - 0007
left - 0008
have hfactor : 2 = 1 \/ x = 1 - 0009
specialize hprime_right 2 - 0010
specialize hprime_right x - 0011
apply hprime_right - 0012
exact parity_cases_witness_left - 0013
cases hfactor - 0014
exfalso - 0015
have hzero : 1 = 0 - 0016
apply PA2 - 0017
exact hfactor_left - 0018
apply PA1 - 0019
exact hzero - 0020
rewrite hfactor_right at parity_cases_witness_left - 0021
specialize mul_one 2 - 0022
rewrite mul_one at parity_cases_witness_left - 0023
exact parity_cases_witness_left - 0024
right - 0025
exists x - 0026
exact parity_cases_witness_right