Exact expanded PA statement
forall p n h. p = S n -> ((~(p = 1) /\ forall esi_prime_left_ecb_prime esi_prime_right_ecb_prime. p = esi_prime_left_ecb_prime * esi_prime_right_ecb_prime -> esi_prime_left_ecb_prime = 1 \/ esi_prime_right_ecb_prime = 1)) -> n = h + h -> ~(exists wpp_mod_left_ecb_one_mod_predecessor wpp_mod_right_ecb_one_mod_predecessor. (1) + p * wpp_mod_left_ecb_one_mod_predecessor = (n) + p * wpp_mod_right_ecb_one_mod_predecessor)Structural proof guide
Generated structural guide
For an odd-prime predecessor, the canonical residues one and p-1 are distinct.
Use the direct prerequisites double_predecessor_ne_one, prime_is_succ_succ, mod_eq_bounded_unique, zero_add as previously established PA formulas.
The proof proceeds by case analysis (1), intermediate claims (4), equality transport (1), certified simplification (1).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA00BO double_predecessor_ne_one PA0061 prime_is_succ_succ PA002U mod_eq_bounded_unique PA0001 zero_addDirect 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 n - 0003
intro h - 0004
intro hpn - 0005
intro hp - 0006
intro heven - 0007
intro hone_mod - 0008
have hp_shape : exists k. p = S (S k) - 0009
specialize prime_is_succ_succ p - 0010
apply prime_is_succ_succ - 0011
exact hp - 0012
cases hp_shape - 0013
have h1p : exists gap. gap + S 1 = p - 0014
exists x - 0015
rewrite hp_shape_witness - 0016
simp - 0017
have hnp : exists gap. gap + S n = p - 0018
exists 0 - 0019
trans S n - 0020
apply zero_add - 0021
symm - 0022
exact hpn - 0023
have h1n : 1 = n - 0024
specialize mod_eq_bounded_unique p - 0025
specialize mod_eq_bounded_unique 1 - 0026
specialize mod_eq_bounded_unique n - 0027
apply mod_eq_bounded_unique - 0028
exact h1p - 0029
exact hnp - 0030
exact hone_mod - 0031
specialize double_predecessor_ne_one n - 0032
specialize double_predecessor_ne_one h - 0033
apply double_predecessor_ne_one - 0034
exact heven - 0035
symm - 0036
exact h1n