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. ∀ l. ∀ r. UnitMultiplierPrefix(a,m,b,c,l) → Lt(r,m) → ModEq(m,a · l,r) → ∃ x. ∃ y. UnitMultiplierPrefix(a,m,x,y,S l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 49 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.
01Fix variables and assumptionsL1–9
02Use earlier factsL10–13
03Separate the logical casesL14–16
04Construct an explicit witnessL17–18
05Fix variables and assumptionsL19–20
06Establish hsL21–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
07Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hs
08Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists r
09Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
split
10Calculate and transport equalitiesL29–30
11Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact beta_prefix_extend_witness_witness_left
12Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
split
13Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hr
14Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
rewrite hs_left
15Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hmod
16Establish hpL36–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L36
have hp : ∃ s. BetaAt(b,c,i,s) ∧ CanonicalModularResidue(m,a · i,s)Definitions: BetaAt(b,c,i,s)CanonicalModularResidue(m,a · i,s)Original native command in the exact edition - L37
specialize h (i) - L38
apply h - L39
exact hs_right
17Separate the logical casesL40–41
18Construct an explicit witnessL42–42
Supply the displayed value, then prove that it has the required property.
- L42
exists x2
19Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
split
20Use earlier factsL44–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 49 lines
- 0001
intro a - 0002
intro m - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro r - 0007
intro h - 0008
intro hr - 0009
intro hmod - 0010
specialize beta_prefix_extend l - 0011
specialize beta_prefix_extend b - 0012
specialize beta_prefix_extend c - 0013
specialize beta_prefix_extend r - 0014
cases beta_prefix_extend - 0015
cases beta_prefix_extend_witness - 0016
cases beta_prefix_extend_witness_witness - 0017
exists x - 0018
exists x1 - 0019
intro i - 0020
intro hi - 0021
have hs : i = l ∨ Lt(i,l) - 0022
specialize finite_lt_succ_eq_or_lt (l) - 0023
specialize finite_lt_succ_eq_or_lt (i) - 0024
apply finite_lt_succ_eq_or_lt - 0025
exact hi - 0026
cases hs - 0027
exists r - 0028
split - 0029
rewrite hs_left - 0030
rewrite hs_left - 0031
exact beta_prefix_extend_witness_witness_left - 0032
split - 0033
exact hr - 0034
rewrite hs_left - 0035
exact hmod - 0036
have hp : ∃ s. BetaAt(b,c,i,s) ∧ CanonicalModularResidue(m,a · i,s) - 0037
specialize h (i) - 0038
apply h - 0039
exact hs_right - 0040
cases hp - 0041
cases hp_witness - 0042
exists x2 - 0043
split - 0044
specialize beta_prefix_extend_witness_witness_right (i) - 0045
specialize beta_prefix_extend_witness_witness_right (x2) - 0046
apply beta_prefix_extend_witness_witness_right - 0047
exact hs_right - 0048
exact hp_witness_left - 0049
exact hp_witness_right