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.
- 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