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.
Statement with defined notation
∀ p. ∀ a. ∀ x. ∀ y. ∀ t. Prime(p) → ¬Dvd(p,a) → Lt(x,p) → Lt(y,p) → ModEq(p,a · x,t) → ModEq(p,a · y,t) → x = yEvery purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
6 occurrences
In local proof propositions
3 occurrences
Exact expanded native-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 = yProof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
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 : ModEq(p,t,a · y)Definitions: ModEq(p,t,a · y)Original native command in the exact edition - 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 : ModEq(p,a · x,a · y)Definitions: ModEq(p,a · x,a · y)Original native command in the exact edition - 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.
Original defined 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 : ModEq(p,t,a · y)Exact native replay line
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 : ModEq(p,a · x,a · y)Exact native replay line
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 : ModEq(p,x,y)Exact native replay line
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