Synthetic adjunctions in directed type theory for ∞-categorical universal constructions.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add plurigrid/asi --skill synthetic-adjunctions --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Synthetic Adjunctions?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/plurigrid-synthetic-adjunctions-asi)More formats (shields.io, HTML) on the badges page.
---
name: synthetic-adjunctions
description: Synthetic adjunctions in directed type theory for ∞-categorical universal constructions.
source: local
license: UNLICENSED
---
# Synthetic Adjunctions Skill: Universal Construction Generation
**Status**: ✅ Production Ready
**Trit**: +1 (PLUS - generator)
**Color**: #D82626 (Red)
**Principle**: Adjunctions generate universal structures
**Frame**: Directed type theory with adjoint functors
---
## Overview
**Synthetic Adjunctions** generates adjunction data in directed type theory. Adjunctions are the fundamental generators of universal constructions—limits, colimits, Kan extensions, and monads all arise from adjunctions.
1. **Unit/counit**: Natural transformations η, ε
2. **Triangle identities**: Coherence conditions
3. **Mate correspondence**: Bijection between hom-sets
4. **Universal properties**: Initial/terminal characterizations
## Core Formula
```
L ⊣ R adjunction:
η : Id → R ∘ L (unit)
ε : L ∘ R → Id (counit)
Triangle identities:
(εL) ∘ (Lη) = id_L
(Rε) ∘ (ηR) = id_R
```
```haskell
-- Generate adjunction from universal property
generate_adjunction :: FreeConstruction → Adjunction
generate_adjunction (Free F) = Adjunction {
left = F,
right = Forgetful,
unit = η_universal,
counit = ε_evaluation
}
```
## Key Concepts
### 1. Adjunction Generation
```agda
-- Construct adjunction from representability
representable-adjunction :
(F : A → B) → (G : B → A) →
((a : A) (b : B) → Hom_B(F a, b) ≃ Hom_A(a, G b)) →
Adjunction F G
representable-adjunction F G iso = record
{ unit = λ a → iso.inv (id (F a))
; counit = λ b → iso.to (id (G b))
; triangle-L = from-iso-naturality
; triangle-R = from-iso-naturality
}
```
### 2. Free-Forgetful Generation
```agda
-- Generate free algebra adjunction
free-forgetful : (T : Monad) → Adjunction (Free T) (Forgetful T)
free-forgetful T = record
{ unit = T.η
; counit = T.μ ∘ T.map(eval)
; triangle-L = T.left-unit
; triangle-R = T.right-unit
}
-- Free monoid on sets
Free-Mon : Adjunction Free Underlying
Free-Mon = free-forgetful List-Monad
```
### 3. Kan Extension via Adjunction
```agda
-- Left Kan extension as left adjoint to restriction
Lan : (K : A → B) → Adjunction (Lan_K) (Res_K)
Lan K = record
{ left = λ F → colim_{K/b} F ∘ proj
; right = λ G → G ∘ K
; unit = universal-arrow
; counit = eval-at-colimit
}
```
### 4. Generate Limits from Adjunctions
```agda
-- Diagonal adjunction gives limits
limit-adjunction : Adjunction Δ lim
limit-adjunction = record
{ left = Δ -- diagonal functor
; right = lim -- limit functor
; unit = proj -- projections
; counit = univ -- universal property
}
```
## Commands
```bash
# Generate adjunction from free construction
just adjunction-generate --free-on Monoid
# Synthesize unit/counit
just adjunction-unit-counit L R
# Verify triangle identities
just adjunction-verify adj.rzk
```
## Integration with GF(3) Triads
```
covariant-fibrations (-1) ⊗ directed-interval (0) ⊗ synthetic-adjunctions (+1) = 0 ✓ [Transport]
yoneda-directed (-1) ⊗ elements-infinity-cats (0) ⊗ synthetic-adjunctions (+1) = 0 ✓ [Yoneda-Adjunction]
segal-types (-1) ⊗ directed-interval (0) ⊗ synthetic-adjunctions (+1) = 0 ✓ [Segal Adjunctions]
```
## Related Skills
- **elements-infinity-cats** (0): Coordinate ∞-categorical adjunctions
- **covariant-fibrations** (-1): Validate fibration conditions
- **free-monad-gen** (+1): Generate free monads from adjunctions
---
**Skill Name**: synthetic-adjunctions
**Type**: Universal Construction Generator
**Trit**: +1 (PLUS)
**Color**: #D82626 (Red)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!