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. ∀ n. ∀ x. ∀ b. ¬P = 0 → ¬n = 0 → Coprime(P,n) → ∃ y. (∀ z. ∀ m. Dvd(z,P) → ModEq(z,x,m) → ModEq(z,y,m)) ∧ ModEq(n,y,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
5 occurrences
In local proof propositions
3 occurrences
Exact expanded native-PA statement
forall P n x b. ~(P = 0) -> ~(n = 0) -> (forall d. (exists u. P = d * u) -> (exists v. n = d * v) -> d = 1) -> exists z. ((forall m a. (exists k. P = m * k) -> (exists u v. x + m * u = a + m * v) -> exists r s. z + m * r = a + m * s) /\ exists q r. z + n * q = b + n * r)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 (3)
01Fix variables and assumptionsL1–7
02Establish hcrtL8–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary crt.
- L8
have hcrt : ∃ z. ModEq(P,z,x) ∧ ModEq(n,z,b)Definitions: ModEq(P,z,x)ModEq(n,z,b)Original native command in the exact edition - L9
specialize binary_crt P - L10
specialize binary_crt n - L11
specialize binary_crt x - L12
specialize binary_crt b - L13
apply binary_crt - L14
exact hP - L15
exact hn - L16
exact hcop
03Separate the logical casesL17–18
04Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists x1
05Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
split
06Fix variables and assumptionsL21–24
07Establish hzxL25–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq of mod eq multiple.
Original defined command ledger · 40 lines
- 0001
intro P - 0002
intro n - 0003
intro x - 0004
intro b - 0005
intro hP - 0006
intro hn - 0007
intro hcop - 0008
have hcrt : ∃ z. ModEq(P,z,x) ∧ ModEq(n,z,b)Exact native replay line
have hcrt : exists z. (exists u v. z + P * u = x + P * v) /\ (exists q r. z + n * q = b + n * r) - 0009
specialize binary_crt P - 0010
specialize binary_crt n - 0011
specialize binary_crt x - 0012
specialize binary_crt b - 0013
apply binary_crt - 0014
exact hP - 0015
exact hn - 0016
exact hcop - 0017
cases hcrt - 0018
cases hcrt_witness - 0019
exists x1 - 0020
split - 0021
intro m - 0022
intro a - 0023
intro hmP - 0024
intro hxa - 0025
have hzx : ModEq(m,x1,x)Exact native replay line
have hzx : exists u v. x1 + m * u = x + m * v - 0026
specialize mod_eq_of_mod_eq_multiple m - 0027
specialize mod_eq_of_mod_eq_multiple P - 0028
specialize mod_eq_of_mod_eq_multiple x1 - 0029
specialize mod_eq_of_mod_eq_multiple x - 0030
apply mod_eq_of_mod_eq_multiple - 0031
exact hmP - 0032
exact hcrt_witness_left - 0033
specialize mod_eq_trans m - 0034
specialize mod_eq_trans x1 - 0035
specialize mod_eq_trans x - 0036
specialize mod_eq_trans a - 0037
apply mod_eq_trans - 0038
exact hzx - 0039
exact hxa - 0040
exact hcrt_witness_right