algebraic-rewriting
Category-theoretic graph rewriting with DPO, SPO, and SqPO pushouts for C-Sets. Declarative transformation of acset data structures.
npx skills add majiayu000/claude-skill-registry --skill algebraic-rewriting --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Algebraic Rewriting ## Overview **AlgebraicRewriting.jl** is a Julia library for performing category-theoretic rewrites over C-Sets and other Catlab.jl data structures. ## Rewriting Approaches | Type | Description | Use Case | |------|-------------|----------| | **DPO** | Double Pushout | Safe deletion (no dangling edges) | | **SPO** | Single Pushout | Greedy deletion | | **SqPO** | Sesqui-Pushout | Cloning + deletion | ## Core Concepts ### Rewrite Rules A rewrite rule consists of: - **L** (left) - Pattern to match - **K** (interface) - What to preserve - **R** (right) - Replacement pattern ```julia using AlgebraicRewriting # Define a rule: merge two vertices L = @acset Graph begin V=2; E=1; src=[1]; tgt=[2] end K = @acset Graph begin V=1 end R = @acset Graph begin V=1 end rule = Rule(L, K, R) ``` ### Apply Rewriting ```julia G = @acset Graph begin V = 4 E = 3 src = [1, 2, 3] tgt = [2, 3, 4] end # Find matches and rewrite matches = homomorphisms(L, G) G′ = rewrite(rule, G, matches[1]) ``` ## Double Pushout (DPO) ``` L ←─ K ─→ R ↓ ↓ ↓ G ←─ D ─→ H ``` The context D ensures no "dangling edges" after deletion. ## Sesqui-Pushout (SqPO) Supports cloning via the final pullback complemen
- Overview
- Rewriting Approaches
- Core Concepts
- Rewrite Rules
- Apply Rewriting
- Double Pushout (DPO)
- Sesqui-Pushout (SqPO)
- Gay.jl Integration
- Documentation
- Repository
- GF(3) Triad
- Related Skills
What does the algebraic-rewriting skill do?
Category-theoretic graph rewriting with DPO, SPO, and SqPO pushouts for C-Sets. Declarative transformation of acset data structures.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill algebraic-rewriting --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
