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