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.
Statement with defined notation
∀ a. ∀ b. ∀ z. Coprime(a,b) → Dvd(a,b · z) → Dvd(a,z)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
3 occurrences
In local proof propositions
0 occurrences
Exact expanded native-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 * wProof neighborhood
Direct theorem prerequisites
BT0028 multiple_refl BT0009 one_mul BT0038 coprime_balanced_bezout BT0036 balanced_combination_scale_right BT0037 common_divisor_divides_balanced_resultDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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 defined 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