Problem:
ap(f(),x) -> x
ap(ap(ap(g(),x),y),ap(s(),z)) -> ap(ap(ap(g(),x),y),ap(ap(x,y),0()))
Proof:
Uncurry Processor:
f1(x) -> x
g3(x,y,s1(z)) -> g3(x,y,ap(ap(x,y),0()))
ap(f(),x5) -> f1(x5)
ap(g2(x4,x3),x5) -> g3(x4,x3,x5)
ap(g1(x4),x5) -> g2(x4,x5)
ap(g(),x5) -> g1(x5)
ap(s(),x5) -> s1(x5)
Unfolding Processor:
loop length: 4
terms:
g3(f(),s(),s1(z))
g3(f(),s(),ap(ap(f(),s()),0()))
g3(f(),s(),ap(f1(s()),0()))
g3(f(),s(),ap(s(),0()))
context: []
substitution:
z -> 0()
Qed