kris-brown / CombinatorialEnumeration.jl

Enumerate models of finite limit sketches up to isomorphism
MIT License
4 stars 0 forks source link

CombinatorialEnumeration.jl CombinatorialEnumeration.jl

Documentation Tests

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.

Status

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.