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

Preorder Refactor #41

Merged
merged 4 commits into from
Jul 20, 2023
Merged

Preorder Refactor #41

merged 4 commits into from
Jul 20, 2023

Conversation

GenericMonkey
Copy link
Collaborator

@GenericMonkey GenericMonkey commented Jul 19, 2023

  • Added isPoset as an analogue for isUnivalent for a Category to Cubical.Relation.Binary.Preorder, copying the CatIso logic with a new record OrderEquiv. The naming in this record is quite unfortunate as the upstream library already has a isUnivalent defined for a relation R, saying R is univalent if R a a' is equivalent to a path between a and a'. Suggestions welcome.
  • Ripped out our dependency on Cubical.Relation.Binary.Poset completely, and use our definition of a univalent Preorder instead.
  • Redefined PREORDER and POSET as discussed in Modular Formulation of Preorders, Posets, HeytAlg, etc #32 .
  • Got rid of our homebrewed displayed Category and Grothendieck construction, and used the library's instead. Luckily the definitions were basically identical modulo renaming, so this wasn't bad at all. Redefined Posetᴰ as our notion of DisplayedPoset, and fixed the plumbing for the subcategories where morphisms have left adjs, right adjs, and both.
  • A cool fact -- there were no issues in Hyperdoctrine as our definition of Grothendieck was identical to ∫C!
  • Fixed the CI pipeline line ending complaint as well.

Copy link
Owner

@maxsnew maxsnew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a few fixes

variable
ℓC ℓC' ℓCᴰ ℓCᴰ' : Level

record Posetᴰ (C : Category ℓC ℓC') ℓCᴰ ℓCᴰ' :
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be Preorderᴰ since it doesn't require univalence/anti-symmetry

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also should probably document somewhere that these are equivalent to categories with a faithful functor into C.

Copy link
Collaborator Author

@GenericMonkey GenericMonkey Jul 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the functor and the faithful proof from Grothendieck.agda to Displayed/Preorder.agda.

Cubical/Relation/Binary/Preorder.agda Outdated Show resolved Hide resolved
Cubical/Categories/Instances/Preorders/Monotone.agda Outdated Show resolved Hide resolved
module _ {C : Category ℓC ℓC'} where
open Functor

Fst : {Cᴰ : Categoryᴰ C ℓCᴰ ℓCᴰ'} → Functor (∫C Cᴰ) C
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should go in Displayed.Base upstream but for now put it in Displayed.Base.More so we know to do that when we PR. It certainly doesn't belong in Displayed.Preorder

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@maxsnew maxsnew merged commit 36c6bea into maxsnew:main Jul 20, 2023
2 checks passed
@GenericMonkey GenericMonkey linked an issue Jul 20, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Modular Formulation of Preorders, Posets, HeytAlg, etc
2 participants