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.
Exact expanded PA statement
forall p a. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> ~(exists k. a = p * k) -> exists z u v. a * z + p * u = 1 + p * vStructural proof guide
Generated structural guide
A nonzero residue modulo a prime has a natural modular inverse.
Use the direct prerequisites prime_nonzero, prime_not_divides_coprime, coprime_mod_inverse as previously established PA formulas.
The proof proceeds by intermediate claims (3).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
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–4
02Establish hp0L5–10
03Establish hcopL11–11
Establish this local claim before using it. It is not an additional assumption.
- L11
have hcop : forall d. (exists x. a = d * x) -> (exists y. p = d * y) -> d = 1
04Establish hpacopL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime not divides coprime.
Original exact command ledger · 29 lines
- 0001
intro p - 0002
intro a - 0003
intro hp - 0004
intro hnot - 0005
have hp0 : ~(p = 0) - 0006
intro hpzero - 0007
specialize prime_nonzero p - 0008
apply prime_nonzero - 0009
exact hp - 0010
exact hpzero - 0011
have hcop : forall d. (exists x. a = d * x) -> (exists y. p = d * y) -> d = 1 - 0012
have hpacop : forall d. (exists x. p = d * x) -> (exists y. a = d * y) -> d = 1 - 0013
specialize prime_not_divides_coprime p - 0014
specialize prime_not_divides_coprime a - 0015
apply prime_not_divides_coprime - 0016
exact hp - 0017
exact hnot - 0018
intro d - 0019
intro hda - 0020
intro hdp - 0021
specialize hpacop d - 0022
apply hpacop - 0023
exact hdp - 0024
exact hda - 0025
specialize coprime_mod_inverse a - 0026
specialize coprime_mod_inverse p - 0027
apply coprime_mod_inverse - 0028
exact hp0 - 0029
exact hcop