make function types with an empty domain subsingletons

this is useful for the base cases of W types when i try those again

closes #23
This commit is contained in:
rhiannon morris 2023-09-17 20:09:33 +02:00
parent 244b33d786
commit 3fe9b96f05
2 changed files with 54 additions and 6 deletions

View file

@ -1,3 +1,5 @@
load "misc.quox"
namespace eta {
def0 Π : (A : ★) → (A → ★) → ★ = λ A B ⇒ (x : A) → B x
@ -10,4 +12,9 @@ def0 box : (A : ★) → (P : [ω.A] → ★) → (e : [ω.A]) →
P [case1 e return A of {[x] ⇒ x}] → P e =
λ A P e p ⇒ p
-- not exactly η, but kinda related
def0 from-false : (A : ★) → (P : (False → A) → ★) → (f : False → A) →
P (λ x ⇒ void A x) → P f =
λ A P f p ⇒ p
}