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 first-order arithmetic statement
forall a b g A B L. ~(g = 0) -> a = g * A -> b = g * B -> ((((exists hag_left_factor_gcomp_lcm_factor_gcd. a = g * hag_left_factor_gcomp_lcm_factor_gcd) /\ (exists hag_right_factor_gcomp_lcm_factor_gcd. b = g * hag_right_factor_gcomp_lcm_factor_gcd)) /\ forall hag_divisor_gcomp_lcm_factor_gcd. (exists hag_common_left_gcomp_lcm_factor_gcd. a = hag_divisor_gcomp_lcm_factor_gcd * hag_common_left_gcomp_lcm_factor_gcd) -> (exists hag_common_right_gcomp_lcm_factor_gcd. b = hag_divisor_gcomp_lcm_factor_gcd * hag_common_right_gcomp_lcm_factor_gcd) -> exists hag_greatest_factor_gcomp_lcm_factor_gcd. g = hag_divisor_gcomp_lcm_factor_gcd * hag_greatest_factor_gcomp_lcm_factor_gcd)) -> ((((exists hlcm_left_factor_gcomp_lcm_factor_source. L = a * hlcm_left_factor_gcomp_lcm_factor_source) /\ (exists hlcm_right_factor_gcomp_lcm_factor_source. L = b * hlcm_right_factor_gcomp_lcm_factor_source)) /\ forall hlcm_common_gcomp_lcm_factor_source. (exists hlcm_left_common_gcomp_lcm_factor_source. hlcm_common_gcomp_lcm_factor_source = a * hlcm_left_common_gcomp_lcm_factor_source) -> (exists hlcm_right_common_gcomp_lcm_factor_source. hlcm_common_gcomp_lcm_factor_source = b * hlcm_right_common_gcomp_lcm_factor_source) -> exists hlcm_least_factor_gcomp_lcm_factor_source. hlcm_common_gcomp_lcm_factor_source = L * hlcm_least_factor_gcomp_lcm_factor_source)) -> L = g * (A * B)Constructive proof overview
Generated structural guide
For a nonzero relational gcd, the actual binary LCM is exactly its gcd times the product of the two coprime cofactors.
The unchanged tactic script uses 4 declared prerequisites and contains 30 exact native proof lines.
Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gcd_lcm_product Stable theorem; checked-use authorized mul_assoc Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized mul_left_cancel_nonzero Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hlcm
03Establish hproductL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gcd lcm product.
04Establish hshuffleL22–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul left cancel nonzero.
- L22
have hshuffle : (g * A) * (g * B) = g * (g * (A * B)) - L23
simp [mul_assoc, mul_comm] - L24
rewrite hshuffle at hproduct - L25
specialize mul_left_cancel_nonzero g - L26
specialize mul_left_cancel_nonzero L - L27
specialize mul_left_cancel_nonzero (g * (A * B)) - L28
apply mul_left_cancel_nonzero - L29
exact hnonzero - L30
exact hproduct
Original exact command ledger · 30 lines
- 0001
intro a - 0002
intro b - 0003
intro g - 0004
intro A - 0005
intro B - 0006
intro L - 0007
intro hnonzero - 0008
intro ha - 0009
intro hb - 0010
intro hg - 0011
intro hlcm - 0012
have hproduct : g * L = a * b - 0013
specialize gcd_lcm_product g - 0014
specialize gcd_lcm_product L - 0015
specialize gcd_lcm_product a - 0016
specialize gcd_lcm_product b - 0017
apply gcd_lcm_product - 0018
exact hg - 0019
exact hlcm - 0020
rewrite ha at hproduct - 0021
rewrite hb at hproduct - 0022
have hshuffle : (g * A) * (g * B) = g * (g * (A * B)) - 0023
simp [mul_assoc, mul_comm] - 0024
rewrite hshuffle at hproduct - 0025
specialize mul_left_cancel_nonzero g - 0026
specialize mul_left_cancel_nonzero L - 0027
specialize mul_left_cancel_nonzero (g * (A * B)) - 0028
apply mul_left_cancel_nonzero - 0029
exact hnonzero - 0030
exact hproduct
Separate complete second-wave branches: Full G011 proof · Alpha v27.