本文へ移動
cccskills
無料GitHub で公開

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 databases with categorical semantics; every diagram, network, and model in the ecosystem is an ACSet.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md14.1 KB
  • CONCOMITANT_SKILLS.md4.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Model ElevenLabs voice synthesis as an ACSet schema with Unison ability handlers for typed voice operations. Use when integrating ElevenLabs TTS into category-theoretic pipelines, building typed voice synthesis workflows, or managing multi-voice narration with GF(3) conservation.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

Systematic process for analyzing and modernizing legacy applications to comply with the 12-Factor App methodology. Covers code analysis, configuration externalization, dependency management, and container/Kubernetes best practices.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

13c0e3

無料

Gay MCP skill at invocation 26

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

19d57d

無料

Gay MCP skill at invocation 5

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1ea91a

無料

Gay MCP skill at invocation 27

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1eab21

無料

Gay MCP skill at invocation 3

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

plurigrid のスキルをすべて見る

このスキルの問題を報告する