Problem: fact(X) -> if(zero(X),n__s(0()),n__prod(X,fact(p(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)) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) zero(0()) -> true() zero(s(X)) -> false() p(s(X)) -> X s(X) -> n__s(X) prod(X1,X2) -> n__prod(X1,X2) activate(n__s(X)) -> s(X) activate(n__prod(X1,X2)) -> prod(X1,X2) activate(X) -> X Proof: Containment Processor: loop length: 1 terms: fact(X) context: if(zero(X),n__s(0()),n__prod(X,[])) substitution: X -> p(X) Qed