PA001I

add_permute_outer

Stable checked-use theorem · independently closed

Permute the outer entries of two additive pairs.

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 PA statement

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

Structural proof guide

Generated structural guide

Permute the outer entries of two additive pairs.

Use the direct prerequisites add_assoc, add_comm as previously established PA formulas.

The proof proceeds by direct introduction and elimination.

Referenced ingredients

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.

Read the argument

Proof checkpoints

25 script commands · 13 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.

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 add_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 add_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 add_comm
08Calculate and transport equalitiesL17–19

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
    symm
09Use earlier factsL20–20

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

  1. L20
    apply add_assoc
10Calculate and transport equalitiesL21–22

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

  1. L21
    trans ((c + b) + a) + d
  2. L22
    congr
11Use earlier factsL23–23

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

  1. L23
    apply add_comm
12Calculate and transport equalitiesL24–24

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

  1. L24
    refl
13Use earlier factsL25–25

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

  1. L25
    apply add_assoc

Library-wide reading audit

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