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

Products of FinCats and isomorphism testing of diagrams of C-sets #896

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

kris-brown
Copy link
Contributor

@kris-brown kris-brown commented Apr 3, 2024

This PR implements uncurrying, where we take a diagram of C-Sets (J -> C -> Set) and make it into an instance of J x C -> Set. This allows us to apply various C-Set algorithms, such as isomorphism testing, to morphisms (indexed by the walking arrow category), spans, etc. This is useful for writing robust tests for (co)limits, which produce (co)spans only up to isomorphism (presently, we make assumptions about which isomorph is coming out of the (co)limit machinery whenever testing the output map data).

In order to do this, there is an implementation of products of FinCatPresentations, taken from #615 and cleaned up (there many features there which are left behind, such as the inverse operation of currying, and the action of (un)currying on FinTransformations rather than just FinFunctors).

This is only expected to work for C-Sets (no attributes, no variables) though it should be possible to generalize to that setting.

Copy link
Contributor

github-actions bot commented Apr 3, 2024

Review Checklist

Does this PR follow the development guidelines? Following is a partial checklist:

Tests

  • New features and bug fixes have unit tests
  • New modules have tests that are ultimately called by the test runner (test/runtests.jl)
  • Existing tests have not been deleted
  • Code coverage >= 90% or reduction justified in PR

Documentation

  • All exported functions, types, and constants have docstrings, written in complete sentences
  • Citations are given for any constructions, algorithms, or code drawn from external sources

Other

  • Style guidelines are followed, including indent width 2
  • Changes breaking backwards compatibility have been approved

@epatters epatters changed the title product of fincats, isomorphism of CSetTransformations and diagrams Products of FinCats and isomorphism testing of diagrams of C-sets Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant