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 t. ((~(p = 1) /\ forall gsp_prime_left_collision_prime gsp_prime_right_collision_prime. p = gsp_prime_left_collision_prime * gsp_prime_right_collision_prime -> gsp_prime_left_collision_prime = 1 \/ gsp_prime_right_collision_prime = 1)) -> (~(exists gsp_divisor_factor_collision_multiplier. a = p * gsp_divisor_factor_collision_multiplier)) -> (exists gsp_lt_gap_collision_x_bound. gsp_lt_gap_collision_x_bound + S x = p) -> (exists gsp_lt_gap_collision_y_bound. gsp_lt_gap_collision_y_bound + S y = p) -> (exists gmp_mod_left_same_target_x gmp_mod_right_same_target_x. (a * x) + p * gmp_mod_left_same_target_x = (t) + p * gmp_mod_right_same_target_x) -> (exists gmp_mod_left_same_target_y gmp_mod_right_same_target_y. (a * y) + p * gmp_mod_left_same_target_y = (t) + p * gmp_mod_right_same_target_y) -> x = yStructural proof guide
Generated structural guide
A nonzero prime residue multiplier is injective when two bounded sources have one modular target.
Use the direct prerequisites mod_eq_symm, mod_eq_trans, prime_mod_cancel, mod_eq_bounded_unique 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 Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hytarget
03Establish hreverseL12–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq symm.
- L12
have hreverse : exists gmp_mod_left_same_target_reverse gmp_mod_right_same_target_reverse. (t) + p * gmp_mod_left_same_target_reverse = (a * y) + p * gmp_mod_right_same_target_reverse - L13
specialize mod_eq_symm p - L14
specialize mod_eq_symm (a * y) - L15
specialize mod_eq_symm t - L16
apply mod_eq_symm - L17
exact hytarget
04Establish hscaledL18–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq trans.
- L18
have hscaled : exists gmp_mod_left_same_target_scaled gmp_mod_right_same_target_scaled. (a * x) + p * gmp_mod_left_same_target_scaled = (a * y) + p * gmp_mod_right_same_target_scaled - L19
specialize mod_eq_trans p - L20
specialize mod_eq_trans (a * x) - L21
specialize mod_eq_trans t - L22
specialize mod_eq_trans (a * y) - L23
apply mod_eq_trans - L24
exact hxtarget - L25
exact hreverse
05Establish hcanceledL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime mod cancel.
- L26
have hcanceled : exists gmp_mod_left_same_target_canceled gmp_mod_right_same_target_canceled. (x) + p * gmp_mod_left_same_target_canceled = (y) + p * gmp_mod_right_same_target_canceled - L27
specialize prime_mod_cancel p - L28
specialize prime_mod_cancel a - L29
specialize prime_mod_cancel x - L30
specialize prime_mod_cancel y - L31
apply prime_mod_cancel - L32
exact hp - L33
exact hnotdiv - L34
exact hscaled - L35
specialize mod_eq_bounded_unique p
Original exact command ledger · 41 lines
- 0001
intro p - 0002
intro a - 0003
intro x - 0004
intro y - 0005
intro t - 0006
intro hp - 0007
intro hnotdiv - 0008
intro hxbound - 0009
intro hybound - 0010
intro hxtarget - 0011
intro hytarget - 0012
have hreverse : exists gmp_mod_left_same_target_reverse gmp_mod_right_same_target_reverse. (t) + p * gmp_mod_left_same_target_reverse = (a * y) + p * gmp_mod_right_same_target_reverse - 0013
specialize mod_eq_symm p - 0014
specialize mod_eq_symm (a * y) - 0015
specialize mod_eq_symm t - 0016
apply mod_eq_symm - 0017
exact hytarget - 0018
have hscaled : exists gmp_mod_left_same_target_scaled gmp_mod_right_same_target_scaled. (a * x) + p * gmp_mod_left_same_target_scaled = (a * y) + p * gmp_mod_right_same_target_scaled - 0019
specialize mod_eq_trans p - 0020
specialize mod_eq_trans (a * x) - 0021
specialize mod_eq_trans t - 0022
specialize mod_eq_trans (a * y) - 0023
apply mod_eq_trans - 0024
exact hxtarget - 0025
exact hreverse - 0026
have hcanceled : exists gmp_mod_left_same_target_canceled gmp_mod_right_same_target_canceled. (x) + p * gmp_mod_left_same_target_canceled = (y) + p * gmp_mod_right_same_target_canceled - 0027
specialize prime_mod_cancel p - 0028
specialize prime_mod_cancel a - 0029
specialize prime_mod_cancel x - 0030
specialize prime_mod_cancel y - 0031
apply prime_mod_cancel - 0032
exact hp - 0033
exact hnotdiv - 0034
exact hscaled - 0035
specialize mod_eq_bounded_unique p - 0036
specialize mod_eq_bounded_unique x - 0037
specialize mod_eq_bounded_unique y - 0038
apply mod_eq_bounded_unique - 0039
exact hxbound - 0040
exact hybound - 0041
exact hcanceled