ToposInstitute / CatColab

A collaborative environment for formal, interoperable, conceptual modeling
https://catcolab.org
MIT License
11 stars 4 forks source link

Refactor the trait interface for finitely generated things #118

Closed olynch closed 1 week ago

olynch commented 3 weeks ago

This compiles, but doesn't pass lints. The idea behind this refactor is that we should be more explicit in our traits about finitely-generated categories and double theory models. Specifically, "finitely generated" traits should expose actual implementations of FinGraph. This is in accordance with what "finitely generated" means mathematically for categories.

Default TODO list

github-actions[bot] commented 3 weeks ago

Preview url: https://66d20a9b7f08f42523b2faf4--catcolab.netlify.app

epatters commented 2 weeks ago

@olynch, I realized that there is a conceptual problem with the new design that I didn't detect in my first review. The problem is that:

I see two possible solutions:

  1. change the scope of FgCategory by adding an ObGen associated type, or
  2. have FgDblModel directly add the types it needs rather than extending FgCategory.

I'm inclined toward (1).

epatters commented 2 weeks ago

OK, for now I'm going to revert to using "Hom" to describe the external identities in a double theory. I'm open to revising this terminology in a future PR but it needs to be done carefully and consistently throughout the codebase and documentation, and the present state of this PR is quite far from that.