agda / cubical

An experimental library for Cubical Agda
https://agda.github.io/cubical/Cubical.README.html
Other
447 stars 136 forks source link

Remove mentions of the Id type #1005

Closed plt-amy closed 12 months ago

plt-amy commented 1 year ago

With the addition of indexed inductive types to Cubical Agda, having the built-in cubical identity type is redundant, since it has exactly the same computational behaviour as the indexed equality. However, cubical identity has its own support code for pattern matching, the Kan operations, and its magic type checking rule, which is now for no benefit. This PR removes the mentions of it from the library so I can remove it from Agda.

maxsnew commented 1 year ago

Is there somewhere I can read about this change? I just started using Cubical.Foundations.Id in a development so I don't understand how I am supposed to update my code

JonasHoefer commented 1 year ago

@maxsnew The inductively defined equality type in Cubical.Data.Equality has the same computational behavior as the one in Cubical.Foundations.Id and mostly the same interface. Furthermore, #1011 extends the module Cubical.Data.Equality slightly.

ecavallo commented 1 year ago

OK by me

felixwellen commented 1 year ago

Did you notice the conflicts? Some large part of the issue addressed here was resolved in a different way in #1011

felixwellen commented 1 year ago

Something that was done here, but not in #1011 is deletion of things like Cubical.Core.Id, which I guess, would be good.

mortberg commented 1 year ago

Oops, I missed that.. Can @plt-amy update the PR to fix the conflicts and then we can merge?

plt-amy commented 1 year ago

Sure, I'll have a look later today 🙂

mortberg commented 12 months ago

Looks good to me! Is this ready to be merged?

felixwellen commented 12 months ago

Looks good (and ready) to me