Exact expanded PA statement
forall b c i x C s j. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ~(C = 0) -> exists h. h + S x = S ((S j) * (C * S (b + s)))Structural proof guide
Generated structural guide
An old beta value fits every modulus after a constructive scaled-base rebase.
Use the direct prerequisites beta_value_le_code, le_add_right, succ_le_succ, le_trans, le_scaled_nonzero, base_le_beta_modulus as previously established PA formulas.
The proof proceeds by intermediate claims (7).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA002R beta_value_le_code PA002S le_add_right PA002K succ_le_succ PA000R le_trans PA002N le_scaled_nonzero PA002P base_le_beta_modulusDirect 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 i - 0004
intro x - 0005
intro C - 0006
intro s - 0007
intro j - 0008
intro hat - 0009
intro hC - 0010
have hxb : exists h. h + x = b - 0011
specialize beta_value_le_code b - 0012
specialize beta_value_le_code c - 0013
specialize beta_value_le_code i - 0014
specialize beta_value_le_code x - 0015
apply beta_value_le_code - 0016
exact hat - 0017
have hbs : exists h. h + b = b + s - 0018
specialize le_add_right b - 0019
specialize le_add_right s - 0020
exact le_add_right - 0021
have hxs : exists h. h + x = b + s - 0022
specialize le_trans x - 0023
specialize le_trans b - 0024
specialize le_trans (b + s) - 0025
apply le_trans - 0026
exact hxb - 0027
exact hbs - 0028
have hsx : exists h. h + S x = S (b + s) - 0029
specialize succ_le_succ x - 0030
specialize succ_le_succ (b + s) - 0031
apply succ_le_succ - 0032
exact hxs - 0033
have hscale : exists h. h + S (b + s) = C * S (b + s) - 0034
specialize le_scaled_nonzero C - 0035
specialize le_scaled_nonzero (S (b + s)) - 0036
apply le_scaled_nonzero - 0037
exact hC - 0038
have hxbase : exists h. h + S x = C * S (b + s) - 0039
specialize le_trans (S x) - 0040
specialize le_trans (S (b + s)) - 0041
specialize le_trans (C * S (b + s)) - 0042
apply le_trans - 0043
exact hsx - 0044
exact hscale - 0045
have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s))) - 0046
specialize base_le_beta_modulus (C * S (b + s)) - 0047
specialize base_le_beta_modulus j - 0048
exact base_le_beta_modulus - 0049
specialize le_trans (S x) - 0050
specialize le_trans (C * S (b + s)) - 0051
specialize le_trans (S ((S j) * (C * S (b + s)))) - 0052
apply le_trans - 0053
exact hxbase - 0054
exact hmod