Skip to content
catlab-asi-interleave <<<<<<< HEAD logo

catlab-asi-interleave <<<<<<< HEAD

Bridge layer connecting AlgebraicJulia/Catlab.jl to plurigrid/asi. Wires ACSets (attributed C-sets), wiring diagrams, decorated cospans, and the AlgebraicJulia ecosystem (AlgebraicDynamics, AlgebraicPetri, AlgebraicRewriting, Decapodes) into the ASI skill graph. ACSets generalize relational datab...

plurigrid/asi0installs67stars

SKILL.md

Full skill instructions

Catlab.jl x ASI Interleave

Bridge connecting AlgebraicJulia/​Catlab.jl (categorical algebra in Julia) to the ASI skill graph (GF(3)-colored capability system).

Catlab Core Concepts (from DeepWiki deep-mine)

ACSets (Attributed C-Sets)

The universal data structure. A schema defines objects, homomorphisms (morphisms between objects), and attribute types. An ACSet instance is a functor from that schema category to Set.

# SchGraph: objects V, E; morphisms src: E->V, tgt: E->V
=======
description: >
  Bridge connecting AlgebraicJulia/​Catlab.jl to skill graphs.
  Triggers: ACSets, attributed C-sets, wiring diagrams, decorated cospans,
  DPO rewriting on skill graphs, AlgebraicDynamics, AlgebraicPetri,
  AlgebraicRewriting, Decapodes, categorical algebra in Julia.
---

# Catlab.jl Interleave

Bridge connecting AlgebraicJulia/​Catlab.jl (categorical algebra in Julia) to skill graphs.

## Catlab Core Concepts

### ACSets (Attributed C-Sets)

The universal data structure. A schema defines objects, homomorphisms, and attribute types. An ACSet instance is a functor from that schema category to Set.

```julia
>>>>>>> origin/​main
@present SchGraph(FreeSchema) begin
  V::Ob; E::Ob
  src::Hom(E,V); tgt::Hom(E,V)
end

<<<<<<< HEAD
# Attributed: add attribute types
=======
>>>>>>> origin/​main
@present SchWeightedGraph <: SchGraph begin
  T::AttrType
  weight::Attr(E,T)
end

const WeightedGraph = ACSetType(SchWeightedGraph, index=[:src,:tgt])

<<<<<<< HEAD Every diagram, network, and model in the ecosystem is an ACSet.

Wiring Diagrams as ACSets

SchAttributedWiringDiagram with Box/​InPort/​OutPort/​Wire. Boxes = operations/​processes, wires = data flow. Used to compose dynamical systems, Petri nets, and more.

Decorated Cospans

Functor L: A -> X gives "open" ACSets. OpenGraph with hypergraph category structure. Operations: compose, otimes (monoidal product), mcopy, mmerge, delete, create. Enable compositional modeling of open systems.

Wiring Diagrams as ACSets

SchAttributedWiringDiagram with Box/​InPort/​OutPort/​Wire. Boxes = operations, wires = data flow. Used to compose dynamical systems, Petri nets, and more.

Decorated Cospans

Functor L: A -> X gives "open" ACSets. Operations: compose, otimes (monoidal product), mcopy, mmerge, delete, create. Enable compositional modeling of open systems.

origin/​main

Downstream Ecosystem

AlgebraicJulia/​Catlab.jl (foundation)
<<<<<<< HEAD
  |- AlgebraicDynamics.jl     <- dynamical systems via decorated cospans
  |- AlgebraicPetri.jl        <- Petri nets with reaction network semantics
  |- AlgebraicRewriting.jl    <- DPO/​SPO graph rewriting on ACSets
  |- CategoricalTensorNetworks.jl <- tensor contractions as string diagrams
  |- CombinatorialSpaces.jl   <- simplicial sets, discrete exterior calculus
  |- DataMigrations.jl        <- functorial data migration between schemas
  |- DiagrammaticEquations.jl <- physics equations as decorated cospans
  |- Decapodes.jl             <- multiphysics simulation via DEC

No probabilistic/​inference capabilities -- must come from downstream packages or bridges. This is where monad-bayes-asi-interleave fills the gap.

GF(3) Tripartite Tag

algebraic-dynamics(-1) otimes catlab-asi-interleave(0) otimes algebraic-rewriting(+1) = 0

Dynamics (-1) x Foundation (0) x Rewriting (+1) = balanced categorical stack.


ASI Integration Points

1. acsets / acsets-algebraic-databases / acsets-relational-thinking <-> ACSets Core

Model the ASI skill graph as an ACSet for relational querying:

@present SchASISkills(FreeSchema) begin
=======
  |- AlgebraicDynamics.jl     -- dynamical systems via decorated cospans
  |- AlgebraicPetri.jl        -- Petri nets with reaction network semantics
  |- AlgebraicRewriting.jl    -- DPO/​SPO graph rewriting on ACSets
  |- CategoricalTensorNetworks.jl -- tensor contractions as string diagrams
  |- CombinatorialSpaces.jl   -- simplicial sets, discrete exterior calculus
  |- DataMigrations.jl        -- functorial data migration between schemas
  |- DiagrammaticEquations.jl -- physics equations as decorated cospans
  |- Decapodes.jl             -- multiphysics simulation via DEC

Integration Points

Skill Graph as ACSet

@present SchSkills(FreeSchema) begin
>>>>>>> origin/​main
  Skill::Ob; Edge::Ob; Hub::Ob
  src::Hom(Edge,Skill); tgt::Hom(Edge,Skill)
  hub_ref::Hom(Hub,Skill)
  SkillName::AttrType; TritVal::AttrType; Category::AttrType
  name::Attr(Skill,SkillName)
<<<<<<< HEAD
  trit::Attr(Skill,TritVal)        # -1, 0, +1
  category::Attr(Skill,Category)   # development | meta | ai-agents | ...
end

const ASISkills = ACSetType(SchASISkills, index=[:src,:tgt,:hub_ref])
skills = ASISkills()

# Conjunctive query: all GF(3)-balanced triads
gf3_triads(s) = filter(parts(s,:Edge)) do e
  t_src = s[s[e,:src], :trit]
  t_tgt = s[s[e,:tgt], :trit]
  (t_src + t_tgt) % 3 == 0
end

2. algebraic-rewriting / topos-adhesive-rewriting <-> DPO/​SPO Rewriting

Double-pushout rewriting for safe skill graph mutation (MONOTONIC_SKILL_INVARIANT):

trit::Attr(Skill,TritVal) category::Attr(Skill,Category) end

const Skills = ACSetType(SchSkills, index=[:src,:tgt,:hub_ref])


### DPO Rewriting for Safe Skill Graph Mutation
>>>>>>> origin/​main

```julia
using AlgebraicRewriting

# DPO rule: add bridge skill to hub (never delete)
<<<<<<< HEAD
# L -> K <- R where |R| >= |L| always
add_bridge_rule = Rule(
  ACSetTransformation(L, K),   # L: match hub pattern
  ACSetTransformation(R, K),   # R: hub + new bridge skill
=======
# L -> K <- R where |R| >= |L| always (monotonic)
add_bridge_rule = Rule(
  ACSetTransformation(L, K),
  ACSetTransformation(R, K),
>>>>>>> origin/​main
)
new_skills = rewrite(add_bridge_rule, current_skills)
@assert nparts(new_skills, :Skill) >= nparts(current_skills, :Skill)

<<<<<<< HEAD SPO rewriting available for partial matches (non-adhesive contexts).

3. discopy / discopy-operads <-> Wiring Diagram Composition

Catlab's wiring diagrams and DisCoPy's string diagrams are the same mathematical object:

# ASI skill composition as wiring diagram
=======
### Wiring Diagram Composition

```julia
# Skill composition as wiring diagram
>>>>>>> origin/​main
wd = @program SchSkillOp (validator::Val, coordinator::Coord, generator::Gen) begin
  validated = validator(input)
  coordinated = coordinator(validated)
  result = generator(coordinated)
  return result
end
<<<<<<< HEAD
# This WiringDiagram ACSet can be exported to DisCoPy format

Bridge: Julia WiringDiagram ACSet <-> Python DisCoPy Diagram via JSON serialization.

4. topos-catcolab / catcolab-* <-> CatColab Collaborative Modeling

CatColab is the web frontend to Catlab. Skills: catcolab-ologs, catcolab-petri-nets, catcolab-stock-flow, catcolab-causal-loop, catcolab-decapodes. All CatColab models are ACSets underneath.

5. interaction-nets <-> Decorated Cospans / Hypergraph Categories

Decorated cospans give OpenGraph a hypergraph category structure. Operations: compose (sequential), otimes (parallel), mcopy (fan-out), mmerge (fan-in), delete, create. Interaction nets are the computational model; decorated cospans are the categorical semantics.

6. crn-topology <-> AlgebraicPetri Reaction Networks

=======

WiringDiagram ACSet can be exported to DisCoPy format via JSON


### AlgebraicPetri Reaction Networks
>>>>>>> origin/​main

```julia
using AlgebraicPetri

<<<<<<< HEAD
# Chemical reaction network as Petri net ACSet
=======
>>>>>>> origin/​main
sir_model = LabelledPetriNet([:S,:I,:R],
  :infection => ((:S,:I) => (:I,:I)),
  :recovery  => (:I => :R)
)
<<<<<<< HEAD
# Compose via decorated cospans
open_sir = Open(sir_model, [:S], [:R])

Connects to crn-topology for topological analysis of reaction networks.

7. dynamical-system-functor / coupled-system <-> AlgebraicDynamics

======= open_sir = Open(sir_model, [:S], [:R])


### AlgebraicDynamics
>>>>>>> origin/​main

```julia
using AlgebraicDynamics, Catlab

<<<<<<< HEAD
# Open continuous dynamical system
=======
>>>>>>> origin/​main
rb_system = ContinuousResourceSharer{Float64}(
  [:temperature, :velocity, :pressure],
  (u, p, t) -> rb_dynamics(u, p, t)
)
<<<<<<< HEAD
# Compose via wiring diagram
=======
>>>>>>> origin/​main
full_system = oapply(boundary_diagram, [rb_system, thermal_bc])
solution = solve(ODEProblem(full_system, u0, tspan), Tsit5())

<<<<<<< HEAD

8. julia-scientific <-> Julia Runtime for Catlab

Catlab requires Julia >= 1.10. Entry points: julia-scientific, julia-gay. Enzyme.jl autodiff works with AlgebraicDynamics ODE solvers.

9. topos-unified / topos-generate <-> Topos-Theoretic Foundations

Catlab implements presentable categories, limits/​colimits, Kan extensions. The topos-theoretic skills (topos-unified, topos-generate, effective-topos) provide the foundation that Catlab operationalizes in code.

10. monad-bayes-asi-interleave <-> Fills Probabilistic Gap

Catlab has no built-in probabilistic inference. monad-bayes-asi-interleave provides SMC/​MCMC/​PMMH/​RMSMC stacks. The bridge: Catlab composes the model structure, monad-bayes performs inference on it.

11. vertex-ai-protein-interleave <-> Protein Reaction Networks

AlgebraicPetri reaction networks model biochemical pathways. Protein folding/​docking pipelines from vertex-ai-protein-interleave can use Catlab ACSets to represent reaction networks, pathway composition, and multi-target drug interaction graphs.


ASI Skill Graph as an ACSet (Self-Modeling)

The ASI skill graph itself is naturally an ACSet:

# Skills = objects, edges = morphisms, GF(3) trits = attributes
@present SchASIGraph(FreeSchema) begin
  Skill::Ob
  Edge::Ob
  src::Hom(Edge,Skill)
  tgt::Hom(Edge,Skill)
  # Attribute types
  Name::AttrType; Trit::AttrType; Role::AttrType; Version::AttrType
  # Attributes
  name::Attr(Skill,Name)
  trit::Attr(Skill,Trit)          # GF(3): -1, 0, +1
  role::Attr(Skill,Role)          # BRIDGE | HUB | LEAF | ERGODIC
  version::Attr(Skill,Version)
  edge_type::Attr(Edge,Name)      # :citation | :behavioral | :trit_equiv
end

# Invariants as ACSet constraints:
# 1. MONOTONIC: nparts(g, :Skill) >= 1360 (never decreases)
# 2. GF3_CONSERVATION: for any triad (s1,s2,s3), sum of trits = 0 mod 3
# 3. HUB_REACHABILITY: 17 hub skills; every leaf reachable from >= 1 hub

This enables: conjunctive queries over the skill graph, functorial data migration between schema versions, DPO rewriting for safe skill addition, and wiring diagram visualization of skill pipelines.


Connection to ASI Topos Stories

Story (task)Catlab Connection
Task 21: Categorical worlding kitCatlab.jl engine + CatColab UI + UnwiringDiagrams.jl
Task 22: Compositional game theoryWiring diagrams encode open game composition
Task 23: Nonlinear dynamics observatoryAlgebraicDynamics for attractor ODE composition
Task 24: ASI skill federationACSet as skill registry; DPO rewriting for safe addition
Task 20: Self-walking proof pipelineAlgebraicRewriting as proof rewrite system

Gap Registry

CapabilityStatusFilled By
Probabilistic inference on ACSetsMISSING in Catlabmonad-bayes-asi-interleave
GPU-accelerated ACSet operationsMISSINGFuture: CUDA.jl + ACSet kernels
ACSet <-> DuckDB serializationPARTIALduckdb-ies (Parquet round-trip)
ACSet <-> JSON-RPC for MCPMISSINGNeed: syrup/​JSON bridge for ACSets
Real-time collaborative ACSetsPARTIALCatColab (web only, no MCP)
ACSet diff/​merge (CRDT semantics)MISSINGcrdt skill + DPO rewriting
Tensor network contraction at scaleMISSINGCategoricalTensorNetworks exists but no GPU
Discrete exterior calculus on DGXMISSINGDecapodes + CUDA offload needed

Related ASI Skills

  • acsets / acsets-relational-thinking / acsets-algebraic-databases -- core ACSet skills
  • algebraic-rewriting / topos-adhesive-rewriting -- DPO/​SPO rewriting on ACSets
  • discopy / discopy-operads -- Python string diagram companion to Catlab
  • catcolab-ologs / catcolab-petri-nets / catcolab-stock-flow / catcolab-decapodes -- CatColab frontends
  • interaction-nets -- computational model for decorated cospan composition
  • crn-topology -- topological analysis of AlgebraicPetri reaction networks
  • dynamical-system-functor / coupled-system -- AlgebraicDynamics integration
  • julia-scientific / julia-gay -- Julia ecosystem entry points
  • topos-unified / topos-generate / effective-topos -- topos-theoretic foundations
  • monad-bayes-asi-interleave -- fills probabilistic inference gap
  • vertex-ai-protein-interleave -- protein reaction networks via AlgebraicPetri
  • structured-decomp -- structured decompositions = open graphs (Catlab cospans)
  • enzyme-autodiff -- Enzyme.jl autodiff for AlgebraicDynamics simulation
  • wolframite-compass -- Wolfram -> Catlab via Julia bridge
  • string-diagram-rewriting-protocol -- rewriting protocol for wiring diagrams =======

Runtime

Catlab requires Julia >= 1.10. Enzyme.jl autodiff works with AlgebraicDynamics ODE solvers.

Gap Registry

CapabilityStatusNotes
Probabilistic inference on ACSetsMISSING in CatlabUse monad-bayes bridge
GPU-accelerated ACSet operationsMISSINGFuture: CUDA.jl + ACSet kernels
ACSet <-> DuckDB serializationPARTIALParquet round-trip
ACSet <-> JSON-RPC for MCPMISSINGNeed syrup/​JSON bridge
ACSet diff/​merge (CRDT semantics)MISSINGDPO rewriting approach

origin/​main

More skills from plurigrid

cargo logo
plurigrid/asi

cargo

Rust package manager (36 subcommands).

67 0
View

Translate Figma nodes into production-ready code with 1:1 visual fidelity using the Figma MCP workflow (design context, screenshots, assets, and project-convention translation). Trigger when the user provides Figma URLs or node IDs, or asks to implement designs or components that must match Figma...

67 0
View

**Status**: 🌳 Production Ready (upstream in StringZilla v3+) **Type**: High-Performance String Operations / SIMD-Accelerated Text Processing **Principle**: Zero-copy views, SIMD/SWAR acceleration, deterministic hashing **Frame**: Cross-language interoperability (C, C++, Python, Rust, Go, Swift, ...

67 0
View
conformal-ga logo
plurigrid/asi

conformal-ga

Conformal Geometric Algebra (CGA) for circles, spheres, and Möbius transformations

67 0
View

Verifies code implements exactly what documentation specifies for blockchain audits. Use when comparing code against whitepapers, finding gaps between specs and implementation, or performing compliance checks for protocol implementations.

67 0
View
zig-systems logo
plurigrid/asi

zig-systems

Systems programming and performance optimization using Zig. Provides low-level abstractions, memory-safe compiled code, and performance benchmarking. Use for system-level operations, optimization, and interoperability with C/POSIX APIs.

67 0
View
paypal-mcp logo
plurigrid/asi

paypal-mcp

PayPal MCP server integration for invoices, payments, subscriptions, disputes, and transaction reporting via @paypal/mcp.

67 0
View
unison logo
plurigrid/asi

unison

Unison language - content-addressed functional programming with abilities for effects, distributed computing, and structural types. Use for pure functional code, effect management, distributed systems, and refactoring-safe codebases.

67 0
View
tasks-acset logo
plurigrid/asi

tasks-acset

Google Tasks management via TasksACSet. Transforms task operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for task-zero-as-condensed-state.

67 0
View
c logo
plurigrid/asi

c

World C Skill

67 0
View
syrup logo
plurigrid/asi

syrup

Syrup binary serialization for OCapN/CapTP wire format. Canonical encoding for capability messages.

67 0
View
skill-installer logo
plurigrid/asi

skill-installer

Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).

67 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View