You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When messing around with some ideas that @cangiuli had regarding records, I came across the following crash:
import prelude
import hlevel
-- Equivalences.
def fiber (A : type) (B : type) (f : A → B) (b : B) : type := (a : A) × path B {f a} b
def is-equiv (A : type) (B : type) (f : A → B) : type := (b : B) → is-contr {fiber A B f b}
def equiv (A : type) (B : type) : type := (f : A → B) × is-equiv A B f
def equiv/id (A : type) : equiv A A :=
[ x => x,
x => [
[ x , i => x ],
fib i =>
let aux : 𝕀 → A := j =>
hcom A 1 j {∂ i} {j _ => [
| j=1 ∨ i=0 => x
| i=1 => {snd fib} j
]
}
in [ aux 0, aux ]
]
]
#normalize {equiv/id {(x : type) × x}}
When messing around with some ideas that @cangiuli had regarding records, I came across the following crash:
This crashes with:
I suspect that there's something fishy going on here with
hcom_sg
... It's worth noting this is fine for say,(x : type) × nat
The text was updated successfully, but these errors were encountered: