Kind/book/Kind.reduce.mat.kind2

19 lines
570 B
Plaintext
Raw Normal View History

2024-02-21 01:23:15 +03:00
Kind.reduce.mat
: ∀(maj: Bool)
∀(nam: String)
∀(x: Kind.Term)
∀(z: Kind.Term)
2024-03-02 02:40:31 +03:00
∀(s: ∀(x: Kind.Term) Kind.Term)
∀(p: ∀(x: Kind.Term) Kind.Term)
2024-02-21 01:23:15 +03:00
Kind.Term
= λmaj λnam λx λz λs λp
use P = ∀(z: Kind.Term) ∀(s: ∀(x: Kind.Term) Kind.Term)
2024-03-02 02:40:31 +03:00
Kind.Term
use Y = λx.val
2024-02-21 01:23:15 +03:00
#match x = x.val {
#0: λz λs (Kind.reduce maj z)
2024-03-02 02:40:31 +03:00
#+: λz λs (Kind.reduce maj (s (Kind.num x-1)))
}: ∀(z: Kind.Term) ∀(s: ∀(x: Kind.Term) Kind.Term)
Kind.Term
use N = λx λz λs (Kind.mat nam x z s p)
2024-03-02 02:40:31 +03:00
(Kind.if.num x P Y N z s)