Exact expanded PA statement
forall p a x y z. ((~(p = 1) /\ forall esi_prime_left_unique_prime esi_prime_right_unique_prime. p = esi_prime_left_unique_prime * esi_prime_right_unique_prime -> esi_prime_left_unique_prime = 1 \/ esi_prime_right_unique_prime = 1)) -> ((((~(x = 0) /\ (exists esi_strict_gap_unique_left_left_bound. esi_strict_gap_unique_left_left_bound + S x = p))) /\ (((~(y = 0) /\ (exists esi_strict_gap_unique_left_right_bound. esi_strict_gap_unique_left_right_bound + S y = p))) /\ (exists esi_mod_left_unique_left_mod esi_mod_right_unique_left_mod. (x * y) + p * esi_mod_left_unique_left_mod = (a) + p * esi_mod_right_unique_left_mod)))) -> ((((~(x = 0) /\ (exists esi_strict_gap_unique_right_left_bound. esi_strict_gap_unique_right_left_bound + S x = p))) /\ (((~(z = 0) /\ (exists esi_strict_gap_unique_right_right_bound. esi_strict_gap_unique_right_right_bound + S z = p))) /\ (exists esi_mod_left_unique_right_mod esi_mod_right_unique_right_mod. (x * z) + p * esi_mod_left_unique_right_mod = (a) + p * esi_mod_right_unique_right_mod)))) -> y = zStructural proof guide
Generated structural guide
The bounded scaled inverse of a prime unit is unique.
Use the direct prerequisites divisor_le_nonzero, lt_not_le, mod_eq_symm, mod_eq_trans, prime_mod_cancel, mod_eq_bounded_unique as previously established PA formulas.
The proof proceeds by case analysis (8), intermediate claims (5).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0039 divisor_le_nonzero PA003A lt_not_le PA003L mod_eq_symm PA0024 mod_eq_trans PA003S prime_mod_cancel PA002U mod_eq_bounded_uniqueDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
- 0001
intro p - 0002
intro a - 0003
intro x - 0004
intro y - 0005
intro z - 0006
intro hp - 0007
intro hxy - 0008
intro hxz - 0009
cases hxy - 0010
cases hxy_left - 0011
cases hxy_right - 0012
cases hxy_right_left - 0013
cases hxz - 0014
cases hxz_left - 0015
cases hxz_right - 0016
cases hxz_right_left - 0017
have hnotdiv : ~(exists k. x = p * k) - 0018
intro hdiv - 0019
have hpx : exists t. t + p = x - 0020
specialize divisor_le_nonzero p - 0021
specialize divisor_le_nonzero x - 0022
apply divisor_le_nonzero - 0023
exact hxy_left_left - 0024
exact hdiv - 0025
specialize lt_not_le x - 0026
specialize lt_not_le p - 0027
apply lt_not_le - 0028
exact hxy_left_right - 0029
exact hpx - 0030
have hreverse : exists esi_mod_left_unique_reverse esi_mod_right_unique_reverse. (a) + p * esi_mod_left_unique_reverse = (x * z) + p * esi_mod_right_unique_reverse - 0031
specialize mod_eq_symm p - 0032
specialize mod_eq_symm (x * z) - 0033
specialize mod_eq_symm a - 0034
apply mod_eq_symm - 0035
exact hxz_right_right - 0036
have hproducts : exists esi_mod_left_unique_products esi_mod_right_unique_products. (x * y) + p * esi_mod_left_unique_products = (x * z) + p * esi_mod_right_unique_products - 0037
specialize mod_eq_trans p - 0038
specialize mod_eq_trans (x * y) - 0039
specialize mod_eq_trans a - 0040
specialize mod_eq_trans (x * z) - 0041
apply mod_eq_trans - 0042
exact hxy_right_right - 0043
exact hreverse - 0044
have hyz : exists esi_mod_left_unique_residues esi_mod_right_unique_residues. (y) + p * esi_mod_left_unique_residues = (z) + p * esi_mod_right_unique_residues - 0045
specialize prime_mod_cancel p - 0046
specialize prime_mod_cancel x - 0047
specialize prime_mod_cancel y - 0048
specialize prime_mod_cancel z - 0049
apply prime_mod_cancel - 0050
exact hp - 0051
exact hnotdiv - 0052
exact hproducts - 0053
specialize mod_eq_bounded_unique p - 0054
specialize mod_eq_bounded_unique y - 0055
specialize mod_eq_bounded_unique z - 0056
apply mod_eq_bounded_unique - 0057
exact hxy_right_left_right - 0058
exact hxz_right_left_right - 0059
exact hyz