Problem:
if(true()) -> X
if(false()) -> Y
fact(X) -> if(zero(X))
add(0(),X) -> X
add(s(X),Y) -> s(add(X,Y))
prod(0(),X) -> 0()
prod(s(X),Y) -> add(Y,prod(X,Y))
zero(0()) -> true()
zero(s(X)) -> false()
p(s(X)) -> X
Proof:
Fresh Variable Processor: loop length: 1
terms:
if(true())
context: []
substitution:
X -> if(true())
Qed