Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
The exact G014 theorem covers m>1 and genuinely invertible a. Phi counts coprime residues independently of the conclusion. The broader coprime theorem handles m=1 by congruence, not by asserting that one is a canonical remainder. Multiplicative-order and RSA statements are not claimed.
Exact theorem in conservative defined notation
∀ a. ∀ m. ∀ i. ∀ r. Coprime(a,m) → ModEq(m,a · i,r) → (Coprime(i,m) → Coprime(r,m)) ∧ (Coprime(r,m) → Coprime(i,m))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 38 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
03Fix variables and assumptionsL8–8
Work with arbitrary variables or the premises of the current implication.
- L8
intro hi
04Use earlier factsL9–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L9
specialize euler_coprime_mod_transport (m) - L10
specialize euler_coprime_mod_transport (a*i) - L11
specialize euler_coprime_mod_transport (r) - L12
apply euler_coprime_mod_transport - L13
specialize coprime_mul_left (a) - L14
specialize coprime_mul_left (i) - L15
specialize coprime_mul_left (m) - L16
apply coprime_mul_left - L17
exact ha - L18
exact hi
05Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact hmod
06Fix variables and assumptionsL20–20
Work with arbitrary variables or the premises of the current implication.
- L20
intro hr
07Use earlier factsL21–23
08Establish hcL24–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply totient coprime cancel unit factor.
- L24
have hc : (Coprime(a · i,m) → Coprime(i,m)) ∧ (Coprime(i,m) → Coprime(a · i,m))Definitions: Coprime(a · i,m)Coprime(i,m)Original native command in the exact edition - L25
apply totient_coprime_cancel_unit_factor - L26
exact ha
09Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hc
10Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
apply hc_left - L29
specialize euler_coprime_mod_transport (m) - L30
specialize euler_coprime_mod_transport (r) - L31
specialize euler_coprime_mod_transport (a*i) - L32
apply euler_coprime_mod_transport - L33
exact hr - L34
specialize mod_eq_symm (m) - L35
specialize mod_eq_symm (a*i) - L36
specialize mod_eq_symm (r) - L37
apply mod_eq_symm
11Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hmod
Original defined command ledger · 38 lines
- 0001
intro a - 0002
intro m - 0003
intro i - 0004
intro r - 0005
intro ha - 0006
intro hmod - 0007
split - 0008
intro hi - 0009
specialize euler_coprime_mod_transport (m) - 0010
specialize euler_coprime_mod_transport (a*i) - 0011
specialize euler_coprime_mod_transport (r) - 0012
apply euler_coprime_mod_transport - 0013
specialize coprime_mul_left (a) - 0014
specialize coprime_mul_left (i) - 0015
specialize coprime_mul_left (m) - 0016
apply coprime_mul_left - 0017
exact ha - 0018
exact hi - 0019
exact hmod - 0020
intro hr - 0021
specialize totient_coprime_cancel_unit_factor a - 0022
specialize totient_coprime_cancel_unit_factor m - 0023
specialize totient_coprime_cancel_unit_factor i - 0024
have hc : (Coprime(a · i,m) → Coprime(i,m)) ∧ (Coprime(i,m) → Coprime(a · i,m)) - 0025
apply totient_coprime_cancel_unit_factor - 0026
exact ha - 0027
cases hc - 0028
apply hc_left - 0029
specialize euler_coprime_mod_transport (m) - 0030
specialize euler_coprime_mod_transport (r) - 0031
specialize euler_coprime_mod_transport (a*i) - 0032
apply euler_coprime_mod_transport - 0033
exact hr - 0034
specialize mod_eq_symm (m) - 0035
specialize mod_eq_symm (a*i) - 0036
specialize mod_eq_symm (r) - 0037
apply mod_eq_symm - 0038
exact hmod