Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Some extensions of the fundamental theorem of identity types #1243
base: master
Are you sure you want to change the base?
Some extensions of the fundamental theorem of identity types #1243
Changes from all commits
bc13587
7224734
e6d9ec6
8cfd888
92b0358
8844fcb
a58c9cc
82bbf22
3b7c9dc
612d84c
1108291
f37ef88
231f43b
b50fde7
77a73a4
0744c3f
c2f255e
71a526a
d88be88
0f950e2
13d1eaf
70929fd
2e284ce
d705788
daee207
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In situations like this, where you want to redefine something with a different axiom, it is a question whether it is a good idea to replace the old definition, or whether to keep a version of it around while also defining the new version.
I think it could be a good idea to keep the old version around under some name, because it is clearly a condition that could come up sometimes, and under the current proposal of this PR we won't have that old definition in the library anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I'd currently like to think of the previous definition as "deprecated", I don't have a good rebuttal for the proposal to keep it. However, I'd like to give it a name that makes it clear it is an inferior condition. Perhaps we can call it
"quasipreunivalent" or"weakly preunivalent"?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Calling these categories "weakly preunivalent" creates a strange situation though, because weak preunivalent categories would then satisfy the preunivalence axiom, and preunivalent categories would satisfy the strong preunivalence axiom. This can only create confusion.
I'd propose keeping the name "Preunivalent categories" for the old concept, and indeed not changing the name "preunivalence" in foundation either. Preunivalence is a somewhat established concept, that other people like Martin Escardo, Evan Cavallo, and Peter Lumsdaine are also interested in. Then we could name the new concept "Strongly preunivalent categories", which is in line with the name for the new axiom that you came up with.
That's quite a mouthful, but it could be an advantage. If people don't like the name "strongly preunivalent category" they have an obvious alternative: Bakke categories :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fiiiiine, we'll call them strongly preunivalent. Is it okay if we remove most mentions of preunivalent categories over strongly preunivalent categories though? The preunivalence axiom (for all types) has the advantage over preunivalence for categories, AFAIK, that one can metatheoretically prove that
id-equiv : {l : Level} {X : UU l} -> X ≃ X
is the only type-polymorphic function of this signature, while for categories it is possible that one indeed has multiple families of morphisms of type(x : obj C) -> iso C x x
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's fine. Thank you so much for doing that.
Could you also include some discussion of why you think the stronger version has advantages? You've clearly thought deeply about these conditions and I could definitely learn from it if you'd write it down carefully.