synthetic-adjunctions

Generate adjunction data and verify triangle identities for universal constructions.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill synthetic-adjunctions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: synthetic-adjunctions
Source: https://github.com/plurigrid/asi/tree/main/skills/synthetic-adjunctions
Command: npx skills add https://github.com/plurigrid/asi --skill synthetic-adjunctions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill encodes and generates adjunction data from directed type theory, enabling automated construction of universal structures such as limits, colimits, Kan extensions, and monads.

Core Features & Use Cases

  • Unit/counit generation: produce η and ε for adjunctions, with coherence via triangle identities.
  • Universal-property synthesis: derive left/right adjoints and their universal characterizations automatically.
  • Practical templates: furnish ready-to-use adjunctions for common constructions (free-forgetful, Kan extensions, etc.).
  • Use Case: given a functor F: A → B, synthesize its adjoint G and verify triangle identities.

Quick Start

Just run: just adjunction-generate --free-on Monoid or just adjunction-unit-counit L R

Frequently Asked Questions about synthetic-adjunctions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate adjunctions for universal constructions in category theory?

Adjunctions automate the derivation of universal structures by generating unit and counit data that satisfy triangle identities. This Skill produces adjunction data for limits, colimits, Kan extensions, and monads from directed type theory definitions, enabling synthesis of left and right adjoints with verified coherence.

What are unit and counit in adjunctions, and how do I construct them?

Unit (η) and counit (ε) are natural transformations that establish the adjoint relationship between functors. This Skill generates both components with automatic verification of triangle identities, ensuring the adjunction is coherent and suitable for constructing universal properties.

Can I use adjunctions to derive Kan extensions and monads automatically?

Yes. Adjunctions provide the foundational data for synthesizing Kan extensions and monads. This Skill generates the required adjunction structure—unit, counit, and triangle identities—from free-forgetful pairs and other universal properties, enabling downstream monad and Kan extension construction.

How do I verify triangle identities hold for my adjunctions?

Triangle identities ensure unit and counit compose correctly. This Skill automatically generates and validates both identities as part of adjunction synthesis, confirming coherence without manual proof.

What input do I need to generate an adjunction from a functor?

Provide a functor definition, universal property characterization, or free-forgetful pair structure. The Skill synthesizes the adjoint functor, unit, counit, and triangle identities from these specifications, with support for Agda and Haskell-like code representations.