0.64/0.73 YES 0.64/0.73 0.64/0.73 Problem 1: 0.64/0.73 0.64/0.73 (VAR v_NonEmpty:S N:S X:S X1:S X2:S Y:S Z:S) 0.64/0.73 (RULES 0.64/0.73 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.73 active(add(0,X:S)) -> mark(X:S) 0.64/0.73 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.73 active(dbl(0)) -> mark(0) 0.64/0.73 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.73 active(first(0,X:S)) -> mark(nil) 0.64/0.73 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.73 active(sqr(0)) -> mark(0) 0.64/0.73 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.73 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.73 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.73 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.73 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.73 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.73 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.73 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.73 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.73 dbl(active(X:S)) -> dbl(X:S) 0.64/0.73 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.73 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.73 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.73 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.73 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.73 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.73 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.73 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.73 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.73 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.73 mark(s(X:S)) -> active(s(X:S)) 0.64/0.73 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.73 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.73 mark(0) -> active(0) 0.64/0.73 mark(nil) -> active(nil) 0.64/0.73 recip(active(X:S)) -> recip(X:S) 0.64/0.73 recip(mark(X:S)) -> recip(X:S) 0.64/0.73 s(active(X:S)) -> s(X:S) 0.64/0.73 s(mark(X:S)) -> s(X:S) 0.64/0.73 sqr(active(X:S)) -> sqr(X:S) 0.64/0.73 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.73 terms(active(X:S)) -> terms(X:S) 0.64/0.73 terms(mark(X:S)) -> terms(X:S) 0.64/0.73 ) 0.64/0.73 (STRATEGY INNERMOST) 0.64/0.73 0.64/0.73 Problem 1: 0.64/0.73 0.64/0.73 Dependency Pairs Processor: 0.64/0.73 -> Pairs: 0.64/0.73 ACTIVE(add(s(X:S),Y:S)) -> ADD(X:S,Y:S) 0.64/0.73 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.64/0.73 ACTIVE(add(s(X:S),Y:S)) -> S(add(X:S,Y:S)) 0.64/0.73 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.73 ACTIVE(dbl(s(X:S))) -> DBL(X:S) 0.64/0.73 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.73 ACTIVE(dbl(s(X:S))) -> S(dbl(X:S)) 0.64/0.73 ACTIVE(dbl(s(X:S))) -> S(s(dbl(X:S))) 0.64/0.74 ACTIVE(dbl(0)) -> MARK(0) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> CONS(Y:S,first(X:S,Z:S)) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> FIRST(X:S,Z:S) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 ACTIVE(first(0,X:S)) -> MARK(nil) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> ADD(sqr(X:S),dbl(X:S)) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> DBL(X:S) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> S(add(sqr(X:S),dbl(X:S))) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> SQR(X:S) 0.64/0.74 ACTIVE(sqr(0)) -> MARK(0) 0.64/0.74 ACTIVE(terms(N:S)) -> CONS(recip(sqr(N:S)),terms(s(N:S))) 0.64/0.74 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 ACTIVE(terms(N:S)) -> RECIP(sqr(N:S)) 0.64/0.74 ACTIVE(terms(N:S)) -> S(N:S) 0.64/0.74 ACTIVE(terms(N:S)) -> SQR(N:S) 0.64/0.74 ACTIVE(terms(N:S)) -> TERMS(s(N:S)) 0.64/0.74 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 DBL(active(X:S)) -> DBL(X:S) 0.64/0.74 DBL(mark(X:S)) -> DBL(X:S) 0.64/0.74 FIRST(active(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(mark(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(add(X1:S,X2:S)) -> ADD(mark(X1:S),mark(X2:S)) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> CONS(mark(X1:S),X2:S) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.74 MARK(dbl(X:S)) -> DBL(mark(X:S)) 0.64/0.74 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(first(X1:S,X2:S)) -> FIRST(mark(X1:S),mark(X2:S)) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.74 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.74 MARK(recip(X:S)) -> RECIP(mark(X:S)) 0.64/0.74 MARK(s(X:S)) -> ACTIVE(s(X:S)) 0.64/0.74 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.74 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.74 MARK(sqr(X:S)) -> SQR(mark(X:S)) 0.64/0.74 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.74 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.74 MARK(terms(X:S)) -> TERMS(mark(X:S)) 0.64/0.74 RECIP(active(X:S)) -> RECIP(X:S) 0.64/0.74 RECIP(mark(X:S)) -> RECIP(X:S) 0.64/0.74 S(active(X:S)) -> S(X:S) 0.64/0.74 S(mark(X:S)) -> S(X:S) 0.64/0.74 SQR(active(X:S)) -> SQR(X:S) 0.64/0.74 SQR(mark(X:S)) -> SQR(X:S) 0.64/0.74 TERMS(active(X:S)) -> TERMS(X:S) 0.64/0.74 TERMS(mark(X:S)) -> TERMS(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 0.64/0.74 Problem 1: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 ACTIVE(add(s(X:S),Y:S)) -> ADD(X:S,Y:S) 0.64/0.74 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.64/0.74 ACTIVE(add(s(X:S),Y:S)) -> S(add(X:S,Y:S)) 0.64/0.74 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.74 ACTIVE(dbl(s(X:S))) -> DBL(X:S) 0.64/0.74 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.74 ACTIVE(dbl(s(X:S))) -> S(dbl(X:S)) 0.64/0.74 ACTIVE(dbl(s(X:S))) -> S(s(dbl(X:S))) 0.64/0.74 ACTIVE(dbl(0)) -> MARK(0) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> CONS(Y:S,first(X:S,Z:S)) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> FIRST(X:S,Z:S) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 ACTIVE(first(0,X:S)) -> MARK(nil) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> ADD(sqr(X:S),dbl(X:S)) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> DBL(X:S) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> S(add(sqr(X:S),dbl(X:S))) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> SQR(X:S) 0.64/0.74 ACTIVE(sqr(0)) -> MARK(0) 0.64/0.74 ACTIVE(terms(N:S)) -> CONS(recip(sqr(N:S)),terms(s(N:S))) 0.64/0.74 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 ACTIVE(terms(N:S)) -> RECIP(sqr(N:S)) 0.64/0.74 ACTIVE(terms(N:S)) -> S(N:S) 0.64/0.74 ACTIVE(terms(N:S)) -> SQR(N:S) 0.64/0.74 ACTIVE(terms(N:S)) -> TERMS(s(N:S)) 0.64/0.74 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 DBL(active(X:S)) -> DBL(X:S) 0.64/0.74 DBL(mark(X:S)) -> DBL(X:S) 0.64/0.74 FIRST(active(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(mark(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(add(X1:S,X2:S)) -> ADD(mark(X1:S),mark(X2:S)) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> CONS(mark(X1:S),X2:S) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.74 MARK(dbl(X:S)) -> DBL(mark(X:S)) 0.64/0.74 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(first(X1:S,X2:S)) -> FIRST(mark(X1:S),mark(X2:S)) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.74 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.74 MARK(recip(X:S)) -> RECIP(mark(X:S)) 0.64/0.74 MARK(s(X:S)) -> ACTIVE(s(X:S)) 0.64/0.74 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.74 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.74 MARK(sqr(X:S)) -> SQR(mark(X:S)) 0.64/0.74 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.74 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.74 MARK(terms(X:S)) -> TERMS(mark(X:S)) 0.64/0.74 RECIP(active(X:S)) -> RECIP(X:S) 0.64/0.74 RECIP(mark(X:S)) -> RECIP(X:S) 0.64/0.74 S(active(X:S)) -> S(X:S) 0.64/0.74 S(mark(X:S)) -> S(X:S) 0.64/0.74 SQR(active(X:S)) -> SQR(X:S) 0.64/0.74 SQR(mark(X:S)) -> SQR(X:S) 0.64/0.74 TERMS(active(X:S)) -> TERMS(X:S) 0.64/0.74 TERMS(mark(X:S)) -> TERMS(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 TERMS(active(X:S)) -> TERMS(X:S) 0.64/0.74 TERMS(mark(X:S)) -> TERMS(X:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 SQR(active(X:S)) -> SQR(X:S) 0.64/0.74 SQR(mark(X:S)) -> SQR(X:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 S(active(X:S)) -> S(X:S) 0.64/0.74 S(mark(X:S)) -> S(X:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 RECIP(active(X:S)) -> RECIP(X:S) 0.64/0.74 RECIP(mark(X:S)) -> RECIP(X:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 FIRST(active(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(mark(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 DBL(active(X:S)) -> DBL(X:S) 0.64/0.74 DBL(mark(X:S)) -> DBL(X:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.64/0.74 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.74 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.74 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.74 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.74 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.74 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.74 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.74 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 0.64/0.74 0.64/0.74 The problem is decomposed in 9 subproblems. 0.64/0.74 0.64/0.74 Problem 1.1: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 TERMS(active(X:S)) -> TERMS(X:S) 0.64/0.74 TERMS(mark(X:S)) -> TERMS(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(TERMS) = 1 0.64/0.74 0.64/0.74 Problem 1.1: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.2: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 SQR(active(X:S)) -> SQR(X:S) 0.64/0.74 SQR(mark(X:S)) -> SQR(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(SQR) = 1 0.64/0.74 0.64/0.74 Problem 1.2: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.3: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 S(active(X:S)) -> S(X:S) 0.64/0.74 S(mark(X:S)) -> S(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(S) = 1 0.64/0.74 0.64/0.74 Problem 1.3: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.4: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 RECIP(active(X:S)) -> RECIP(X:S) 0.64/0.74 RECIP(mark(X:S)) -> RECIP(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(RECIP) = 1 0.64/0.74 0.64/0.74 Problem 1.4: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.5: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 FIRST(active(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(mark(X1:S),X2:S) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(FIRST) = 1 0.64/0.74 0.64/0.74 Problem 1.5: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 0.64/0.74 Problem 1.5: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 FIRST(X1:S,active(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 FIRST(X1:S,mark(X2:S)) -> FIRST(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(FIRST) = 2 0.64/0.74 0.64/0.74 Problem 1.5: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.6: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 DBL(active(X:S)) -> DBL(X:S) 0.64/0.74 DBL(mark(X:S)) -> DBL(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(DBL) = 1 0.64/0.74 0.64/0.74 Problem 1.6: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.7: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(CONS) = 1 0.64/0.74 0.64/0.74 Problem 1.7: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 0.64/0.74 Problem 1.7: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(CONS) = 2 0.64/0.74 0.64/0.74 Problem 1.7: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.8: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(ADD) = 1 0.64/0.74 0.64/0.74 Problem 1.8: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 ->->Cycle: 0.64/0.74 ->->-> Pairs: 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ->->-> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 0.64/0.74 Problem 1.8: 0.64/0.74 0.64/0.74 Subterm Processor: 0.64/0.74 -> Pairs: 0.64/0.74 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Projection: 0.64/0.74 pi(ADD) = 2 0.64/0.74 0.64/0.74 Problem 1.8: 0.64/0.74 0.64/0.74 SCC Processor: 0.64/0.74 -> Pairs: 0.64/0.74 Empty 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 ->Strongly Connected Components: 0.64/0.74 There is no strongly connected component 0.64/0.74 0.64/0.74 The problem is finite. 0.64/0.74 0.64/0.74 Problem 1.9: 0.64/0.74 0.64/0.74 Reduction Pairs Processor: 0.64/0.74 -> Pairs: 0.64/0.74 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.64/0.74 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.74 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.74 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.74 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.74 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.74 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.74 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.74 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.74 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.74 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.74 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.74 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.74 -> Rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.74 recip(mark(X:S)) -> recip(X:S) 0.64/0.74 s(active(X:S)) -> s(X:S) 0.64/0.74 s(mark(X:S)) -> s(X:S) 0.64/0.74 sqr(active(X:S)) -> sqr(X:S) 0.64/0.74 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.74 terms(active(X:S)) -> terms(X:S) 0.64/0.74 terms(mark(X:S)) -> terms(X:S) 0.64/0.74 -> Usable rules: 0.64/0.74 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.74 active(add(0,X:S)) -> mark(X:S) 0.64/0.74 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.74 active(dbl(0)) -> mark(0) 0.64/0.74 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.74 active(first(0,X:S)) -> mark(nil) 0.64/0.74 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.74 active(sqr(0)) -> mark(0) 0.64/0.74 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.74 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.74 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.74 dbl(active(X:S)) -> dbl(X:S) 0.64/0.74 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.74 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.74 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.74 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.74 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.74 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.74 mark(s(X:S)) -> active(s(X:S)) 0.64/0.74 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.74 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.74 mark(0) -> active(0) 0.64/0.74 mark(nil) -> active(nil) 0.64/0.74 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Interpretation type: 0.64/0.75 Linear 0.64/0.75 ->Coefficients: 0.64/0.75 Natural Numbers 0.64/0.75 ->Dimension: 0.64/0.75 1 0.64/0.75 ->Bound: 0.64/0.75 2 0.64/0.75 ->Interpretation: 0.64/0.75 0.64/0.75 [active](X) = X 0.64/0.75 [add](X1,X2) = 2.X1 + 2.X2 + 1 0.64/0.75 [cons](X1,X2) = X1 0.64/0.75 [dbl](X) = 2.X + 2 0.64/0.75 [first](X1,X2) = 2.X1 + 2.X2 0.64/0.75 [mark](X) = 2.X 0.64/0.75 [recip](X) = X 0.64/0.75 [s](X) = 1 0.64/0.75 [sqr](X) = X + 1 0.64/0.75 [terms](X) = 2.X + 2 0.64/0.75 [0] = 0 0.64/0.75 [fSNonEmpty] = 0 0.64/0.75 [nil] = 0 0.64/0.75 [ACTIVE](X) = X + 2 0.64/0.75 [ADD](X1,X2) = 0 0.64/0.75 [CONS](X1,X2) = 0 0.64/0.75 [DBL](X) = 0 0.64/0.75 [FIRST](X1,X2) = 0 0.64/0.75 [MARK](X) = 2.X + 2 0.64/0.75 [RECIP](X) = 0 0.64/0.75 [S](X) = 0 0.64/0.75 [SQR](X) = 0 0.64/0.75 [TERMS](X) = 0 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.75 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 ->->Cycle: 0.64/0.75 ->->-> Pairs: 0.64/0.75 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.75 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 ->->-> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 Reduction Pairs Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.64/0.75 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 -> Usable rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Interpretation type: 0.64/0.75 Linear 0.64/0.75 ->Coefficients: 0.64/0.75 Natural Numbers 0.64/0.75 ->Dimension: 0.64/0.75 1 0.64/0.75 ->Bound: 0.64/0.75 2 0.64/0.75 ->Interpretation: 0.64/0.75 0.64/0.75 [active](X) = X 0.64/0.75 [add](X1,X2) = 2.X1 + 2.X2 + 2 0.64/0.75 [cons](X1,X2) = X1 0.64/0.75 [dbl](X) = X + 1 0.64/0.75 [first](X1,X2) = 2.X1 + 2.X2 + 2 0.64/0.75 [mark](X) = 2.X 0.64/0.75 [recip](X) = X 0.64/0.75 [s](X) = 1 0.64/0.75 [sqr](X) = X + 1 0.64/0.75 [terms](X) = 2.X + 2 0.64/0.75 [0] = 0 0.64/0.75 [fSNonEmpty] = 0 0.64/0.75 [nil] = 1 0.64/0.75 [ACTIVE](X) = X + 2 0.64/0.75 [ADD](X1,X2) = 0 0.64/0.75 [CONS](X1,X2) = 0 0.64/0.75 [DBL](X) = 0 0.64/0.75 [FIRST](X1,X2) = 0 0.64/0.75 [MARK](X) = 2.X + 2 0.64/0.75 [RECIP](X) = 0 0.64/0.75 [S](X) = 0 0.64/0.75 [SQR](X) = 0 0.64/0.75 [TERMS](X) = 0 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 ->->Cycle: 0.64/0.75 ->->-> Pairs: 0.64/0.75 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 ->->-> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 Reduction Pairs Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(dbl(s(X:S))) -> MARK(s(s(dbl(X:S)))) 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 -> Usable rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Interpretation type: 0.64/0.75 Linear 0.64/0.75 ->Coefficients: 0.64/0.75 Natural Numbers 0.64/0.75 ->Dimension: 0.64/0.75 1 0.64/0.75 ->Bound: 0.64/0.75 2 0.64/0.75 ->Interpretation: 0.64/0.75 0.64/0.75 [active](X) = X 0.64/0.75 [add](X1,X2) = X1 + 2.X2 0.64/0.75 [cons](X1,X2) = X1 0.64/0.75 [dbl](X) = 2.X + 2 0.64/0.75 [first](X1,X2) = 2.X1 + 2.X2 + 2 0.64/0.75 [mark](X) = 2.X 0.64/0.75 [recip](X) = X 0.64/0.75 [s](X) = 0 0.64/0.75 [sqr](X) = X + 1 0.64/0.75 [terms](X) = 2.X + 2 0.64/0.75 [0] = 1 0.64/0.75 [fSNonEmpty] = 0 0.64/0.75 [nil] = 2 0.64/0.75 [ACTIVE](X) = X + 2 0.64/0.75 [ADD](X1,X2) = 0 0.64/0.75 [CONS](X1,X2) = 0 0.64/0.75 [DBL](X) = 0 0.64/0.75 [FIRST](X1,X2) = 0 0.64/0.75 [MARK](X) = 2.X + 2 0.64/0.75 [RECIP](X) = 0 0.64/0.75 [S](X) = 0 0.64/0.75 [SQR](X) = 0 0.64/0.75 [TERMS](X) = 0 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 ->->Cycle: 0.64/0.75 ->->-> Pairs: 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 ->->-> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 Reduction Pairs Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(first(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 -> Usable rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Interpretation type: 0.64/0.75 Linear 0.64/0.75 ->Coefficients: 0.64/0.75 Natural Numbers 0.64/0.75 ->Dimension: 0.64/0.75 1 0.64/0.75 ->Bound: 0.64/0.75 2 0.64/0.75 ->Interpretation: 0.64/0.75 0.64/0.75 [active](X) = X 0.64/0.75 [add](X1,X2) = X1 + 2.X2 + 2 0.64/0.75 [cons](X1,X2) = X1 0.64/0.75 [dbl](X) = 2.X + 1 0.64/0.75 [first](X1,X2) = 2.X1 + 2.X2 + 2 0.64/0.75 [mark](X) = 2.X 0.64/0.75 [recip](X) = X + 1 0.64/0.75 [s](X) = 0 0.64/0.75 [sqr](X) = X 0.64/0.75 [terms](X) = 2.X + 2 0.64/0.75 [0] = 0 0.64/0.75 [fSNonEmpty] = 0 0.64/0.75 [nil] = 1 0.64/0.75 [ACTIVE](X) = X + 1 0.64/0.75 [ADD](X1,X2) = 0 0.64/0.75 [CONS](X1,X2) = 0 0.64/0.75 [DBL](X) = 0 0.64/0.75 [FIRST](X1,X2) = 0 0.64/0.75 [MARK](X) = 2.X + 1 0.64/0.75 [RECIP](X) = 0 0.64/0.75 [S](X) = 0 0.64/0.75 [SQR](X) = 0 0.64/0.75 [TERMS](X) = 0 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 ->->Cycle: 0.64/0.75 ->->-> Pairs: 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 ->->-> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 Reduction Pairs Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(sqr(s(X:S))) -> MARK(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 -> Usable rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Interpretation type: 0.64/0.75 Linear 0.64/0.75 ->Coefficients: 0.64/0.75 Natural Numbers 0.64/0.75 ->Dimension: 0.64/0.75 1 0.64/0.75 ->Bound: 0.64/0.75 2 0.64/0.75 ->Interpretation: 0.64/0.75 0.64/0.75 [active](X) = X 0.64/0.75 [add](X1,X2) = X1 + 2.X2 + 2 0.64/0.75 [cons](X1,X2) = X1 0.64/0.75 [dbl](X) = 2.X + 2 0.64/0.75 [first](X1,X2) = 2.X1 + 2.X2 0.64/0.75 [mark](X) = 2.X 0.64/0.75 [recip](X) = X 0.64/0.75 [s](X) = 0 0.64/0.75 [sqr](X) = X + 1 0.64/0.75 [terms](X) = 2.X + 2 0.64/0.75 [0] = 0 0.64/0.75 [fSNonEmpty] = 0 0.64/0.75 [nil] = 0 0.64/0.75 [ACTIVE](X) = X + 2 0.64/0.75 [ADD](X1,X2) = 0 0.64/0.75 [CONS](X1,X2) = 0 0.64/0.75 [DBL](X) = 0 0.64/0.75 [FIRST](X1,X2) = 0 0.64/0.75 [MARK](X) = 2.X + 2 0.64/0.75 [RECIP](X) = 0 0.64/0.75 [S](X) = 0 0.64/0.75 [SQR](X) = 0 0.64/0.75 [TERMS](X) = 0 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 ->->Cycle: 0.64/0.75 ->->-> Pairs: 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 ->->-> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 Reduction Pairs Processor: 0.64/0.75 -> Pairs: 0.64/0.75 ACTIVE(terms(N:S)) -> MARK(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 -> Usable rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Interpretation type: 0.64/0.75 Linear 0.64/0.75 ->Coefficients: 0.64/0.75 Natural Numbers 0.64/0.75 ->Dimension: 0.64/0.75 1 0.64/0.75 ->Bound: 0.64/0.75 2 0.64/0.75 ->Interpretation: 0.64/0.75 0.64/0.75 [active](X) = X 0.64/0.75 [add](X1,X2) = X1 + 2.X2 + 2 0.64/0.75 [cons](X1,X2) = X1 0.64/0.75 [dbl](X) = 2.X + 2 0.64/0.75 [first](X1,X2) = 2.X1 + 2.X2 + 1 0.64/0.75 [mark](X) = 2.X 0.64/0.75 [recip](X) = X 0.64/0.75 [s](X) = 0 0.64/0.75 [sqr](X) = X 0.64/0.75 [terms](X) = 2.X + 2 0.64/0.75 [0] = 0 0.64/0.75 [fSNonEmpty] = 0 0.64/0.75 [nil] = 0 0.64/0.75 [ACTIVE](X) = X + 2 0.64/0.75 [ADD](X1,X2) = 0 0.64/0.75 [CONS](X1,X2) = 0 0.64/0.75 [DBL](X) = 0 0.64/0.75 [FIRST](X1,X2) = 0 0.64/0.75 [MARK](X) = 2.X + 2 0.64/0.75 [RECIP](X) = 0 0.64/0.75 [S](X) = 0 0.64/0.75 [SQR](X) = 0 0.64/0.75 [TERMS](X) = 0 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> ACTIVE(dbl(mark(X:S))) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> ACTIVE(first(mark(X1:S),mark(X2:S))) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> ACTIVE(recip(mark(X:S))) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> ACTIVE(sqr(mark(X:S))) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> ACTIVE(terms(mark(X:S))) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 ->->Cycle: 0.64/0.75 ->->-> Pairs: 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 ->->-> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 Subterm Processor: 0.64/0.75 -> Pairs: 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(dbl(X:S)) -> MARK(X:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X1:S) 0.64/0.75 MARK(first(X1:S,X2:S)) -> MARK(X2:S) 0.64/0.75 MARK(recip(X:S)) -> MARK(X:S) 0.64/0.75 MARK(sqr(X:S)) -> MARK(X:S) 0.64/0.75 MARK(terms(X:S)) -> MARK(X:S) 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Projection: 0.64/0.75 pi(MARK) = 1 0.64/0.75 0.64/0.75 Problem 1.9: 0.64/0.75 0.64/0.75 SCC Processor: 0.64/0.75 -> Pairs: 0.64/0.75 Empty 0.64/0.75 -> Rules: 0.64/0.75 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.64/0.75 active(add(0,X:S)) -> mark(X:S) 0.64/0.75 active(dbl(s(X:S))) -> mark(s(s(dbl(X:S)))) 0.64/0.75 active(dbl(0)) -> mark(0) 0.64/0.75 active(first(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,first(X:S,Z:S))) 0.64/0.75 active(first(0,X:S)) -> mark(nil) 0.64/0.75 active(sqr(s(X:S))) -> mark(s(add(sqr(X:S),dbl(X:S)))) 0.64/0.75 active(sqr(0)) -> mark(0) 0.64/0.75 active(terms(N:S)) -> mark(cons(recip(sqr(N:S)),terms(s(N:S)))) 0.64/0.75 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.64/0.75 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.64/0.75 dbl(active(X:S)) -> dbl(X:S) 0.64/0.75 dbl(mark(X:S)) -> dbl(X:S) 0.64/0.75 first(active(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(mark(X1:S),X2:S) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,active(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 first(X1:S,mark(X2:S)) -> first(X1:S,X2:S) 0.64/0.75 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.64/0.75 mark(dbl(X:S)) -> active(dbl(mark(X:S))) 0.64/0.75 mark(first(X1:S,X2:S)) -> active(first(mark(X1:S),mark(X2:S))) 0.64/0.75 mark(recip(X:S)) -> active(recip(mark(X:S))) 0.64/0.75 mark(s(X:S)) -> active(s(X:S)) 0.64/0.75 mark(sqr(X:S)) -> active(sqr(mark(X:S))) 0.64/0.75 mark(terms(X:S)) -> active(terms(mark(X:S))) 0.64/0.75 mark(0) -> active(0) 0.64/0.75 mark(nil) -> active(nil) 0.64/0.75 recip(active(X:S)) -> recip(X:S) 0.64/0.75 recip(mark(X:S)) -> recip(X:S) 0.64/0.75 s(active(X:S)) -> s(X:S) 0.64/0.75 s(mark(X:S)) -> s(X:S) 0.64/0.75 sqr(active(X:S)) -> sqr(X:S) 0.64/0.75 sqr(mark(X:S)) -> sqr(X:S) 0.64/0.75 terms(active(X:S)) -> terms(X:S) 0.64/0.75 terms(mark(X:S)) -> terms(X:S) 0.64/0.75 ->Strongly Connected Components: 0.64/0.75 There is no strongly connected component 0.64/0.75 0.64/0.75 The problem is finite. 0.64/0.75 EOF