η for box

fixes #27
This commit is contained in:
rhiannon morris 2023-09-17 19:10:46 +02:00
parent e1257560b7
commit b85dcb5402
4 changed files with 86 additions and 21 deletions

View file

@ -5,3 +5,4 @@ load "maybe.quox"
load "nat.quox"
load "pair.quox"
load "list.quox"
load "eta.quox"

13
examples/eta.quox Normal file
View file

@ -0,0 +1,13 @@
namespace eta {
def0 Π : (A : ★) → (A → ★) → ★ = λ A B ⇒ (x : A) → B x
def0 function : (A : ★) → (B : A → Type) → (P : Π A B → ★) → (f : Π A B) →
P (λ x ⇒ f x) → P f =
λ A B P f p ⇒ p
def0 box : (A : ★) → (P : [ω.A] → ★) → (e : [ω.A]) →
P [case1 e return A of {[x] ⇒ x}] → P e =
λ A P e p ⇒ p
}