mirror of
https://github.com/HigherOrderCO/Kind.git
synced 2024-09-11 20:47:25 +03:00
42 lines
783 B
Plaintext
42 lines
783 B
Plaintext
QBool.match
|
|
: ∀(a: QBool)
|
|
∀(P: ∀(x: QBool) *)
|
|
∀(t: (P QBool.true))
|
|
∀(f: (P QBool.false))
|
|
(P a)
|
|
= λa λP λt λf
|
|
(~(~a P)
|
|
λx (P a)
|
|
λtag
|
|
#match tag = tag {
|
|
#0: λx (x t)
|
|
#+: λx
|
|
(#match tag_1 = tag-1 {
|
|
#0: λx (x f)
|
|
#+: λx (x λe (Empty.absurd e *))
|
|
}: ∀(x:
|
|
∀(x:
|
|
#match tag_1 = tag_1 {
|
|
#0: (P QBool.false)
|
|
#+: ∀(x: Empty) *
|
|
}: *
|
|
)
|
|
(P a)
|
|
)
|
|
(P a)
|
|
x
|
|
)
|
|
}: ∀(x:
|
|
∀(x:
|
|
#match tag = tag {
|
|
#0: (P QBool.true)
|
|
#+: #match tag_1 = tag-1 {
|
|
#0: (P QBool.false)
|
|
#+: ∀(x: Empty) *
|
|
}: *
|
|
}: *
|
|
)
|
|
(P a)
|
|
)
|
|
(P a)
|
|
) |