The rewrite relation of the following TRS is considered.
fact(X) | → | if(zero(X),n__s(0),n__prod(X,fact(p(X)))) | (1) |
add(0,X) | → | X | (2) |
add(s(X),Y) | → | s(add(X,Y)) | (3) |
prod(0,X) | → | 0 | (4) |
prod(s(X),Y) | → | add(Y,prod(X,Y)) | (5) |
if(true,X,Y) | → | activate(X) | (6) |
if(false,X,Y) | → | activate(Y) | (7) |
zero(0) | → | true | (8) |
zero(s(X)) | → | false | (9) |
p(s(X)) | → | X | (10) |
s(X) | → | n__s(X) | (11) |
prod(X1,X2) | → | n__prod(X1,X2) | (12) |
activate(n__s(X)) | → | s(X) | (13) |
activate(n__prod(X1,X2)) | → | prod(X1,X2) | (14) |
activate(X) | → | X | (15) |
fact#(X) | → | if#(zero(X),n__s(0),n__prod(X,fact(p(X)))) | (16) |
fact#(X) | → | zero#(X) | (17) |
fact#(X) | → | fact#(p(X)) | (18) |
fact#(X) | → | p#(X) | (19) |
add#(s(X),Y) | → | s#(add(X,Y)) | (20) |
add#(s(X),Y) | → | add#(X,Y) | (21) |
prod#(s(X),Y) | → | add#(Y,prod(X,Y)) | (22) |
prod#(s(X),Y) | → | prod#(X,Y) | (23) |
if#(true,X,Y) | → | activate#(X) | (24) |
if#(false,X,Y) | → | activate#(Y) | (25) |
activate#(n__s(X)) | → | s#(X) | (26) |
activate#(n__prod(X1,X2)) | → | prod#(X1,X2) | (27) |
fact#(X) | → | if#(zero(X),n__s(0),n__prod(X,fact(p(X)))) | (16) |
fact#(X) | → | zero#(X) | (17) |
fact#(X) | → | p#(X) | (19) |
add#(s(X),Y) | → | s#(add(X,Y)) | (20) |
add#(s(X),Y) | → | add#(X,Y) | (21) |
prod#(s(X),Y) | → | add#(Y,prod(X,Y)) | (22) |
prod#(s(X),Y) | → | prod#(X,Y) | (23) |
if#(true,X,Y) | → | activate#(X) | (24) |
if#(false,X,Y) | → | activate#(Y) | (25) |
activate#(n__s(X)) | → | s#(X) | (26) |
activate#(n__prod(X1,X2)) | → | prod#(X1,X2) | (27) |
fact(X) | → | if(zero(X),n__s(0),n__prod(X,fact(p(X)))) | (1) |
add(0,X) | → | X | (2) |
add(s(X),Y) | → | s(add(X,Y)) | (3) |
prod(0,X) | → | 0 | (4) |
prod(s(X),Y) | → | add(Y,prod(X,Y)) | (5) |
if(true,X,Y) | → | activate(X) | (6) |
if(false,X,Y) | → | activate(Y) | (7) |
zero(0) | → | true | (8) |
zero(s(X)) | → | false | (9) |
s(X) | → | n__s(X) | (11) |
prod(X1,X2) | → | n__prod(X1,X2) | (12) |
activate(n__s(X)) | → | s(X) | (13) |
activate(n__prod(X1,X2)) | → | prod(X1,X2) | (14) |
activate(X) | → | X | (15) |
p(s(x0)) |
p(s(X)) | → | X | (10) |
fact#(p(z0)) | → | fact#(p(p(z0))) | (28) |
fact#(p(p(z0))) | → | fact#(p(p(p(z0)))) | (29) |
We restrict the innermost strategy to the following left hand sides.
There are no lhss.
t0 | = | fact#(p(p(z0))) |
→P | fact#(p(p(p(z0)))) | |
= | t1 |