AlgebraicJulia / Catlab.jl

A framework for applied category theory in the Julia language
https://www.algebraicjulia.org
MIT License
608 stars 58 forks source link

The Chase with domain attributes #825

Closed kris-brown closed 1 year ago

kris-brown commented 1 year ago

Currently, the chase tries to create a component for each object and attribute type in the collage of a functor between two schemas. Because we cannot have maps between attribute types, this will currently error.

There is a workaround that doesn't require making this fundamental change to Catlab schemas, however. If we simply omit the maps between attribute types, the result of the sigma migration should still work fine, except there will be distinct attrvars for every attribute value. A simple for loop should be sufficient to then set values for all these attributes according to the naturality squares which were omitted during the chase.