Exact expanded PA statement
forall a b. (forall d. (exists u. a = d * u) -> (exists v. b = d * v) -> d = 1) -> ((((exists hlcm_left_factor_coprime_product. a * b = a * hlcm_left_factor_coprime_product) /\ (exists hlcm_right_factor_coprime_product. a * b = b * hlcm_right_factor_coprime_product)) /\ forall hlcm_common_coprime_product. (exists hlcm_left_common_coprime_product. hlcm_common_coprime_product = a * hlcm_left_common_coprime_product) -> (exists hlcm_right_common_coprime_product. hlcm_common_coprime_product = b * hlcm_right_common_coprime_product) -> exists hlcm_least_factor_coprime_product. hlcm_common_coprime_product = a * b * hlcm_least_factor_coprime_product))Structural proof guide
The product of coprime naturals satisfies the universal relational LCM specification.
Direct prerequisites: mul_comm, gauss_coprime_cancel, mul_assoc. The authored body proceeds by case analysis (3), intermediate claims (2), equality transport (1).
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
intro a - 0002
intro b - 0003
intro hcop - 0004
split - 0005
split - 0006
exists b - 0007
refl - 0008
exists a - 0009
apply mul_comm - 0010
intro c - 0011
intro ha - 0012
intro hb - 0013
cases ha - 0014
cases hb - 0015
have hdiv : exists q. b * x1 = a * q - 0016
exists x - 0017
trans c - 0018
symm - 0019
exact hb_witness - 0020
exact ha_witness - 0021
have hfactor : exists w. x1 = a * w - 0022
specialize gauss_coprime_cancel a - 0023
specialize gauss_coprime_cancel b - 0024
specialize gauss_coprime_cancel x1 - 0025
apply gauss_coprime_cancel - 0026
exact hcop - 0027
exact hdiv - 0028
cases hfactor - 0029
exists x2 - 0030
trans b * x1 - 0031
exact hb_witness - 0032
trans b * (a * x2) - 0033
rewrite hfactor_witness - 0034
refl - 0035
trans (b * a) * x2 - 0036
symm - 0037
apply mul_assoc - 0038
congr - 0039
apply mul_comm - 0040
refl