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 esi_prime_left_target_nonzero_prime esi_prime_right_target_nonzero_prime. p = esi_prime_left_target_nonzero_prime * esi_prime_right_target_nonzero_prime -> esi_prime_left_target_nonzero_prime = 1 \/ esi_prime_right_target_nonzero_prime = 1)) -> ~(a = 0) -> (exists esi_strict_gap_target_nonzero_target_bound. esi_strict_gap_target_nonzero_target_bound + S a = p) -> (exists esi_mod_left_target_nonzero_product esi_mod_right_target_nonzero_product. (x * y) + p * esi_mod_left_target_nonzero_product = (a) + p * esi_mod_right_target_nonzero_product) -> ~(y = 0)Structural proof guide
Generated structural guide
A scaled inverse of a nonzero bounded target cannot be zero.
Use the direct prerequisites prime_is_succ_succ, mod_eq_bounded_unique as previously established PA formulas.
The proof proceeds by case analysis (3), intermediate claims (4), equality transport (1), certified simplification (1).
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 (2)
01Fix variables and assumptionsL1–9
02Establish hp2L10–13
03Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hp2
04Establish h0pL15–15
Establish this local claim before using it. It is not an additional assumption.
- L15
have h0p : exists h. h + S 0 = p
05Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists S x1
06Calculate and transport equalitiesL17–18
07Establish hzeroaL19–19
Establish this local claim before using it. It is not an additional assumption.
- L19
have hzeroa : exists esi_mod_left_target_nonzero_zero esi_mod_right_target_nonzero_zero. (0) + p * esi_mod_left_target_nonzero_zero = (a) + p * esi_mod_right_target_nonzero_zero
08Separate the logical casesL20–21
09Construct an explicit witnessL22–23
10Calculate and transport equalitiesL24–29
11Use earlier factsL30–31
12Calculate and transport equalitiesL32–32
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L32
refl
13Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hxy_witness_witness
14Establish h0aL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq bounded unique.
15Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
exact h0a
Original exact command ledger · 44 lines
- 0001
intro p - 0002
intro a - 0003
intro x - 0004
intro y - 0005
intro hp - 0006
intro ha0 - 0007
intro hap - 0008
intro hxy - 0009
intro hy0 - 0010
have hp2 : exists k. p = S (S k) - 0011
specialize prime_is_succ_succ p - 0012
apply prime_is_succ_succ - 0013
exact hp - 0014
cases hp2 - 0015
have h0p : exists h. h + S 0 = p - 0016
exists S x1 - 0017
rewrite hp2_witness - 0018
simp - 0019
have hzeroa : exists esi_mod_left_target_nonzero_zero esi_mod_right_target_nonzero_zero. (0) + p * esi_mod_left_target_nonzero_zero = (a) + p * esi_mod_right_target_nonzero_zero - 0020
cases hxy - 0021
cases hxy_witness - 0022
exists x2 - 0023
exists x3 - 0024
trans (x * y) + p * x2 - 0025
congr - 0026
symm - 0027
trans x * 0 - 0028
congr - 0029
refl - 0030
exact hy0 - 0031
apply PA5 - 0032
refl - 0033
exact hxy_witness_witness - 0034
have h0a : 0 = a - 0035
specialize mod_eq_bounded_unique p - 0036
specialize mod_eq_bounded_unique 0 - 0037
specialize mod_eq_bounded_unique a - 0038
apply mod_eq_bounded_unique - 0039
exact h0p - 0040
exact hap - 0041
exact hzeroa - 0042
apply ha0 - 0043
symm - 0044
exact h0a