Corpus theorem canonical 2026-05-27T20:53:50+00:00
Corpus v3 · Theorem cid001170THM0004canonicalv1

Composition Associativity

Program composition is associative. A THEOREM, not an axiom: proved via normalization confluence (NF-Confluence Theorem).

Payload

Composition Associativity

Program composition is associative. A THEOREM, not an axiom: proved via normalization confluence (NF-Confluence Theorem).

Composition Associativity

Summary

Program composition is associative. A THEOREM, not an axiom: proved via normalization confluence (NF-Confluence Theorem).

Statement

%
\label{thm:comp-assoc}
Composition in $\mathcal{P}$ is associative:
for all programs $P, Q, R$,
\[
    \boxed{[R] \circ ([Q] \circ [P])
    = ([R] \circ [Q]) \circ [P].}
\]

Proof / Justification

Let $P, Q, R$ be programs.

$[R] \circ ([Q] \circ [P])
= [R] \circ [\text{NF}(Q \cdot P)]
= [\text{NF}(R \cdot \text{NF}(Q \cdot P))]$.

$([R] \circ [Q]) \circ [P]
= [\text{NF}(R \cdot Q)] \circ [P]
= [\text{NF}(\text{NF}(R \cdot Q) \cdot P)]$.

By the NF-Confluence Lemma~\ref{lem:nf-confluence},
$\text{NF}(R \cdot \text{NF}(Q \cdot P))
= \text{NF}(R \cdot Q \cdot P)
= \text{NF}(\text{NF}(R \cdot Q) \cdot P)$.
The key step is that normalization commutes with concatenation:
normalizing a sub-expression before concatenating
yields the same final normal form as normalizing the
entire expression at once.
This follows from the confluence of the reduction system.

Source Context

  • Registry source: book-01.jsonl line 30
  • Manuscript source: 2nd-edition/book-i-categorical-foundations/02_mainmatter/part03/ch13-program-monoid.tex lines 147-156

Lean / Formalization Notes

  • Formalization: formalized
  • Module: TauLib.BookI.Denotation.ProgramMonoid
  • Name: Tau.Denotation.comp_assoc

Dependencies

  • Canonical: I.D14

Generated by later projection phases.

Generated by later projection phases.

Revision Notes

  • 2026-04-24: Initial pilot migration.

Identifiers

  • Corpus ID cid001170
  • Primary alias THM0004
  • Type Theorem
  • Status canonical
  • Visibility public
  • Version v1

Aliases & legacy IDs

I.T03composition-associativitythm:comp-assoc

Release lines

corpus_v3_workingcorpus_v2

Relations

Formalized by (1)

Appears in (1)

Downstream uses (computed) (2)

Items in the corpus that reference this one via load-bearing relations. Computed from the full corpus-v3 graph at build time.

Sources

  • Monograph cid000023Book I, Part 3, Chapter 13 (Part III)

Version & History

  • v1 · 2026-05-10 imported from v2 registry
  • v1 · 2026-05-10 wired formalized by in wave 5

Status disclaimer

A Corpus Item page reports the program's current internal record for this item. It does not imply external verification, scientific consensus, or final proof unless explicitly stated. Read it together with its dependencies, formalization status, and the program's overall stance.

Save or share this page for inspection

Download a portable dossier, copy a reviewer note, or send this page to someone who can inspect it.

Email to expert