BT00QJ · Bertrand theorem

mul_shuffle_four

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

Four factors may exchange their two middle entries.

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

forall a b c d. (a * b) * (c * d) = (a * c) * (b * d)

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

none

0 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall a b c d. (a * b) * (c * d) = (a * c) * (b * d)

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

23 script commands · 11 reading checkpoints · 0 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 (2)
01Fix variables and assumptionsL1–4

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro d
02Calculate and transport equalitiesL5–5

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

  1. L5
    trans a * (b * (c * d))
03Use earlier factsL6–6

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

  1. L6
    apply mul_assoc
04Calculate and transport equalitiesL7–10

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

  1. L7
    trans a * ((b * c) * d)
  2. L8
    congr
  3. L9
    refl
  4. L10
    symm
05Use earlier factsL11–11

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

  1. L11
    apply mul_assoc
06Calculate and transport equalitiesL12–15

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

  1. L12
    trans a * ((c * b) * d)
  2. L13
    congr
  3. L14
    refl
  4. L15
    congr
07Use earlier factsL16–16

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

  1. L16
    apply mul_comm
08Calculate and transport equalitiesL17–20

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

  1. L17
    refl
  2. L18
    trans a * (c * (b * d))
  3. L19
    congr
  4. L20
    refl
09Use earlier factsL21–21

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

  1. L21
    apply mul_assoc
10Calculate and transport equalitiesL22–22

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

  1. L22
    symm
11Use earlier factsL23–23

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

  1. L23
    apply mul_assoc

Library-wide reading audit

Original defined command ledger · 23 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro d
  5. 0005trans a * (b * (c * d))
  6. 0006apply mul_assoc
  7. 0007trans a * ((b * c) * d)
  8. 0008congr
  9. 0009refl
  10. 0010symm
  11. 0011apply mul_assoc
  12. 0012trans a * ((c * b) * d)
  13. 0013congr
  14. 0014refl
  15. 0015congr
  16. 0016apply mul_comm
  17. 0017refl
  18. 0018trans a * (c * (b * d))
  19. 0019congr
  20. 0020refl
  21. 0021apply mul_assoc
  22. 0022symm
  23. 0023apply mul_assoc