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. ∀ a. ∀ b. Prime(p) → ¬Dvd(p,a) → ¬Dvd(p,b) → ¬Dvd(p,a · b)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
4 occurrences
In local proof propositions
2 occurrences
Exact expanded native-PA statement
forall p a b. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(exists bpd_factor_nondivisor_left. a = (p) * bpd_factor_nondivisor_left) -> ~(exists bpd_factor_nondivisor_right. b = (p) * bpd_factor_nondivisor_right) -> ~(exists bpd_factor_nondivisor_product. a * b = (p) * bpd_factor_nondivisor_product)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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–7
02Establish hsplitL8–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclid prime dvd product.
03Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hsplit
Original defined command ledger · 19 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro hp - 0005
intro ha - 0006
intro hb - 0007
intro hab - 0008
have hsplit : Dvd(p,a) ∨ Dvd(p,b)Exact native replay line
have hsplit : (exists u. a = p * u) \/ exists v. b = p * v - 0009
specialize euclid_prime_dvd_product p - 0010
specialize euclid_prime_dvd_product a - 0011
specialize euclid_prime_dvd_product b - 0012
apply euclid_prime_dvd_product - 0013
exact hp - 0014
exact hab - 0015
cases hsplit - 0016
apply ha - 0017
exact hsplit_left - 0018
apply hb - 0019
exact hsplit_right