Exact expanded PA statement
forall c i j gap d. j = i + gap -> (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> exists w. gap * c = d * wStructural proof guide
Generated structural guide
A common divisor of two ordered beta moduli divides the index gap times c.
Use the direct prerequisites divides_remainder, add_succ_left, add_mul, zero_add as previously established PA formulas.
The proof proceeds by intermediate claims (1), equality transport (2), 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 Stable checked-use theorem is independently kernel-checked when replayed.
- 0001
intro c - 0002
intro i - 0003
intro j - 0004
intro gap - 0005
intro d - 0006
intro hij - 0007
intro hmi - 0008
intro hmj - 0009
have hstep : S ((S j) * c) = S ((S i) * c) * 1 + gap * c - 0010
rewrite hij - 0011
specialize add_succ_left i - 0012
specialize add_succ_left gap - 0013
rewrite <- add_succ_left - 0014
simp [add_mul, zero_add] - 0015
symm - 0016
specialize add_succ_left_before (S i * c) - 0017
specialize add_succ_left_before (gap * c) - 0018
exact add_succ_left_before - 0019
specialize divides_remainder d - 0020
specialize divides_remainder (S ((S j) * c)) - 0021
specialize divides_remainder (S ((S i) * c)) - 0022
specialize divides_remainder 1 - 0023
specialize divides_remainder (gap * c) - 0024
apply divides_remainder - 0025
exact hmj - 0026
exact hmi - 0027
exact hstep