---
name: natural-transformations
description: "Problem-solving strategies for natural transformations in category theory"
allowed-tools: [Bash, Read]
---
# Natural Transformations
## When to Use
Use this skill when working on natural-transformations problems in category theory.
## Decision Tree
1. **Verify Naturality**
- eta: F => G is natural transformation between functors F, G: C -> D
- For each f: A -> B in C, diagram commutes:
G(f) . eta_A = eta_B . F(f)
- Write Lean 4: `theorem nat : η.app B ≫ G.map f = F.map f ≫ η.app A := η.naturality`
2. **Component Analysis**
- eta_A: F(A) -> G(A) for each object A
- Each component is morphism in target category D
- Lean 4: `def η : F ⟶ G where app := fun X => ...`
3. **Natural Isomorphism**
- Each component eta_A is isomorphism
- Functors F and G are naturally isomorphic
- Notation: F ≅ G (NatIso in Mathlib)
4. **Functor Category**
- [C, D] has functors as objects
- Natural transformations as morphisms
- Vertical composition: Lean 4 `CategoryTheory.NatTrans.vcomp`
- Horizontal composition: `CategoryTheory.NatTrans.hcomp`
5. **Yoneda Lemma Application**
- Nat(Hom(A, -), F) ~ F(A) naturally in A
- Lean 4: `CategoryTheory.yonedaEquiv`
- Fully embeds C into [C^op, Set]
- See: `.claude/skills/lean4-nat-trans/SKILL.md` for exact syntax
## Tool Commands
### Lean4_Naturality
```bash
# Lean 4: theorem nat : η.app B ≫ G.map f = F.map f ≫ η.app A := η.naturality
```
### Lean4_Nat_Trans
```bash
# Lean 4: def η : F ⟶ G where app := fun X => component_X
```
### Lean4_Yoneda
```bash
# Lean 4: CategoryTheory.yonedaEquiv -- Yoneda lemma
```
### Lean4_Build
```bash
lake build # Compiler-in-the-loop verification
```
## Cognitive Tools Reference
See `.claude/skills/math-mode/SKILL.md` for full tool documentation.