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 x y. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> ~(exists k. a = p * k) -> (exists u v. (a * x) + p * u = (a * y) + p * v) -> exists r s. x + p * r = y + p * sStructural proof guide
Generated structural guide
A nonzero residue factor cancels from congruence modulo a prime.
Use the direct prerequisites prime_nonzero, prime_not_divides_coprime, coprime_symm, mod_eq_cancel_coprime as previously established PA formulas.
The proof proceeds by intermediate claims (3).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0031 prime_nonzero PA003N prime_not_divides_coprime PA003O coprime_symm PA003R mod_eq_cancel_coprimeDirect 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 (4)
01Fix variables and assumptionsL1–7
02Establish hp0L8–13
03Establish hpacopL14–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime not divides coprime.
04Establish hapcopL20–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime symm.
- L20
have hapcop : forall d. (exists u. a = d * u) -> (exists v. p = d * v) -> d = 1 - L21
specialize coprime_symm p - L22
specialize coprime_symm a - L23
apply coprime_symm - L24
exact hpacop - L25
specialize mod_eq_cancel_coprime p - L26
specialize mod_eq_cancel_coprime a - L27
specialize mod_eq_cancel_coprime x - L28
specialize mod_eq_cancel_coprime y - L29
apply mod_eq_cancel_coprime
Original exact command ledger · 32 lines
- 0001
intro p - 0002
intro a - 0003
intro x - 0004
intro y - 0005
intro hp - 0006
intro hnot - 0007
intro hxy - 0008
have hp0 : ~(p = 0) - 0009
intro hpzero - 0010
specialize prime_nonzero p - 0011
apply prime_nonzero - 0012
exact hp - 0013
exact hpzero - 0014
have hpacop : forall d. (exists u. p = d * u) -> (exists v. a = d * v) -> d = 1 - 0015
specialize prime_not_divides_coprime p - 0016
specialize prime_not_divides_coprime a - 0017
apply prime_not_divides_coprime - 0018
exact hp - 0019
exact hnot - 0020
have hapcop : forall d. (exists u. a = d * u) -> (exists v. p = d * v) -> d = 1 - 0021
specialize coprime_symm p - 0022
specialize coprime_symm a - 0023
apply coprime_symm - 0024
exact hpacop - 0025
specialize mod_eq_cancel_coprime p - 0026
specialize mod_eq_cancel_coprime a - 0027
specialize mod_eq_cancel_coprime x - 0028
specialize mod_eq_cancel_coprime y - 0029
apply mod_eq_cancel_coprime - 0030
exact hp0 - 0031
exact hapcop - 0032
exact hxy