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. ∀ b. ∀ c. ¬m = 0 → Coprime(a,m) → UnitMultiplierPrefix(a,m,b,c,m) → PermutationPrefix(b,c,m)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 27 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–7
02Establish hpL8–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euler multiplier prefix bounded injective.
- L8
have hp : BoundedPrefix(b,c,m) ∧ InjectivePrefix(b,c,m)Definitions: BoundedPrefix(b,c,m)InjectivePrefix(b,c,m)Original native command in the exact edition - L9
specialize euler_multiplier_prefix_bounded_injective (a) - L10
specialize euler_multiplier_prefix_bounded_injective (m) - L11
specialize euler_multiplier_prefix_bounded_injective (b) - L12
specialize euler_multiplier_prefix_bounded_injective (c) - L13
apply euler_multiplier_prefix_bounded_injective - L14
exact hm - L15
exact hc - L16
exact h
03Separate the logical casesL17–18
04Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact hp_left
05Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
split
06Use earlier factsL21–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 27 lines
- 0001
intro a - 0002
intro m - 0003
intro b - 0004
intro c - 0005
intro hm - 0006
intro hc - 0007
intro h - 0008
have hp : BoundedPrefix(b,c,m) ∧ InjectivePrefix(b,c,m) - 0009
specialize euler_multiplier_prefix_bounded_injective (a) - 0010
specialize euler_multiplier_prefix_bounded_injective (m) - 0011
specialize euler_multiplier_prefix_bounded_injective (b) - 0012
specialize euler_multiplier_prefix_bounded_injective (c) - 0013
apply euler_multiplier_prefix_bounded_injective - 0014
exact hm - 0015
exact hc - 0016
exact h - 0017
cases hp - 0018
split - 0019
exact hp_left - 0020
split - 0021
exact hp_right - 0022
specialize finite_bounded_injective_surjective (m) - 0023
specialize finite_bounded_injective_surjective (b) - 0024
specialize finite_bounded_injective_surjective (c) - 0025
apply finite_bounded_injective_surjective - 0026
exact hp_left - 0027
exact hp_right