-
Notifications
You must be signed in to change notification settings - Fork 247
Add isMonotone Definition for Poset #2718
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
Comments
See #2580 .
For Here, IIUC, this proposal inverts that order by going There may be something more categorical to say about 'fullness' of various subcategories (and faithfulness of forgetful functors) here, but I think that would obscure the picture... |
I guess the most basic |
There are definitely some organizational reasons to prefer homomorphisms between raw structures, but this does not play out well in practice IME. The reasons for this are a bit subtle though. Suppose we had a definition of monotonicity like record RawPreorder (c ℓ₁ ℓ₂ : Level) : Set (suc (c ⊔ ℓ₁ ⊔ ℓ₂)) where
field
Carrier : Set c
_≈_ : Rel Carrier ℓ₁ -- The underlying equality.
_≲_ : Rel Carrier ℓ₂ -- The relation.
record IsRawPreorderHomomorphism
(P : RawPreorder c ℓ₁ ℓ₂) (Q : RawPreorder c′ ℓ₁′ ℓ₂′)
(f : RawPreorder.Carrier P → RawPreorder.Carrier Q)
: Set _
field
-- Whatever you want here, doesn't really matter. Now, suppose that you have a theorem about preorder homomorphisms that requires |
Hmmm... not sure what your point is here @TOTBWF ? That wrt a given category, that As for not being able to supply arguments to lemmas as implicitly as one would maximally prefer... that's a compromise made throughout the library, with a default heuristic of more, rather than less, explicit. At least IIUC. |
Sorry, should have been more clear! In general, one should aim to be able to infer bundles/structures from their morphisms. Deviating from this leads to yellow when you try to compose two morphisms. As for Poset/Preorder, this is a holdover from the 1Lab code that this was ported from. We found our order theory hierarchy atop Posets, which is the natural choice in univalent foundations. This probably isn't the right choice for the stdlib. |
It may be that we need (?) to follow |
I propose adding the following definition to represent monotone (order-preserving) functions between posets:
Feedback on the definition, naming, and module placement is welcome.
The text was updated successfully, but these errors were encountered: