Exact expanded PA statement
forall B c. ~(c = 0) -> (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> exists c2. (~(c2 = 0) /\ forall t. (exists h. S t + S h = S (S B)) -> exists k. c2 = S t * k)Structural proof guide
Generated structural guide
Extend a nonzero common multiple through the next positive natural.
Use the direct prerequisites mul_eq_zero, succ_ne_zero, zero_or_succ, multiple_mul_right, mul_comm as previously established PA formulas.
The proof proceeds by case analysis (4), intermediate claims (6), equality transport (6).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0007 mul_eq_zero PA0005 succ_ne_zero PA0008 zero_or_succ PA000C multiple_mul_right PA000H mul_commDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
- 0001
intro B - 0002
intro c - 0003
intro hc - 0004
intro hall - 0005
exists c * S B - 0006
split - 0007
have hSB : ~(S B = 0) - 0008
specialize succ_ne_zero B - 0009
exact succ_ne_zero - 0010
have hprod : ~(c * S B = 0) - 0011
intro hzero - 0012
have hz : c = 0 \/ S B = 0 - 0013
specialize mul_eq_zero c - 0014
specialize mul_eq_zero (S B) - 0015
apply mul_eq_zero - 0016
exact hzero - 0017
cases hz - 0018
apply hc - 0019
exact hz_left - 0020
apply hSB - 0021
exact hz_right - 0022
exact hprod - 0023
intro t - 0024
intro ht - 0025
cases ht - 0026
specialize zero_or_succ x - 0027
cases zero_or_succ - 0028
rewrite zero_or_succ_left at ht_witness - 0029
have hteq : S t = S B - 0030
rewrite PA4 at ht_witness - 0031
rewrite PA3 at ht_witness - 0032
apply PA2 - 0033
exact ht_witness - 0034
exists c - 0035
rewrite hteq - 0036
apply mul_comm - 0037
cases zero_or_succ_right - 0038
have hprev : exists h. S t + S h = S B - 0039
exists x1 - 0040
rewrite zero_or_succ_right_witness at ht_witness - 0041
rewrite PA4 at ht_witness - 0042
apply PA2 - 0043
exact ht_witness - 0044
have hdivc : exists k. c = S t * k - 0045
specialize hall t - 0046
apply hall - 0047
exact hprev - 0048
specialize multiple_mul_right (S t) - 0049
specialize multiple_mul_right c - 0050
specialize multiple_mul_right (S B) - 0051
apply multiple_mul_right - 0052
exact hdivc