-
Notifications
You must be signed in to change notification settings - Fork 137
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
Fundamental theorem of identity types #614
Conversation
Nice! I seem to recall that Egbert used this theorem to derive |
I guess there will be no substantial difference. The theorem is also not so far from encode-decode, but I haven't thought about the exact relation (to which version...) for some time. For me, the fundamental theorem is just easier to remember/think about because it looks more like a universal property. |
Right, I guess what I'm really asking is exactly how it relates to encode-decode. |
Ok, let's say we fix
|
isEquivFromIsContr : {A : Type ℓ} {B : Type ℓ′} | ||
→ (f : A → B) → isContr A → isContr B | ||
→ isEquiv f | ||
isEquivFromIsContr f isContrA isContrB = |
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.
Hmm, can't one prove that this is an equivalence directly? I feel like it might be easier, but I might be wrong in which case this proof is fine...
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.
I made a direct proof. It avoids isoToEquiv, but it doesn't look better. But that might be due to me avoiding cubical primitives...
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.
Note there is also a isContr→Equiv
in Foundations.Equiv
.
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, but I thought that might be a bit awkward to use to show, that some particular function is an equivalence.
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.
But I guess my proof would look nicer, if I use that.
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.
Ok, it does look better.
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.
Yeah, that looks good!
Thanks! This was helpful :-) I would be happy to merge this once the question about this one proof has been answered |
A basic characterization of the identity type. This can be used to compute identity types.