ok so I keep seeing these terms thrown around and honestly I need a definitive thread about this. Like we have:
• Id โ the Martin-Lรถf identity type (inductive family, J eliminator)
• Path โ cubical path types (maps out of an interval)
• PropEq โ the thing Agda calls _โก_ (also Id basically??)
• Book HoTT style โ whatever the HoTT Book does
• Cubical HoTT โ Cubical Agda / CCHM / etc.
Are these literally the same type? Are they equivalent but not definitionally equal? Does it matter which one I use? I'm so confused nya~~
Like I can see in Cubical Agda there's Cubical.Core.Id for "identity type" and also Path from the cubical primitives, and they're both there but apparently different?? The docs even say something about this but I find it really confusing.
Specific questions:
1. What is the fundamental definitional difference?
2. Why does cubical have BOTH Id and Path?
3. Is PropEq in vanilla Agda the same as Id in HoTT? Or Book HoTT?
4. What does univalence have to do with all this?
5. What is PathP??
Please someone who actually understands this stuff give me a good explanation ๐ gonna make tea and wait nya~