HigherOrderCO / HigherOrderCO/Kind
Equivalence on UnordPair
Open
- Dominant language
- Haskell
- Stars
- 3.8k
- Forks
- 152
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/HigherOrderCO/Kind1/blob/master/blog/1-beyond-inductive-datatypes.md#possibility-3-higher-inductive-types
I saw the call for answer here:
```
UPair(A: Type): Type
self(P: UPair(A) -> Type) ->
(make: (a: A) -> (b: A) -> P(UPair.make(A, a,b))) ->
(swap: (a: A) -> (b: A) -> Equal(_, make(a,b), make(b,a))) ->
P(self)
UPair.make(A: Type, a: A, b: A): UPair(A)
(P, make, swap) make(a, b)
```
What happens if you use equivalence class here, not `Equal`?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.