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. ∀ l. ¬m = 0 → ∃ x. ∃ y. UnitMultiplierPrefix(a,m,x,y,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 35 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 (3)
01Fix variables and assumptionsL1–2
02Induction on lL3–4
03Construct an explicit witnessL5–6
04Use earlier factsL7–11
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Fix variables and assumptionsL12–12
Work with arbitrary variables or the premises of the current implication.
- L12
intro hm
06Establish hpL13–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L13
have hp : ∃ b. ∃ c. UnitMultiplierPrefix(a,m,b,c,l)Definitions: UnitMultiplierPrefix(a,m,b,c,l)Original native command in the exact edition - L14
apply IH - L15
exact hm
07Separate the logical casesL16–17
08Establish hrL18–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euler multiplier residue exists.
- L18
have hr : ∃ r. CanonicalModularResidue(m,a · l,r)Definitions: CanonicalModularResidue(m,a · l,r)Original native command in the exact edition - L19
specialize euler_multiplier_residue_exists (a) - L20
specialize euler_multiplier_residue_exists (m) - L21
specialize euler_multiplier_residue_exists (l) - L22
apply euler_multiplier_residue_exists - L23
exact hm
09Separate the logical casesL24–25
10Use earlier factsL26–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
specialize euler_multiplier_prefix_extend (a) - L27
specialize euler_multiplier_prefix_extend (m) - L28
specialize euler_multiplier_prefix_extend (x) - L29
specialize euler_multiplier_prefix_extend (x1) - L30
specialize euler_multiplier_prefix_extend (l) - L31
specialize euler_multiplier_prefix_extend (x2) - L32
apply euler_multiplier_prefix_extend - L33
exact hp_witness_witness - L34
exact hr_witness_left - L35
exact hr_witness_right
Original defined command ledger · 35 lines
- 0001
intro a - 0002
intro m - 0003
induction l - 0004
intro hm - 0005
exists 0 - 0006
exists 0 - 0007
specialize euler_multiplier_prefix_empty (a) - 0008
specialize euler_multiplier_prefix_empty (m) - 0009
specialize euler_multiplier_prefix_empty (0) - 0010
specialize euler_multiplier_prefix_empty (0) - 0011
apply euler_multiplier_prefix_empty - 0012
intro hm - 0013
have hp : ∃ b. ∃ c. UnitMultiplierPrefix(a,m,b,c,l) - 0014
apply IH - 0015
exact hm - 0016
cases hp - 0017
cases hp_witness - 0018
have hr : ∃ r. CanonicalModularResidue(m,a · l,r) - 0019
specialize euler_multiplier_residue_exists (a) - 0020
specialize euler_multiplier_residue_exists (m) - 0021
specialize euler_multiplier_residue_exists (l) - 0022
apply euler_multiplier_residue_exists - 0023
exact hm - 0024
cases hr - 0025
cases hr_witness - 0026
specialize euler_multiplier_prefix_extend (a) - 0027
specialize euler_multiplier_prefix_extend (m) - 0028
specialize euler_multiplier_prefix_extend (x) - 0029
specialize euler_multiplier_prefix_extend (x1) - 0030
specialize euler_multiplier_prefix_extend (l) - 0031
specialize euler_multiplier_prefix_extend (x2) - 0032
apply euler_multiplier_prefix_extend - 0033
exact hp_witness_witness - 0034
exact hr_witness_left - 0035
exact hr_witness_right