Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
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.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (5)
01Fix variables and assumptionsL1–5
02Establish hbezL6–8
03Separate the logical casesL9–12
04Establish hscaledL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply balanced combination scale right.
- L13
have hscaled : a * (x * z) + (b * z) * x1 = 1 * z + (a * (x2 * z) + (b * z) * x3) - L14
apply balanced_combination_scale_right - L15
exact hbez_witness_witness_witness_witness - L16
specialize one_mul z - L17
rewrite one_mul at hscaled - L18
specialize common_divisor_divides_balanced_result a - L19
specialize common_divisor_divides_balanced_result a - L20
specialize common_divisor_divides_balanced_result (b * z) - L21
specialize common_divisor_divides_balanced_result z - L22
specialize common_divisor_divides_balanced_result (x * z)
05Use earlier factsL23–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 30 lines
- 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