-
Couldn't load subscription status.
- Fork 156
Improvements to Univalence.agda #1237
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
base: master
Are you sure you want to change the base?
Conversation
|
fixing |
|
Sounds like very good improvements to me. Let me know when it's ready for review and I'll take a closer look |
|
So there is literally an unused better definition of pathToEquiv in Agda.Builtin.Cubical, so I'm gonna get rid of the current |
|
(Mentioned this on Discord, repeating here for the record) We added a definition of |
|
The current definition of |
|
I could also change the definition of |
|
Once we have identity systems defined (#1254) I'll also prove that equivalences are an identity system and derive the computation rule for |
I had a few gripes with this file. First of all, I noticed that
ua→andua→⁻used transports unnecessarily, so I rewrote them and made it simpler, and while I was at it I also proved thatua→is an equivalence. For this I needed the lemmaua-unglueIsoand I also addedcommSqIsEq'toEquiv.agdawhich proves the other triangle identity for equivalences. I also rewroteuaInvEquivanduaCompEquivto use a direct proof instead ofEquivJ. I also noticed that almost all the definitions in the module took{A B : Type ℓ}as implicit arguments, so I made them into private variables.Also, I noticed the comment
-- TODO: there should be a direct proof of this that doesn't use equivToIsoaboutinvEquivso I might fix that in this PR as well later.