oapply-colimit

star 25

oapply: Operad algebra evaluation via colimits. Composes machines/resource sharers.

plurigrid By plurigrid schedule Updated 12/22/2025

name: oapply-colimit description: "oapply: Operad algebra evaluation via colimits. Composes machines/resource sharers." source: AlgebraicJulia/AlgebraicDynamics.jl license: MIT trit: +1

oapply-colimit Skill

Core Pattern

oapply computes colimit of component diagram over wiring pattern:

using AlgebraicDynamics

# Pattern + components → composite
composite = oapply(wiring_diagram, [machine1, machine2, ...])

Two Composition Modes

Mode Type Gluing Example
Undirected ResourceSharer Pushout (shared state) Lotka-Volterra
Directed Machine Wiring (signal flow) Control systems

Implementation

function oapply(d::UndirectedWiringDiagram, xs::Vector{ResourceSharer})
    # 1. Coproduct of state spaces
    S = coproduct((FinSet ∘ nstates).(xs))
    
    # 2. Pushout identifies shared variables
    S′ = pushout(portmap, junctions)
    
    # 3. Induced dynamics sum at junctions
    return ResourceSharer(induced_interface, induced_dynamics)
end

GF(3) Triads

schema-validation (-1) ⊗ acsets (0) ⊗ oapply-colimit (+1) = 0 ✓
interval-presheaf (-1) ⊗ algebraic-dynamics (0) ⊗ oapply-colimit (+1) = 0 ✓

References

  • Libkind "An Algebra of Resource Sharers" arXiv:2007.14442
  • AlgebraicJulia/AlgebraicDynamics.jl
Install via CLI
npx skills add https://github.com/plurigrid/asi --skill oapply-colimit
Repository Details
star Stars 25
call_split Forks 7
navigation Branch main
article Path SKILL.md
More from Creator