Skip to content

Conversation

@kris-brown
Copy link
Collaborator

@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.

@kris-brown kris-brown self-assigned this Apr 3, 2024
@kris-brown kris-brown requested a review from KevinDCarlson April 3, 2024 00:25
@github-actions
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.

2 participants