Layering adds structure level by level. 2-monads layer algebraic structure on categories, with each strictness level a new layer.
Install
npx skillscat add plurigrid/asi/skills-2-monad Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing, no superlatives, no calls to action, natural prose, no bullet points, no headings, no markdown. At most 60 words. We need to explain what this skill does, what problem it solves, when to use it. From the description: skill is about 2-monads, layering algebraic structure on categories, generating a 4x4 grid of categories with varying strictness. It solves the problem of organizing algebraic structures on categories with different levels of strictness, providing a unified framework.
2-Monad Skill
"A 2-monad is a monad in the 2-category of 2-categories — the natural habitat of algebraic structure on categories."
— Blackwell, Kelly & Power (1989)
Trit: 0 (ERGODIC - coordinator)
Color: #26D826 (Green)
Status: Production Ready
Overview
A 2-monad is a monad internal to a 2-category K. Concretely, it consists of:
- An endo-2-functor
T : K → K - A 2-natural transformation
η : Id_K → T(unit) - A 2-natural transformation
μ : T² → T(multiplication) - Subject to the usual monad laws, now holding as equations between 2-natural transformations
The key insight: by varying the strictness of algebras and morphisms, a single 2-monad T generates a 4×4 grid of categories T-Alg_s, Ps-T-Alg, Lax-T-Alg, Colax-T-Alg with strict/pseudo/lax/colax morphisms between them.
Mathematical Definition
2-Monad (T, η, μ) on 2-category K:
T : K → K (endo-2-functor)
η : Id → T (unit, 2-natural)
μ : TT → T (multiplication, 2-natural)
μ ∘ Tμ = μ ∘ μT (associativity)
μ ∘ Tη = id = μ ∘ ηT (unitality)The Strictness Grid
The central organizing principle of BKP theory:
MORPHISMS
strict pseudo lax colax
┌────────┬────────┬──────┬───────┐
strict │ T-Alg_s│ T-Alg │ T-Algl│ T-Algc│
├────────┼────────┼──────┼───────┤
A pseudo │ Ps-s │ Ps-T │ Ps-l │ Ps-c │
L ├────────┼────────┼──────┼───────┤
G lax │ Lax-s │ Lax-ps │Lax-l │ Lax-c │
S ├────────┼────────┼──────┼───────┤
colax │ Col-s │ Col-ps │Col-l │ Col-c │
└────────┴────────┴──────┴───────┘
BKP Default: T-Alg = (strict algebras, pseudo morphisms)
This is the "right" category for most purposes.GF(3) Mapping of Strictness
| Strictness | Trit | Role | Justification |
|---|---|---|---|
| Colax | -1 (MINUS) | Validator | Weakens structure downward |
| Pseudo | 0 (ERGODIC) | Coordinator | Equivalence-invariant |
| Lax | +1 (PLUS) | Generator | Adds structure upward |
| Strict | — | Fixed point | Degenerate case (all trits equal) |
Key Theorems (BKP 1989)
1. Biadjunction
The inclusion J : T-Alg_s → T-Alg has a left biadjoint.
Equivalently: T-Alg has all PIE-limits and J preserves them.2. Flexible Algebras
A strict T-algebra A is flexible iff it is a retract (in T-Alg)
of a free T-algebra TX for some X.3. Coherence
Every pseudo T-algebra is equivalent (in T-Alg) to a strict one.
"Pseudo = Strict up to equivalence"Canonical Examples
| 2-Monad T | K | T-Alg_s | T-Alg (pseudo) |
|---|---|---|---|
| Free monoid | Cat | Strict monoidal cats | Monoidal cats |
| Free coproduct | Cat | Cats with strict coproducts | Cats with coproducts |
| Free symmetric monoidal | Cat | Permutative cats | Symmetric monoidal cats |
| Idempotent completion | Cat | Cauchy-complete cats | Cauchy-complete cats |
| Presheaf construction | Cat^op | — | Topoi (as 2-algebras) |
Julia/Catlab Integration
using Catlab.CategoricalAlgebra
# 2-Monad as endo-2-functor on Cat
@present Sch2Monad(FreeSchema) begin
TwoCategory::Ob
Algebra::Ob
Morphism::Ob
TwoCell::Ob
alg_carrier::Hom(Algebra, TwoCategory) # Underlying object
alg_action::Hom(Algebra, Algebra) # T-action
mor_source::Hom(Morphism, Algebra)
mor_target::Hom(Morphism, Algebra)
cell_source::Hom(TwoCell, Morphism)
cell_target::Hom(TwoCell, Morphism)
Strictness::AttrType # {-1, 0, +1} for colax/pseudo/lax
alg_strictness::Attr(Algebra, Strictness)
mor_strictness::Attr(Morphism, Strictness)
endWhy This Skill Was Missing
The concept of 2-monads was distributed across multiple skills without a single owner:
synthetic-adjunctionshandles adjunctions but not their monad-generating capacity in 2-categorieskan-extensionscovers Lan/Ran but not the 2-monad T whose algebras are the extended structuresinfinity-operadsconnects to operads-as-2-monads (Weber) but doesn't own the BKP theoryfree-monad-gengenerates free monads in 1-categories, not free 2-monadselements-infinity-catsworks at the ∞-level but doesn't specialize to strict 2-monads
Gap: No skill owned the strictness grid, the BKP biadjunction theorem, or the T-Alg construction. This skill fills that gap as the central coordinator for 2-categorical algebraic structure.
Bidirectional Neighbor Index
Edge-Scoped Propagator Table
| Edge | Direction | Scope | Fires When |
|---|---|---|---|
| 2-monad → doctrinal-adjunction | outbound | scope:compose |
Adjunction between T-algebras formed |
| doctrinal-adjunction → 2-monad | inbound | scope:change |
Lax/colax structure on adjoint discovered |
| 2-monad → flexible-algebra | outbound | scope:change |
New T-algebra constructed |
| flexible-algebra → 2-monad | inbound | scope:verify |
Flexibility of algebra verified |
| 2-monad → codescent | outbound | scope:compose |
Pseudoalgebra needs strictification |
| codescent → 2-monad | inbound | scope:verify |
Codescent object validates coherence |
| 2-monad → graded-monad | outbound | scope:change |
Index category for grading identified |
| graded-monad → 2-monad | inbound | scope:compose |
Graded monad embedded as 2-monad |
| 2-monad → synthetic-adjunctions | outbound | scope:compose |
Monad extracted from adjunction |
| synthetic-adjunctions → 2-monad | inbound | scope:change |
Adjunction L ⊣ R generates monad RL |
| 2-monad → kan-extensions | outbound | scope:compose |
Lan/Ran gives 2-monad on presheaves |
| kan-extensions → 2-monad | inbound | scope:change |
Migration via T-algebra structure |
| 2-monad → free-monad-gen | outbound | scope:change |
Free T-algebra needed |
| free-monad-gen → 2-monad | inbound | scope:compose |
Free monad lifted to 2-monad |
| 2-monad → infinity-operads | outbound | scope:compose |
Operad realized as polynomial 2-monad |
| infinity-operads → 2-monad | inbound | scope:change |
Dendroidal nerve of T-Alg |
| 2-monad → acsets-algebraic-databases | outbound | scope:change |
C-Set categories are 2-monadic |
| acsets-algebraic-databases → 2-monad | inbound | scope:verify |
Schema migration preserves T-structure |
| 2-monad → segal-types | outbound | scope:verify |
Nerve of T-Alg is Segal |
| segal-types → 2-monad | inbound | scope:verify |
Composition in T-Alg validated |
| 2-monad → open-games | outbound | scope:compose |
Game composition via 2-monadic structure |
| open-games → 2-monad | inbound | scope:change |
Para(Optic) as 2-monad algebra |
| 2-monad → bidirectional-lens-logic | outbound | scope:change |
Lax/colax = covariant/contravariant |
| bidirectional-lens-logic → 2-monad | inbound | scope:verify |
4-kind lattice validates strictness grid |
Mutual Awareness Summary
codescent (-1)
↑ verify
│
flexible (+1) ←── 2-MONAD (0) ──→ doctrinal-adj (0)
│ │
↓ compose ↓ change
graded (0) synthetic-adj (+1)
+ 8 additional edges to existing skillsTotal edges: 24 (12 bidirectional pairs)
Propagator balance: 8 scope:change + 8 scope:compose + 8 scope:verify = balanced
GF(3) Triads
codescent (-1) ⊗ 2-monad (0) ⊗ flexible-algebra (+1) = 0 ✓ [BKP Core]
sheaf-cohomology (-1) ⊗ 2-monad (0) ⊗ synthetic-adjunctions (+1) = 0 ✓ [Adjunction-Monad]
segal-types (-1) ⊗ 2-monad (0) ⊗ free-monad-gen (+1) = 0 ✓ [Free-Forgetful]
linear-logic (-1) ⊗ 2-monad (0) ⊗ operad-compose (+1) = 0 ✓ [Resource-Algebraic]
covariant-fibrations (-1) ⊗ 2-monad (0) ⊗ discopy-operads (+1) = 0 ✓ [Fibered-Operadic]Commands
just 2-monad-grid # Display full strictness grid
just 2-monad-algebras T # List T-algebra categories
just 2-monad-from-adjunction L R # Extract monad from adjunction
just 2-monad-coherence check # Verify pseudo = strict up to equiv
just 2-monad-bkp-biadjoint T # Compute BKP left biadjointReferences
- Blackwell, Kelly & Power (1989). "Two-dimensional monad theory." JPAA 59:1-41
- Kelly (1974). "Doctrinal adjunction." LNM 420:257-280
- Lack (2002). "Codescent objects and coherence." JPAA 175:223-241
- Lack (2010). "A 2-categories companion." IMA Vol. Math. Appl. 152:105-191
- Weber (2015). "Operads as polynomial 2-monads." TAC 30:1659-1712
- Street (1972). "The formal theory of monads." JPAA 2:149-168
SDF Interleaving
Primary Chapter: 6. Layering
Concepts: layered data, metadata, provenance
GF(3) Balanced Triad
2-monad (0) + SDF.Ch6 (0) + [balancer] (0) = 0Skill Trit: 0 (ERGODIC - coordination)
Connection Pattern
Layering adds structure level by level. 2-monads layer algebraic structure on categories, with each strictness level a new layer.