home / skills / plurigrid / asi / hom-functor
This skill applies Hom(A,-) and Hom(-,B) representables to analyze mappings and improve abstractions in functional programming contexts.
npx playbooks add skill plurigrid/asi --skill hom-functorReview the files below or copy the command above to add this skill to your agents.
---
name: hom-functor
description: "Hom(A,-) and Hom(-,B) representables."
metadata:
letter: H
trit: 0
seed: 1141
---
# H: Hom Functor
> *Hom(A,-) and Hom(-,B) representables.*
## Directory Tree
```
hom-functor/
├── SKILL.md
├── yoneda/
├── embedding.ml
```
## GF(3) Assignment
Letter H → trit = 0
## Integration
```scheme
(define (hom_functor x)
;; Hom(A,-) and Hom(-,B) representables.
x)
```
---
## Autopoietic Marginalia
> **The interaction IS the skill improving itself.**
Every use of this skill is an opportunity for worlding:
- **MEMORY** (-1): Record what was learned
- **REMEMBERING** (0): Connect patterns to other skills
- **WORLDING** (+1): Evolve the skill based on use
*Add Interaction Exemplars here as the skill is used.*
This skill provides compact handling of representable Hom functors: Hom(A,-) and Hom(-,B). It exposes the structure of morphism-sets from or to fixed objects and integrates with topological/chemical computation workflows. Use it to enumerate, transform, or reason about morphisms in small categories or modelled spaces.
The skill constructs the representable functors Hom(A,-) and Hom(-,B) for a chosen object A or B. For each target object it returns the set (or structured collection) of morphisms from A to that object or from that object to B. It supports inspection of composition, identity morphisms, and can be embedded into pipelines that treat Hom-sets as data for further computation.
What input does the skill expect?
A description of the category (objects and morphisms) and a chosen object A or B; small categories are recommended.
Does it compute infinite Hom-sets?
It returns Hom-sets as given by the input model; infinite sets require symbolic or truncated representations provided by the user.