Okay, we have this in Agda:
module I whereopen import Data.Unit
open import Relation.Binary.PropositionalEquality
private variable
A : Set
to : (⊤ → A) → A
to f = f tt
from : A → ⊤ → A
from x _ = x
to∘from : ∀ {A} (x : A) → to (from x) ≡ x
to∘from _ = refl
from∘to : ∀ {A} (x : ⊤ → A) → from (to x) ≡ x
from∘to _ = refl
But it is a bit suspect, and possibly restrictive, at the same time too.
Edit: It's more than suspect but absurd.
No comments:
Post a Comment