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 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)Structural proof guide
A prime dividing neither factor does not divide their product.
Direct prerequisites: euclid_prime_dvd_product. The authored body proceeds by case analysis (1), intermediate claims (1).
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 (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 exact 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 : (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