This package implements a constrained search algorithm, with constraints
specified in the language of
sketches / category theory.
Formally, given a finite (co)- limit sketch, we enumerate its models up to
isomorphism. See more in the
documentation
and some examples are in the examples
directory (e.g. reflexive graphs,
coequalizers, categories, jointly surjective maps) underneath src
and test
.
This is very experimental code, so there may be frequent breaking changes. There is great opportunity for massive speed-ups - really the most basic implementations to get something running is all that is written so far, but done so in a modular way (e.g. enforcing cone constraints, enforcing cocone constraints) so that bottlenecks can be identified and improved piecemeal.