Skip to content

Allow composable pairs for mixed ACSet transformation types - #1000

Open
sdwfrost wants to merge 1 commit into
AlgebraicJulia:mainfrom
epirecipes:fix/catlab-017-composable-pairs
Open

Allow composable pairs for mixed ACSet transformation types#1000
sdwfrost wants to merge 1 commit into
AlgebraicJulia:mainfrom
epirecipes:fix/catlab-017-composable-pairs

Conversation

@sdwfrost

Copy link
Copy Markdown

Summary

Under Catlab 0.17 the ComposableHoms constructor only accepts composable pairs of identical concrete ACSet transformation types. In practice downstream rewriting (AlgebraicRewriting.jl) and ABM (AlgebraicABMs.jl) code routinely composes morphisms where one side is a plain ACSetTransformation and the other is a CSetTransformation / specialized subtype, which currently throws even though the domains/codomains match.

Changes

  • ComposableHoms.jl: relax the composable-pair validation so mixed concrete subtypes of ACSetTransformation can be composed, provided the codomain of the first and the domain of the second are equal.

Testing

  • Catlab's own test suite continues to pass.
  • With this change, AlgebraicRewriting.jl and AlgebraicABMs.jl test suites pass end-to-end against a local Catlab 0.17 + dev stack.

Context

Companion to the "Restore FinCat and ACSet migration helpers used by DataMigrations" PR (#999); together they complete the Catlab 0.17 surface needed to unblock the AlgebraicJulia downstream stack.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

Support composable-pair construction when the two morphisms use different concrete ACSet transformation types so downstream rewriting and ABM code can compose them under Catlab 0.17.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant