HigherOrderCO / HigherOrderCO/Kind

Equivalence on UnordPair

Open
#586 1 comment 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.