definition example

A prop (historically PROP, “products and permutations category”) is a symmetric strict Monoidal Category with , monoidal unit and monoidal product on objects given by addition. Every object is the -fold product of the generating object . To specify a prop it suffices to give

(i) hom-sets for ; (ii) identities ; (iii) symmetries ; (iv) composition for , ; (v) monoidal product for , ,

and check the axioms of a symmetric monoidal category. Props are the complementary simplification of SMCs to symmetric monoidal preorders: preorders constrain the morphisms (at most one), props constrain the objects (generated by ). Consequently wiring diagrams for props need no labels on the wires — perfect for signal flow graphs, which have wires of a single type.

Sources: 7 Sketches §5.2 (Definition 5.2, Examples 5.3, 5.6–5.8, 5.12, Definition 5.11, Exercises 5.5, 5.9, 5.10), §5.2.2–5.2.5, §5.3–5.4, §6.5.3; Kittenlab Lecture 4 ( and with objects ); Catlab @theory / ThBiproductCategory.

Examples

propmorphisms notes
functions ; by disjoint union (Eq. 5.4)Example 5.3, 7S Exercise 5.5
bijections (empty unless )the Free Prop on the empty signature (Example 5.27)
partitions of compact closed (Example 5.7)
relations Example 5.8; for a rig (Definition 5.79)
open directed acyclic port graphsthe free prop on one generator of every arity
-labeled port graphs / prop expressions (signal flow graphs)
matrices over a Rig composition = matrix multiplication, = direct sum
linear relations Graphical Linear Algebra
posetal propsa poset structure on with monotone7S Exercise 5.9: discrete, usual, reverse orders; not divisibility
cospans the hypergraph prop (Chapter 6)

Prop functors and presentations

A prop functor is a functor that is identity on objects and preserves on morphisms (Definition 5.11): e.g. , and sending to its graph (Example 5.12). The semantics functor is the key example (Functorial Semantics). Props are built by free constructions on a signature and by presentations (generators and equations); Theorem 5.60 gives a presentation of . A prop presented by generators , and the monoid equations is “the theory of monoids”: monoid objects in are strict monoidal functors from it (Remark 5.74) — Lawvere’s algebraic theories.

Props are exactly -coloured operads’ “one-sorted” cousins; a symmetric strict monoidal category is a commutative Monoid Object in (Example 5.71).

Docs: FinSets · Theories & presentations — Kittenlab Lecture 4

using Catlab
# FinSet with + is a prop: objects are natural numbers, morphisms functions, ⊕ is disjoint union
f = FinFunction([1, 1, 2], 2); g = FinFunction([3, 1], 4)
oplus(f, g)                       # f + g : 5 → 6 (Eq. 5.4)
# Catlab's theories of props: ThBiproductCategory (matrices), ThHypergraphCategory, etc.;
# free props via @present on a signature with a single generating object:
@present SigSFG(FreeSymmetricMonoidalCategory) begin
  X::Ob
  copy::Hom(X, X ⊗ X); discard::Hom(X, munit())
  add::Hom(X ⊗ X, X); zero::Hom(munit(), X)
  a::Hom(X, X)                     # one scalar generator (add one per rig element)
end
-- Mathlib has no bundled "prop"; a prop is a strict symmetric monoidal category on ℕ.
-- The skeleton of FinSet (`FintypeCat.Skeleton`) with sums is the prototypical example.
#check CategoryTheory.FintypeCat.Skeleton
-- a prop as a type of morphisms indexed by (m, n) with series and parallel composition
class Prop' hom where
  idP    :: Int -> hom
  compP  :: hom -> hom -> hom        -- f ; g when arities match
  plusP  :: hom -> hom -> hom        -- f + g
  swapP  :: Int -> Int -> hom        -- σ_{m,n}
-- e.g. matrices over a rig (see Prop of Matrices), finite functions (see Category of Finite Sets)