Exact expanded PA statement
forall a b z. (forall d. (exists x. a = d * x) -> (exists y. b = d * y) -> d = 1) -> (exists q. b * z = a * q) -> exists w. z = a * wStructural proof guide
Generated structural guide
Cancel a coprime factor from a divisibility witness (Gauss cancellation).
Use the direct prerequisites multiple_refl, one_mul, coprime_balanced_bezout, balanced_combination_scale_right, common_divisor_divides_balanced_result as previously established PA formulas.
The proof proceeds by case analysis (4), intermediate claims (2), equality transport (1).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0019 multiple_refl PA000M one_mul PA001M coprime_balanced_bezout PA001N balanced_combination_scale_right PA001O common_divisor_divides_balanced_resultDirect 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 a - 0002
intro b - 0003
intro z - 0004
intro hcop - 0005
intro hdiv - 0006
have hbez : exists xp yp xn yn. a * xp + b * yp = 1 + (a * xn + b * yn) - 0007
apply coprime_balanced_bezout - 0008
exact hcop - 0009
cases hbez - 0010
cases hbez_witness - 0011
cases hbez_witness_witness - 0012
cases hbez_witness_witness_witness - 0013
have hscaled : a * (x * z) + (b * z) * x1 = 1 * z + (a * (x2 * z) + (b * z) * x3) - 0014
apply balanced_combination_scale_right - 0015
exact hbez_witness_witness_witness_witness - 0016
specialize one_mul z - 0017
rewrite one_mul at hscaled - 0018
specialize common_divisor_divides_balanced_result a - 0019
specialize common_divisor_divides_balanced_result a - 0020
specialize common_divisor_divides_balanced_result (b * z) - 0021
specialize common_divisor_divides_balanced_result z - 0022
specialize common_divisor_divides_balanced_result (x * z) - 0023
specialize common_divisor_divides_balanced_result x1 - 0024
specialize common_divisor_divides_balanced_result (x2 * z) - 0025
specialize common_divisor_divides_balanced_result x3 - 0026
apply common_divisor_divides_balanced_result - 0027
specialize multiple_refl a - 0028
exact multiple_refl - 0029
exact hdiv - 0030
exact hscaled