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. ∀ q. ∀ i. ∀ d. ∀ r. Prime(p) → ¬Dvd(p,q) → Lt(S i,p) → q · S i = p · d + r → ¬r = 0Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
3 occurrences
In local proof propositions
4 occurrences
Exact expanded native-PA statement
forall p q i d r. ((~(p = 1) /\ forall frp_prime_left_remainder_nonzero_prime_p frp_prime_right_remainder_nonzero_prime_p. p = frp_prime_left_remainder_nonzero_prime_p * frp_prime_right_remainder_nonzero_prime_p -> frp_prime_left_remainder_nonzero_prime_p = 1 \/ frp_prime_right_remainder_nonzero_prime_p = 1)) -> (~(exists factor. q = p * factor)) -> (exists ern_lt_gap_remainder_nonzero_index_below_p. ern_lt_gap_remainder_nonzero_index_below_p + S (S i) = p) -> q * S i = p * d + r -> ~(r = 0)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed 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.
Named ingredients (4)
01Fix variables and assumptionsL1–10
02Establish hmultipleL11–11
Establish this local claim before using it. It is not an additional assumption.
- L11
have hmultiple : Dvd(p,q · S i)Definitions: Dvd(p,q · S i)Original native command in the exact edition
03Construct an explicit witnessL12–12
Supply the displayed value, then prove that it has the required property.
- L12
exists d
04Calculate and transport equalitiesL13–13
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L13
trans p * d + r
05Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hdivision
06Calculate and transport equalitiesL15–15
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L15
rewrite hr0
07Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
apply PA3
08Establish hsplitL17–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclid prime dvd product.
- L17
have hsplit : Dvd(p,q) ∨ Dvd(p,S i)Definitions: Dvd(p,q)Dvd(p,S i)Original native command in the exact edition - L18
specialize euclid_prime_dvd_product p - L19
specialize euclid_prime_dvd_product q - L20
specialize euclid_prime_dvd_product (S i) - L21
apply euclid_prime_dvd_product - L22
exact hp - L23
exact hmultiple
09Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hsplit
10Use earlier factsL25–26
11Establish hsi0L27–29
12Establish hleL30–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor le nonzero.
13Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hle
Original defined command ledger · 40 lines
- 0001
intro p - 0002
intro q - 0003
intro i - 0004
intro d - 0005
intro r - 0006
intro hp - 0007
intro hpq - 0008
intro hip - 0009
intro hdivision - 0010
intro hr0 - 0011
have hmultiple : Dvd(p,q · S i)Exact native replay line
have hmultiple : exists t. q * S i = p * t - 0012
exists d - 0013
trans p * d + r - 0014
exact hdivision - 0015
rewrite hr0 - 0016
apply PA3 - 0017
have hsplit : Dvd(p,q) ∨ Dvd(p,S i)Exact native replay line
have hsplit : (exists u. q = p * u) \/ exists v. S i = p * v - 0018
specialize euclid_prime_dvd_product p - 0019
specialize euclid_prime_dvd_product q - 0020
specialize euclid_prime_dvd_product (S i) - 0021
apply euclid_prime_dvd_product - 0022
exact hp - 0023
exact hmultiple - 0024
cases hsplit - 0025
apply hpq - 0026
exact hsplit_left - 0027
have hsi0 : ~(S i = 0) - 0028
specialize succ_ne_zero i - 0029
exact succ_ne_zero - 0030
have hle : Le(p,S i)Exact native replay line
have hle : exists gap. gap + p = S i - 0031
specialize divisor_le_nonzero p - 0032
specialize divisor_le_nonzero (S i) - 0033
apply divisor_le_nonzero - 0034
exact hsi0 - 0035
exact hsplit_right - 0036
specialize lt_not_le (S i) - 0037
specialize lt_not_le p - 0038
apply lt_not_le - 0039
exact hip - 0040
exact hle