BT00BG · Bertrand theorem

coprime_product_is_lcm

Stable checked-use theorem · independently kernel verified

The product of coprime naturals satisfies the universal relational LCM specification.

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. Coprime(a,b)Dvd(a,a · b)Dvd(b,a · b) ∧ (∀ x. Dvd(a,x)Dvd(b,x)Dvd(a · b,x))

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

6 occurrences

In local proof propositions

2 occurrences

Exact expanded native-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))

Proof neighborhood

Direct theorem prerequisites

Direct 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

40 script commands · 22 reading checkpoints · 2 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (3)
01Fix variables and assumptionsL1–3

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro hcop
02Separate the logical casesL4–5

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L4
    split
  2. L5
    split
03Construct an explicit witnessL6–6

Supply the displayed value, then prove that it has the required property.

  1. L6
    exists b
04Calculate and transport equalitiesL7–7

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L7
    refl
05Construct an explicit witnessL8–8

Supply the displayed value, then prove that it has the required property.

  1. L8
    exists a
06Use earlier factsL9–9

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L9
    apply mul_comm
07Fix variables and assumptionsL10–12

Work with arbitrary variables or the premises of the current implication.

  1. L10
    intro c
  2. L11
    intro ha
  3. L12
    intro hb
08Separate the logical casesL13–14

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L13
    cases ha
  2. L14
    cases hb
09Establish hdivL15–15

Establish this local claim before using it. It is not an additional assumption.

  1. L15
    have hdiv : Dvd(a,b · x1)Definitions: Dvd(a,b · x1)Original native command in the exact edition
10Construct an explicit witnessL16–16

Supply the displayed value, then prove that it has the required property.

  1. L16
    exists x
11Calculate and transport equalitiesL17–18

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L17
    trans c
  2. L18
    symm
12Use earlier factsL19–20

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L19
    exact hb_witness
  2. L20
    exact ha_witness
13Establish hfactorL21–27

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gauss coprime cancel.

  1. L21
    have hfactor : Dvd(a,x1)Definitions: Dvd(a,x1)Original native command in the exact edition
  2. L22
    specialize gauss_coprime_cancel a
  3. L23
    specialize gauss_coprime_cancel b
  4. L24
    specialize gauss_coprime_cancel x1
  5. L25
    apply gauss_coprime_cancel
  6. L26
    exact hcop
  7. L27
    exact hdiv
14Separate the logical casesL28–28

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L28
    cases hfactor
15Construct an explicit witnessL29–29

Supply the displayed value, then prove that it has the required property.

  1. L29
    exists x2
16Calculate and transport equalitiesL30–30

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L30
    trans b * x1
17Use earlier factsL31–31

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L31
    exact hb_witness
18Calculate and transport equalitiesL32–36

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L32
    trans b * (a * x2)
  2. L33
    rewrite hfactor_witness
  3. L34
    refl
  4. L35
    trans (b * a) * x2
  5. L36
    symm
19Use earlier factsL37–37

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L37
    apply mul_assoc
20Calculate and transport equalitiesL38–38

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L38
    congr
21Use earlier factsL39–39

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L39
    apply mul_comm
22Calculate and transport equalitiesL40–40

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L40
    refl

Library-wide reading audit

Original defined command ledger · 40 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro hcop
  4. 0004split
  5. 0005split
  6. 0006exists b
  7. 0007refl
  8. 0008exists a
  9. 0009apply mul_comm
  10. 0010intro c
  11. 0011intro ha
  12. 0012intro hb
  13. 0013cases ha
  14. 0014cases hb
  15. 0015have hdiv : Dvd(a,b · x1)
    Exact native replay linehave hdiv : exists q. b * x1 = a * q
  16. 0016exists x
  17. 0017trans c
  18. 0018symm
  19. 0019exact hb_witness
  20. 0020exact ha_witness
  21. 0021have hfactor : Dvd(a,x1)
    Exact native replay linehave hfactor : exists w. x1 = a * w
  22. 0022specialize gauss_coprime_cancel a
  23. 0023specialize gauss_coprime_cancel b
  24. 0024specialize gauss_coprime_cancel x1
  25. 0025apply gauss_coprime_cancel
  26. 0026exact hcop
  27. 0027exact hdiv
  28. 0028cases hfactor
  29. 0029exists x2
  30. 0030trans b * x1
  31. 0031exact hb_witness
  32. 0032trans b * (a * x2)
  33. 0033rewrite hfactor_witness
  34. 0034refl
  35. 0035trans (b * a) * x2
  36. 0036symm
  37. 0037apply mul_assoc
  38. 0038congr
  39. 0039apply mul_comm
  40. 0040refl