29 lines
582 B
Agda
29 lines
582 B
Agda
module 0Trinitarianism.Quest2Solutions where
|
||
|
||
open import 0Trinitarianism.Preambles.P2
|
||
|
||
isEven : ℕ → Type
|
||
isEven zero = ⊤
|
||
isEven (suc zero) = ⊥
|
||
isEven (suc (suc n)) = isEven n
|
||
|
||
existsEven : Σ ℕ isEven
|
||
existsEven = 4 , tt
|
||
|
||
_×_ : Type → Type → Type
|
||
A × C = Σ A (λ a → C)
|
||
|
||
div2 : Σ ℕ isEven → ℕ
|
||
div2 (0 , tt) = 0
|
||
div2 (suc (suc n) , hn) = suc (div2 (n , hn))
|
||
|
||
private
|
||
postulate
|
||
A B C : Type
|
||
|
||
uncurry : (A → B → C) → (A × B → C)
|
||
uncurry f (fst₁ , snd₁) = f fst₁ snd₁
|
||
|
||
curry : (A × B → C) → (A → B → C)
|
||
curry f a b = f (a , b)
|