Alphabet

0:N
false:B
g:N → B
h:N → (N → B) → N → B
iszero:N → N → B
rec:(N → (N → B) → N → B) → B → N → B
s:N → N
true:B

Variables

F:N → (N → B) → N → B
Z:N → B
G:N → (N → B) → N → B
H:N → B
W:N
P:N
X1:N
Z1:N → B
U1:N
V1:N
W1:N

Rules

rec · F · (Z · 0)Z
rec · G · (H · (s · W))G · W · (rec · G · (H · W))
g · Ptrue
h · X1 · Z1 · U1false
iszero · V1 · W1rec · h · (g · V1) · W1