Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compute colimit of empty diagram for DynamicACSets #859

Open
aaguinal opened this issue Oct 3, 2023 · 1 comment
Open

Compute colimit of empty diagram for DynamicACSets #859

aaguinal opened this issue Oct 3, 2023 · 1 comment
Assignees

Comments

@aaguinal
Copy link
Contributor

aaguinal commented Oct 3, 2023

The colimit of an empty diagram fails for Dynamic ACSets. The code below should produce the following error.

This is using Catlab v0.15.5 and AlgebraicRewriting v0.2.1.

Code

using Catlab
using AlgebraicRewriting

# Set-up
function make_cache(type, schema)
  cache_dir = mkpath(joinpath(@__DIR__, "cache"))
  cache = Dict(Iterators.map(ob -> begin
      name = nameof(ob)
      path = joinpath(cache_dir, "$name.json")
      if isfile(path)
        @info "Reading representables from $path"
        rep = read_json_acset(type, path)
      else
        @info "Computing representable $name"
        rep = representable(type, schema, name)
        write_json_acset(rep, path)
      end
      name => (rep, 1)
    end, generators(schema, :Ob)))
end

@present SchFoo(FreeSchema) begin
  X::Ob
  A::AttrType
  attribute::Attr(X, A)
end
const Foo = DynamicACSet("Foo", SchFoo; type_assignment=Dict(:A => Symbol))
cache = make_cache(Foo, SchFoo)
y = yoneda(Foo; cache=cache)

delete_node_diagram = @migration(SchRule, SchFoo, begin
  L => @join begin
    x0::X
  end
  R => @join begin end
  K => @join begin end
end)

rule = colimit_representables(delete_node_diagram, y)

Error:

BoundsError: attempt to access 0-element Vector{DynamicACSet{IntParts}} at index [1]

julia> rule = colimit_representables(delete_node_diagram, y)
ERROR: BoundsError: attempt to access 0-element Vector{DynamicACSet{IntParts}} at index [1]
Stacktrace:
  [1] getindex
    @ ./essentials.jl:13 [inlined]
  [2] first
    @ ./abstractarray.jl:445 [inlined]
  [3] colimit(#unused#::Type{Tuple{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}}, diagram::Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Vector{DynamicACSet{IntParts}}, Vector{Any}})
    @ Catlab.CategoricalAlgebra.CSets ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/CSets.jl:1250
  [4] #colimit#3
    @ ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/Limits.jl:140 [inlined]
  [5] colimit(diagram::Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Vector{DynamicACSet{IntParts}}, Vector{Any}})
    @ Catlab.CategoricalAlgebra.Limits ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/Limits.jl:140
  [6] (::Catlab.CategoricalAlgebra.DataMigrations.var"#55#58"{Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{OppositeCat{Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatSize, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Dict{GATExpr{:generator}, DynamicACSet{IntParts}}, Dict{Catlab.Theories.FreeSchema.Attr{:generator}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}}, ACSets.DenseACSets.var"#24#25"{Dict{Symbol, Type}, Vector{Symbol}, Vector{Symbol}, DataType, DynamicACSet{IntParts}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, TypeCat{SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}), DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}}})(c::Catlab.Theories.FreeSchema.Ob{:generator})
    @ Catlab.CategoricalAlgebra.DataMigrations ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/DataMigrations.jl:575
  [7] (::Catlab.CategoricalAlgebra.FinCats.var"#89#90"{Catlab.CategoricalAlgebra.DataMigrations.var"#55#58"{Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{OppositeCat{Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatSize, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Dict{GATExpr{:generator}, DynamicACSet{IntParts}}, Dict{Catlab.Theories.FreeSchema.Attr{:generator}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}}, ACSets.DenseACSets.var"#24#25"{Dict{Symbol, Type}, Vector{Symbol}, Vector{Symbol}, DataType, DynamicACSet{IntParts}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, TypeCat{SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}), DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}}}})(x::Catlab.Theories.FreeSchema.Ob{:generator})
    @ Catlab.CategoricalAlgebra.FinCats ./none:0
  [8] iterate
    @ ./generator.jl:47 [inlined]
  [9] _all(f::Base.var"#372#374", itr::Base.Generator{Vector{GATExpr{:generator}}, Catlab.CategoricalAlgebra.FinCats.var"#89#90"{Catlab.CategoricalAlgebra.DataMigrations.var"#55#58"{Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{OppositeCat{Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatSize, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Dict{GATExpr{:generator}, DynamicACSet{IntParts}}, Dict{Catlab.Theories.FreeSchema.Attr{:generator}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}}, ACSets.DenseACSets.var"#24#25"{Dict{Symbol, Type}, Vector{Symbol}, Vector{Symbol}, DataType, DynamicACSet{IntParts}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, TypeCat{SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}), DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}}}}}, #unused#::Colon)
    @ Base ./reduce.jl:1292
 [10] all
    @ ./reduce.jl:1278 [inlined]
 [11] Dict(kv::Base.Generator{Vector{GATExpr{:generator}}, Catlab.CategoricalAlgebra.FinCats.var"#89#90"{Catlab.CategoricalAlgebra.DataMigrations.var"#55#58"{Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{OppositeCat{Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatSize, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Dict{GATExpr{:generator}, DynamicACSet{IntParts}}, Dict{Catlab.Theories.FreeSchema.Attr{:generator}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}}, ACSets.DenseACSets.var"#24#25"{Dict{Symbol, Type}, Vector{Symbol}, Vector{Symbol}, DataType, DynamicACSet{IntParts}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, TypeCat{SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}), DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}}}}})
    @ Base ./dict.jl:111
 [12] make_map(f::Catlab.CategoricalAlgebra.DataMigrations.var"#55#58"{Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{OppositeCat{Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatSize, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Dict{GATExpr{:generator}, DynamicACSet{IntParts}}, Dict{Catlab.Theories.FreeSchema.Attr{:generator}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}}, ACSets.DenseACSets.var"#24#25"{Dict{Symbol, Type}, Vector{Symbol}, Vector{Symbol}, DataType, DynamicACSet{IntParts}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, TypeCat{SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}), DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}}}, xs::Vector{GATExpr{:generator}}, #unused#::Type{Any})
    @ Catlab.CategoricalAlgebra.FinCats ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/FinCats.jl:746
 [13] make_map
    @ ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/FinCats.jl:743 [inlined]
 [14] colimit_representables(M::DataMigration{Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, TypeCat{SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}), DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, SimpleDiagram{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}, Dict{Symbol, DiagramHom{Catlab.CategoricalAlgebra.Categories.op, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinTransformationMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{Catlab.CategoricalAlgebra.FinCats.FreeCatGraph{Catlab.Programs.DiagrammaticPrograms.NamedGraph{Symbol, Union{Nothing, Symbol}}}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}, Vector{Any}, Vector{Any}}, Vector{Any}}, D} where D<:(Functor{<:Category{Ob, Hom, Catlab.CategoricalAlgebra.FinCats.FinCatSize} where {Ob, Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}})}}, Dict{Any, Any}}, y::Catlab.CategoricalAlgebra.FinCats.FinDomFunctorMap{OppositeCat{Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}, Catlab.CategoricalAlgebra.FinCats.FinCatSize, Catlab.CategoricalAlgebra.FinCats.FinCatPresentation{ThSchema, Union{Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Ob}, Union{Catlab.Theories.FreeSchema.Attr, Catlab.Theories.FreeSchema.AttrType, Catlab.Theories.FreeSchema.Hom}}}, TypeCat{DynamicACSet{IntParts}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}, Dict{GATExpr{:generator}, DynamicACSet{IntParts}}, Dict{Catlab.Theories.FreeSchema.Attr{:generator}, Catlab.CategoricalAlgebra.CSets.DynamicTightACSetTransformation}})
    @ Catlab.CategoricalAlgebra.DataMigrations ~/.julia/packages/Catlab/rJ36m/src/categorical_algebra/DataMigrations.jl:560
 [15] top-level scope
    @ ~/Documents/Git/ai2thor-cset-experiments/julia/Ai2thorCsetProject/Ai2ThorWorld-Rules-CR.jl:270
@kris-brown
Copy link
Contributor

Plan:

  1. see if this can be addressed by a 1-2 line code change in colimit_representables
  2. If not, thread a constructor keyword argument through the colimit machinery

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants