0.00/0.41 YES 0.00/0.41 0.00/0.41 Problem 1: 0.00/0.41 0.00/0.41 (VAR v_NonEmpty:S X:S X1:S X2:S Y:S Z:S) 0.00/0.41 (RULES 0.00/0.41 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.41 active(add(0,X:S)) -> mark(X:S) 0.00/0.41 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.41 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.41 active(fst(0,Z:S)) -> mark(nil) 0.00/0.41 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.41 active(len(nil)) -> mark(0) 0.00/0.41 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.41 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.41 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.41 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.41 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.41 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.41 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.41 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.41 from(active(X:S)) -> from(X:S) 0.00/0.41 from(mark(X:S)) -> from(X:S) 0.00/0.41 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.41 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.41 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.41 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.41 len(active(X:S)) -> len(X:S) 0.00/0.41 len(mark(X:S)) -> len(X:S) 0.00/0.41 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.41 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.41 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.41 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.41 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.41 mark(s(X:S)) -> active(s(X:S)) 0.00/0.41 mark(0) -> active(0) 0.00/0.41 mark(nil) -> active(nil) 0.00/0.41 s(active(X:S)) -> s(X:S) 0.00/0.41 s(mark(X:S)) -> s(X:S) 0.00/0.41 ) 0.00/0.41 (STRATEGY INNERMOST) 0.00/0.41 0.00/0.41 Problem 1: 0.00/0.41 0.00/0.41 Dependency Pairs Processor: 0.00/0.41 -> Pairs: 0.00/0.41 ACTIVE(add(s(X:S),Y:S)) -> ADD(X:S,Y:S) 0.00/0.41 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.00/0.41 ACTIVE(add(s(X:S),Y:S)) -> S(add(X:S,Y:S)) 0.00/0.41 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.41 ACTIVE(from(X:S)) -> CONS(X:S,from(s(X:S))) 0.00/0.41 ACTIVE(from(X:S)) -> FROM(s(X:S)) 0.00/0.41 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.41 ACTIVE(from(X:S)) -> S(X:S) 0.00/0.41 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> CONS(Y:S,fst(X:S,Z:S)) 0.00/0.41 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> FST(X:S,Z:S) 0.00/0.41 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.41 ACTIVE(fst(0,Z:S)) -> MARK(nil) 0.00/0.41 ACTIVE(len(cons(X:S,Z:S))) -> LEN(Z:S) 0.00/0.41 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.41 ACTIVE(len(cons(X:S,Z:S))) -> S(len(Z:S)) 0.00/0.41 ACTIVE(len(nil)) -> MARK(0) 0.00/0.41 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.41 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.41 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.41 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.41 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.41 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.41 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.41 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.41 FROM(active(X:S)) -> FROM(X:S) 0.00/0.41 FROM(mark(X:S)) -> FROM(X:S) 0.00/0.41 FST(active(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.41 FST(mark(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.41 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.41 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.41 LEN(active(X:S)) -> LEN(X:S) 0.00/0.41 LEN(mark(X:S)) -> LEN(X:S) 0.00/0.41 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.41 MARK(add(X1:S,X2:S)) -> ADD(mark(X1:S),mark(X2:S)) 0.00/0.41 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.41 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.41 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.41 MARK(cons(X1:S,X2:S)) -> CONS(mark(X1:S),X2:S) 0.00/0.41 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.41 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.41 MARK(from(X:S)) -> FROM(mark(X:S)) 0.00/0.41 MARK(from(X:S)) -> MARK(X:S) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> FST(mark(X1:S),mark(X2:S)) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.41 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.41 MARK(len(X:S)) -> LEN(mark(X:S)) 0.00/0.41 MARK(len(X:S)) -> MARK(X:S) 0.00/0.41 MARK(s(X:S)) -> ACTIVE(s(X:S)) 0.00/0.41 S(active(X:S)) -> S(X:S) 0.00/0.41 S(mark(X:S)) -> S(X:S) 0.00/0.41 -> Rules: 0.00/0.41 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.41 active(add(0,X:S)) -> mark(X:S) 0.00/0.41 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.41 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.41 active(fst(0,Z:S)) -> mark(nil) 0.00/0.41 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.41 active(len(nil)) -> mark(0) 0.00/0.41 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.41 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.41 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.41 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.41 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.41 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.41 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.41 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.41 from(active(X:S)) -> from(X:S) 0.00/0.41 from(mark(X:S)) -> from(X:S) 0.00/0.41 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.41 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.41 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.41 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.41 len(active(X:S)) -> len(X:S) 0.00/0.41 len(mark(X:S)) -> len(X:S) 0.00/0.41 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.41 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.41 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.41 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.41 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.41 mark(s(X:S)) -> active(s(X:S)) 0.00/0.41 mark(0) -> active(0) 0.00/0.41 mark(nil) -> active(nil) 0.00/0.41 s(active(X:S)) -> s(X:S) 0.00/0.41 s(mark(X:S)) -> s(X:S) 0.00/0.41 0.00/0.41 Problem 1: 0.00/0.41 0.00/0.41 SCC Processor: 0.00/0.41 -> Pairs: 0.00/0.41 ACTIVE(add(s(X:S),Y:S)) -> ADD(X:S,Y:S) 0.00/0.41 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.00/0.41 ACTIVE(add(s(X:S),Y:S)) -> S(add(X:S,Y:S)) 0.00/0.41 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.41 ACTIVE(from(X:S)) -> CONS(X:S,from(s(X:S))) 0.00/0.41 ACTIVE(from(X:S)) -> FROM(s(X:S)) 0.00/0.41 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.41 ACTIVE(from(X:S)) -> S(X:S) 0.00/0.41 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> CONS(Y:S,fst(X:S,Z:S)) 0.00/0.41 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> FST(X:S,Z:S) 0.00/0.41 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.41 ACTIVE(fst(0,Z:S)) -> MARK(nil) 0.00/0.41 ACTIVE(len(cons(X:S,Z:S))) -> LEN(Z:S) 0.00/0.41 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.41 ACTIVE(len(cons(X:S,Z:S))) -> S(len(Z:S)) 0.00/0.41 ACTIVE(len(nil)) -> MARK(0) 0.00/0.41 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.41 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.41 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.41 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.41 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.41 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.41 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.41 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.41 FROM(active(X:S)) -> FROM(X:S) 0.00/0.41 FROM(mark(X:S)) -> FROM(X:S) 0.00/0.41 FST(active(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.41 FST(mark(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.41 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.41 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.41 LEN(active(X:S)) -> LEN(X:S) 0.00/0.41 LEN(mark(X:S)) -> LEN(X:S) 0.00/0.41 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.41 MARK(add(X1:S,X2:S)) -> ADD(mark(X1:S),mark(X2:S)) 0.00/0.41 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.41 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.41 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.41 MARK(cons(X1:S,X2:S)) -> CONS(mark(X1:S),X2:S) 0.00/0.41 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.41 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.41 MARK(from(X:S)) -> FROM(mark(X:S)) 0.00/0.41 MARK(from(X:S)) -> MARK(X:S) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> FST(mark(X1:S),mark(X2:S)) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.41 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.41 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.41 MARK(len(X:S)) -> LEN(mark(X:S)) 0.00/0.41 MARK(len(X:S)) -> MARK(X:S) 0.00/0.41 MARK(s(X:S)) -> ACTIVE(s(X:S)) 0.00/0.41 S(active(X:S)) -> S(X:S) 0.00/0.41 S(mark(X:S)) -> S(X:S) 0.00/0.41 -> Rules: 0.00/0.41 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.41 active(add(0,X:S)) -> mark(X:S) 0.00/0.41 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 S(active(X:S)) -> S(X:S) 0.00/0.42 S(mark(X:S)) -> S(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 LEN(active(X:S)) -> LEN(X:S) 0.00/0.42 LEN(mark(X:S)) -> LEN(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 FST(active(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.42 FST(mark(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 FROM(active(X:S)) -> FROM(X:S) 0.00/0.42 FROM(mark(X:S)) -> FROM(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.00/0.42 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 0.00/0.42 The problem is decomposed in 7 subproblems. 0.00/0.42 0.00/0.42 Problem 1.1: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 S(active(X:S)) -> S(X:S) 0.00/0.42 S(mark(X:S)) -> S(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(S) = 1 0.00/0.42 0.00/0.42 Problem 1.1: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 Empty 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 There is no strongly connected component 0.00/0.42 0.00/0.42 The problem is finite. 0.00/0.42 0.00/0.42 Problem 1.2: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 LEN(active(X:S)) -> LEN(X:S) 0.00/0.42 LEN(mark(X:S)) -> LEN(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(LEN) = 1 0.00/0.42 0.00/0.42 Problem 1.2: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 Empty 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 There is no strongly connected component 0.00/0.42 0.00/0.42 The problem is finite. 0.00/0.42 0.00/0.42 Problem 1.3: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 FST(active(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.42 FST(mark(X1:S),X2:S) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(FST) = 1 0.00/0.42 0.00/0.42 Problem 1.3: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.3: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 FST(X1:S,active(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 FST(X1:S,mark(X2:S)) -> FST(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(FST) = 2 0.00/0.42 0.00/0.42 Problem 1.3: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 Empty 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 There is no strongly connected component 0.00/0.42 0.00/0.42 The problem is finite. 0.00/0.42 0.00/0.42 Problem 1.4: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 FROM(active(X:S)) -> FROM(X:S) 0.00/0.42 FROM(mark(X:S)) -> FROM(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(FROM) = 1 0.00/0.42 0.00/0.42 Problem 1.4: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 Empty 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 There is no strongly connected component 0.00/0.42 0.00/0.42 The problem is finite. 0.00/0.42 0.00/0.42 Problem 1.5: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 CONS(active(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(CONS) = 1 0.00/0.42 0.00/0.42 Problem 1.5: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.5: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 CONS(X1:S,active(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 CONS(X1:S,mark(X2:S)) -> CONS(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(CONS) = 2 0.00/0.42 0.00/0.42 Problem 1.5: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 Empty 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 There is no strongly connected component 0.00/0.42 0.00/0.42 The problem is finite. 0.00/0.42 0.00/0.42 Problem 1.6: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ADD(active(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(mark(X1:S),X2:S) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(ADD) = 1 0.00/0.42 0.00/0.42 Problem 1.6: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.6: 0.00/0.42 0.00/0.42 Subterm Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ADD(X1:S,active(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 ADD(X1:S,mark(X2:S)) -> ADD(X1:S,X2:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Projection: 0.00/0.42 pi(ADD) = 2 0.00/0.42 0.00/0.42 Problem 1.6: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 Empty 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 There is no strongly connected component 0.00/0.42 0.00/0.42 The problem is finite. 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 Reduction Pairs Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(add(s(X:S),Y:S)) -> MARK(s(add(X:S,Y:S))) 0.00/0.42 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 -> Usable rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Interpretation type: 0.00/0.42 Linear 0.00/0.42 ->Coefficients: 0.00/0.42 Natural Numbers 0.00/0.42 ->Dimension: 0.00/0.42 1 0.00/0.42 ->Bound: 0.00/0.42 2 0.00/0.42 ->Interpretation: 0.00/0.42 0.00/0.42 [active](X) = X 0.00/0.42 [add](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.42 [cons](X1,X2) = 2.X1 + 2 0.00/0.42 [from](X) = 2.X + 2 0.00/0.42 [fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.42 [len](X) = X + 2 0.00/0.42 [mark](X) = X 0.00/0.42 [s](X) = 2 0.00/0.42 [0] = 0 0.00/0.42 [fSNonEmpty] = 0 0.00/0.42 [nil] = 2 0.00/0.42 [ACTIVE](X) = X + 2 0.00/0.42 [ADD](X1,X2) = 0 0.00/0.42 [CONS](X1,X2) = 0 0.00/0.42 [FROM](X) = 0 0.00/0.42 [FST](X1,X2) = 0 0.00/0.42 [LEN](X) = 0 0.00/0.42 [MARK](X) = X + 2 0.00/0.42 [S](X) = 0 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 Reduction Pairs Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(add(0,X:S)) -> MARK(X:S) 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 -> Usable rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Interpretation type: 0.00/0.42 Linear 0.00/0.42 ->Coefficients: 0.00/0.42 Natural Numbers 0.00/0.42 ->Dimension: 0.00/0.42 1 0.00/0.42 ->Bound: 0.00/0.42 2 0.00/0.42 ->Interpretation: 0.00/0.42 0.00/0.42 [active](X) = X 0.00/0.42 [add](X1,X2) = 2.X1 + 2.X2 0.00/0.42 [cons](X1,X2) = X1 0.00/0.42 [from](X) = 2.X + 2 0.00/0.42 [fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.42 [len](X) = 2.X + 2 0.00/0.42 [mark](X) = 2.X 0.00/0.42 [s](X) = 0 0.00/0.42 [0] = 2 0.00/0.42 [fSNonEmpty] = 0 0.00/0.42 [nil] = 1 0.00/0.42 [ACTIVE](X) = X + 1 0.00/0.42 [ADD](X1,X2) = 0 0.00/0.42 [CONS](X1,X2) = 0 0.00/0.42 [FROM](X) = 0 0.00/0.42 [FST](X1,X2) = 0 0.00/0.42 [LEN](X) = 0 0.00/0.42 [MARK](X) = 2.X + 2 0.00/0.42 [S](X) = 0 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 Reduction Pairs Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(from(X:S)) -> MARK(cons(X:S,from(s(X:S)))) 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 -> Usable rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Interpretation type: 0.00/0.42 Linear 0.00/0.42 ->Coefficients: 0.00/0.42 Natural Numbers 0.00/0.42 ->Dimension: 0.00/0.42 1 0.00/0.42 ->Bound: 0.00/0.42 2 0.00/0.42 ->Interpretation: 0.00/0.42 0.00/0.42 [active](X) = X + 1 0.00/0.42 [add](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.42 [cons](X1,X2) = X1 + 1 0.00/0.42 [from](X) = 2.X + 2 0.00/0.42 [fst](X1,X2) = X1 + 2.X2 + 2 0.00/0.42 [len](X) = 2.X + 2 0.00/0.42 [mark](X) = 2.X 0.00/0.42 [s](X) = 2 0.00/0.42 [0] = 1 0.00/0.42 [fSNonEmpty] = 0 0.00/0.42 [nil] = 2 0.00/0.42 [ACTIVE](X) = X + 2 0.00/0.42 [ADD](X1,X2) = 0 0.00/0.42 [CONS](X1,X2) = 0 0.00/0.42 [FROM](X) = 0 0.00/0.42 [FST](X1,X2) = 0 0.00/0.42 [LEN](X) = 0 0.00/0.42 [MARK](X) = 2.X + 1 0.00/0.42 [S](X) = 0 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 Reduction Pairs Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(fst(s(X:S),cons(Y:S,Z:S))) -> MARK(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 -> Usable rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Interpretation type: 0.00/0.42 Linear 0.00/0.42 ->Coefficients: 0.00/0.42 Natural Numbers 0.00/0.42 ->Dimension: 0.00/0.42 1 0.00/0.42 ->Bound: 0.00/0.42 2 0.00/0.42 ->Interpretation: 0.00/0.42 0.00/0.42 [active](X) = X 0.00/0.42 [add](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.42 [cons](X1,X2) = X1 + 1 0.00/0.42 [from](X) = 2.X + 2 0.00/0.42 [fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.42 [len](X) = 2.X + 2 0.00/0.42 [mark](X) = 2.X 0.00/0.42 [s](X) = 2 0.00/0.42 [0] = 1 0.00/0.42 [fSNonEmpty] = 0 0.00/0.42 [nil] = 2 0.00/0.42 [ACTIVE](X) = X + 2 0.00/0.42 [ADD](X1,X2) = 0 0.00/0.42 [CONS](X1,X2) = 0 0.00/0.42 [FROM](X) = 0 0.00/0.42 [FST](X1,X2) = 0 0.00/0.42 [LEN](X) = 0 0.00/0.42 [MARK](X) = 2.X + 2 0.00/0.42 [S](X) = 0 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 SCC Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 ->Strongly Connected Components: 0.00/0.42 ->->Cycle: 0.00/0.42 ->->-> Pairs: 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 ->->-> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 0.00/0.42 Problem 1.7: 0.00/0.42 0.00/0.42 Reduction Pairs Processor: 0.00/0.42 -> Pairs: 0.00/0.42 ACTIVE(len(cons(X:S,Z:S))) -> MARK(s(len(Z:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.42 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.42 MARK(from(X:S)) -> MARK(X:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.42 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.42 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.42 MARK(len(X:S)) -> MARK(X:S) 0.00/0.42 -> Rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.42 len(active(X:S)) -> len(X:S) 0.00/0.42 len(mark(X:S)) -> len(X:S) 0.00/0.42 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.42 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.42 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.42 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.42 mark(s(X:S)) -> active(s(X:S)) 0.00/0.42 mark(0) -> active(0) 0.00/0.42 mark(nil) -> active(nil) 0.00/0.42 s(active(X:S)) -> s(X:S) 0.00/0.42 s(mark(X:S)) -> s(X:S) 0.00/0.42 -> Usable rules: 0.00/0.42 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.42 active(add(0,X:S)) -> mark(X:S) 0.00/0.42 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.42 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.42 active(fst(0,Z:S)) -> mark(nil) 0.00/0.42 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.42 active(len(nil)) -> mark(0) 0.00/0.42 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.42 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.42 from(active(X:S)) -> from(X:S) 0.00/0.42 from(mark(X:S)) -> from(X:S) 0.00/0.42 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 len(active(X:S)) -> len(X:S) 0.00/0.43 len(mark(X:S)) -> len(X:S) 0.00/0.43 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.43 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.43 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.43 mark(s(X:S)) -> active(s(X:S)) 0.00/0.43 mark(0) -> active(0) 0.00/0.43 mark(nil) -> active(nil) 0.00/0.43 s(active(X:S)) -> s(X:S) 0.00/0.43 s(mark(X:S)) -> s(X:S) 0.00/0.43 ->Interpretation type: 0.00/0.43 Linear 0.00/0.43 ->Coefficients: 0.00/0.43 Natural Numbers 0.00/0.43 ->Dimension: 0.00/0.43 1 0.00/0.43 ->Bound: 0.00/0.43 2 0.00/0.43 ->Interpretation: 0.00/0.43 0.00/0.43 [active](X) = X 0.00/0.43 [add](X1,X2) = X1 + 2.X2 + 2 0.00/0.43 [cons](X1,X2) = X1 0.00/0.43 [from](X) = 2.X + 1 0.00/0.43 [fst](X1,X2) = X1 + 2.X2 + 2 0.00/0.43 [len](X) = 2.X + 2 0.00/0.43 [mark](X) = 2.X + 1 0.00/0.43 [s](X) = 0 0.00/0.43 [0] = 1 0.00/0.43 [fSNonEmpty] = 0 0.00/0.43 [nil] = 1 0.00/0.43 [ACTIVE](X) = X + 1 0.00/0.43 [ADD](X1,X2) = 0 0.00/0.43 [CONS](X1,X2) = 0 0.00/0.43 [FROM](X) = 0 0.00/0.43 [FST](X1,X2) = 0 0.00/0.43 [LEN](X) = 0 0.00/0.43 [MARK](X) = 2.X + 2 0.00/0.43 [S](X) = 0 0.00/0.43 0.00/0.43 Problem 1.7: 0.00/0.43 0.00/0.43 SCC Processor: 0.00/0.43 -> Pairs: 0.00/0.43 MARK(add(X1:S,X2:S)) -> ACTIVE(add(mark(X1:S),mark(X2:S))) 0.00/0.43 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.43 MARK(cons(X1:S,X2:S)) -> ACTIVE(cons(mark(X1:S),X2:S)) 0.00/0.43 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(from(X:S)) -> ACTIVE(from(mark(X:S))) 0.00/0.43 MARK(from(X:S)) -> MARK(X:S) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> ACTIVE(fst(mark(X1:S),mark(X2:S))) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.43 MARK(len(X:S)) -> ACTIVE(len(mark(X:S))) 0.00/0.43 MARK(len(X:S)) -> MARK(X:S) 0.00/0.43 -> Rules: 0.00/0.43 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.43 active(add(0,X:S)) -> mark(X:S) 0.00/0.43 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.43 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.43 active(fst(0,Z:S)) -> mark(nil) 0.00/0.43 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.43 active(len(nil)) -> mark(0) 0.00/0.43 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 from(active(X:S)) -> from(X:S) 0.00/0.43 from(mark(X:S)) -> from(X:S) 0.00/0.43 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 len(active(X:S)) -> len(X:S) 0.00/0.43 len(mark(X:S)) -> len(X:S) 0.00/0.43 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.43 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.43 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.43 mark(s(X:S)) -> active(s(X:S)) 0.00/0.43 mark(0) -> active(0) 0.00/0.43 mark(nil) -> active(nil) 0.00/0.43 s(active(X:S)) -> s(X:S) 0.00/0.43 s(mark(X:S)) -> s(X:S) 0.00/0.43 ->Strongly Connected Components: 0.00/0.43 ->->Cycle: 0.00/0.43 ->->-> Pairs: 0.00/0.43 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.43 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(from(X:S)) -> MARK(X:S) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.43 MARK(len(X:S)) -> MARK(X:S) 0.00/0.43 ->->-> Rules: 0.00/0.43 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.43 active(add(0,X:S)) -> mark(X:S) 0.00/0.43 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.43 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.43 active(fst(0,Z:S)) -> mark(nil) 0.00/0.43 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.43 active(len(nil)) -> mark(0) 0.00/0.43 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 from(active(X:S)) -> from(X:S) 0.00/0.43 from(mark(X:S)) -> from(X:S) 0.00/0.43 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 len(active(X:S)) -> len(X:S) 0.00/0.43 len(mark(X:S)) -> len(X:S) 0.00/0.43 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.43 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.43 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.43 mark(s(X:S)) -> active(s(X:S)) 0.00/0.43 mark(0) -> active(0) 0.00/0.43 mark(nil) -> active(nil) 0.00/0.43 s(active(X:S)) -> s(X:S) 0.00/0.43 s(mark(X:S)) -> s(X:S) 0.00/0.43 0.00/0.43 Problem 1.7: 0.00/0.43 0.00/0.43 Subterm Processor: 0.00/0.43 -> Pairs: 0.00/0.43 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.43 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(from(X:S)) -> MARK(X:S) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.43 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.43 MARK(len(X:S)) -> MARK(X:S) 0.00/0.43 -> Rules: 0.00/0.43 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.43 active(add(0,X:S)) -> mark(X:S) 0.00/0.43 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.43 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.43 active(fst(0,Z:S)) -> mark(nil) 0.00/0.43 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.43 active(len(nil)) -> mark(0) 0.00/0.43 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 from(active(X:S)) -> from(X:S) 0.00/0.43 from(mark(X:S)) -> from(X:S) 0.00/0.43 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 len(active(X:S)) -> len(X:S) 0.00/0.43 len(mark(X:S)) -> len(X:S) 0.00/0.43 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.43 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.43 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.43 mark(s(X:S)) -> active(s(X:S)) 0.00/0.43 mark(0) -> active(0) 0.00/0.43 mark(nil) -> active(nil) 0.00/0.43 s(active(X:S)) -> s(X:S) 0.00/0.43 s(mark(X:S)) -> s(X:S) 0.00/0.43 ->Projection: 0.00/0.43 pi(MARK) = 1 0.00/0.43 0.00/0.43 Problem 1.7: 0.00/0.43 0.00/0.43 SCC Processor: 0.00/0.43 -> Pairs: 0.00/0.43 Empty 0.00/0.43 -> Rules: 0.00/0.43 active(add(s(X:S),Y:S)) -> mark(s(add(X:S,Y:S))) 0.00/0.43 active(add(0,X:S)) -> mark(X:S) 0.00/0.43 active(from(X:S)) -> mark(cons(X:S,from(s(X:S)))) 0.00/0.43 active(fst(s(X:S),cons(Y:S,Z:S))) -> mark(cons(Y:S,fst(X:S,Z:S))) 0.00/0.43 active(fst(0,Z:S)) -> mark(nil) 0.00/0.43 active(len(cons(X:S,Z:S))) -> mark(s(len(Z:S))) 0.00/0.43 active(len(nil)) -> mark(0) 0.00/0.43 add(active(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(mark(X1:S),X2:S) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,active(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 add(X1:S,mark(X2:S)) -> add(X1:S,X2:S) 0.00/0.43 cons(active(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(mark(X1:S),X2:S) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,active(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 cons(X1:S,mark(X2:S)) -> cons(X1:S,X2:S) 0.00/0.43 from(active(X:S)) -> from(X:S) 0.00/0.43 from(mark(X:S)) -> from(X:S) 0.00/0.43 fst(active(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(mark(X1:S),X2:S) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,active(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 fst(X1:S,mark(X2:S)) -> fst(X1:S,X2:S) 0.00/0.43 len(active(X:S)) -> len(X:S) 0.00/0.43 len(mark(X:S)) -> len(X:S) 0.00/0.43 mark(add(X1:S,X2:S)) -> active(add(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(cons(X1:S,X2:S)) -> active(cons(mark(X1:S),X2:S)) 0.00/0.43 mark(from(X:S)) -> active(from(mark(X:S))) 0.00/0.43 mark(fst(X1:S,X2:S)) -> active(fst(mark(X1:S),mark(X2:S))) 0.00/0.43 mark(len(X:S)) -> active(len(mark(X:S))) 0.00/0.43 mark(s(X:S)) -> active(s(X:S)) 0.00/0.43 mark(0) -> active(0) 0.00/0.43 mark(nil) -> active(nil) 0.00/0.43 s(active(X:S)) -> s(X:S) 0.00/0.43 s(mark(X:S)) -> s(X:S) 0.00/0.43 ->Strongly Connected Components: 0.00/0.43 There is no strongly connected component 0.00/0.43 0.00/0.43 The problem is finite. 0.00/0.43 EOF