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. Prime(p) → Coprime(p,a) ∨ Dvd(p,a)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
3 occurrences
In local proof propositions
3 occurrences
Exact expanded native-PA statement
forall p a. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> (forall d. (exists x. p = d * x) -> (exists y. a = d * y) -> d = 1) \/ exists k. a = p * kProof 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 (3)
01Fix variables and assumptionsL1–3
02Establish hgL4–5
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gcd exists relational.
03Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
cases hg
04Establish hgfullL7–8
Establish this local claim before using it. It is not an additional assumption.
05Separate the logical casesL9–10
06Establish hfactorL11–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor eq one or self.
07Separate the logical casesL17–18
08Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply is_gcd_one_to_coprime
09Establish hg1L20–25
Establish this local claim before using it. It is not an additional assumption.
10Separate the logical casesL26–27
11Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists x1
12Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
rewrite hfactor_right
13Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hg_witness_left_right_witness
Original defined command ledger · 30 lines
- 0001
intro p - 0002
intro a - 0003
intro hp - 0004
have hg : ∃ g. IsGCD(g,p,a)Exact native replay line
have hg : exists g. (((exists x. p = g * x) /\ (exists y. a = g * y)) /\ forall c. (exists u. p = c * u) -> (exists v. a = c * v) -> exists w. g = c * w) - 0005
apply gcd_exists_relational - 0006
cases hg - 0007
have hgfull : IsGCD(x,p,a)Exact native replay line
have hgfull : (((exists u. p = x * u) /\ (exists v. a = x * v)) /\ forall c. (exists s. p = c * s) -> (exists t. a = c * t) -> exists w. x = c * w) - 0008
exact hg_witness - 0009
cases hg_witness - 0010
cases hg_witness_left - 0011
have hfactor : x = 1 \/ p = x - 0012
specialize prime_divisor_eq_one_or_self p - 0013
specialize prime_divisor_eq_one_or_self x - 0014
apply prime_divisor_eq_one_or_self - 0015
exact hp - 0016
exact hg_witness_left_left - 0017
cases hfactor - 0018
left - 0019
apply is_gcd_one_to_coprime - 0020
have hg1 : IsGCD(1,p,a)Exact native replay line
have hg1 : (((exists u. p = 1 * u) /\ (exists v. a = 1 * v)) /\ forall c. (exists s. p = c * s) -> (exists t. a = c * t) -> exists w. 1 = c * w) - 0021
rewrite <- hfactor_left - 0022
rewrite <- hfactor_left - 0023
rewrite <- hfactor_left - 0024
exact hgfull - 0025
exact hg1 - 0026
right - 0027
cases hg_witness_left_right - 0028
exists x1 - 0029
rewrite hfactor_right - 0030
exact hg_witness_left_right_witness