Alphabet

f:[o × o → o] ⟶ o
g:[o × o × o → o] ⟶ o
b:o
a:o

Variables

x:o
y:o
F:o → o

Rules

g(x, y, F)f(f(x, F), F)
f(x, F)b
ba
f(b, λz:o.g(z, z, F))g(f(a, λz:o.g(z, z, F)), f(b, λz:o.b), F)