7.79/7.92 YES 7.79/7.92 7.79/7.92 Problem 1: 7.79/7.92 7.79/7.92 (VAR v_NonEmpty:S L:S X:S X1:S X2:S Y:S) 7.79/7.92 (RULES 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ) 7.79/7.92 (STRATEGY INNERMOST) 7.79/7.92 7.79/7.92 Problem 1: 7.79/7.92 7.79/7.92 Dependency Pairs Processor: 7.79/7.92 -> Pairs: 7.79/7.92 ACTIVE(eq(s(X:S),s(Y:S))) -> EQ(X:S,Y:S) 7.79/7.92 ACTIVE(inf(X:S)) -> ACTIVE(X:S) 7.79/7.92 ACTIVE(inf(X:S)) -> CONS(X:S,inf(s(X:S))) 7.79/7.92 ACTIVE(inf(X:S)) -> INF(active(X:S)) 7.79/7.92 ACTIVE(inf(X:S)) -> INF(s(X:S)) 7.79/7.92 ACTIVE(inf(X:S)) -> S(X:S) 7.79/7.92 ACTIVE(length(cons(X:S,L:S))) -> LENGTH(L:S) 7.79/7.92 ACTIVE(length(cons(X:S,L:S))) -> S(length(L:S)) 7.79/7.92 ACTIVE(length(X:S)) -> ACTIVE(X:S) 7.79/7.92 ACTIVE(length(X:S)) -> LENGTH(active(X:S)) 7.79/7.92 ACTIVE(take(s(X:S),cons(Y:S,L:S))) -> CONS(Y:S,take(X:S,L:S)) 7.79/7.92 ACTIVE(take(s(X:S),cons(Y:S,L:S))) -> TAKE(X:S,L:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X1:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X2:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> TAKE(active(X1:S),X2:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> TAKE(X1:S,active(X2:S)) 7.79/7.92 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 7.79/7.92 EQ(ok(X1:S),ok(X2:S)) -> EQ(X1:S,X2:S) 7.79/7.92 INF(mark(X:S)) -> INF(X:S) 7.79/7.92 INF(ok(X:S)) -> INF(X:S) 7.79/7.92 LENGTH(mark(X:S)) -> LENGTH(X:S) 7.79/7.92 LENGTH(ok(X:S)) -> LENGTH(X:S) 7.79/7.92 PROPER(cons(X1:S,X2:S)) -> CONS(proper(X1:S),proper(X2:S)) 7.79/7.92 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.92 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.92 PROPER(eq(X1:S,X2:S)) -> EQ(proper(X1:S),proper(X2:S)) 7.79/7.92 PROPER(eq(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.92 PROPER(eq(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.92 PROPER(inf(X:S)) -> INF(proper(X:S)) 7.79/7.92 PROPER(inf(X:S)) -> PROPER(X:S) 7.79/7.92 PROPER(length(X:S)) -> LENGTH(proper(X:S)) 7.79/7.92 PROPER(length(X:S)) -> PROPER(X:S) 7.79/7.92 PROPER(s(X:S)) -> PROPER(X:S) 7.79/7.92 PROPER(s(X:S)) -> S(proper(X:S)) 7.79/7.92 PROPER(take(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.92 PROPER(take(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.92 PROPER(take(X1:S,X2:S)) -> TAKE(proper(X1:S),proper(X2:S)) 7.79/7.92 S(ok(X:S)) -> S(X:S) 7.79/7.92 TAKE(mark(X1:S),X2:S) -> TAKE(X1:S,X2:S) 7.79/7.92 TAKE(ok(X1:S),ok(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.92 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.92 TOP(mark(X:S)) -> PROPER(X:S) 7.79/7.92 TOP(mark(X:S)) -> TOP(proper(X:S)) 7.79/7.92 TOP(ok(X:S)) -> ACTIVE(X:S) 7.79/7.92 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.92 -> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 7.79/7.92 Problem 1: 7.79/7.92 7.79/7.92 SCC Processor: 7.79/7.92 -> Pairs: 7.79/7.92 ACTIVE(eq(s(X:S),s(Y:S))) -> EQ(X:S,Y:S) 7.79/7.92 ACTIVE(inf(X:S)) -> ACTIVE(X:S) 7.79/7.92 ACTIVE(inf(X:S)) -> CONS(X:S,inf(s(X:S))) 7.79/7.92 ACTIVE(inf(X:S)) -> INF(active(X:S)) 7.79/7.92 ACTIVE(inf(X:S)) -> INF(s(X:S)) 7.79/7.92 ACTIVE(inf(X:S)) -> S(X:S) 7.79/7.92 ACTIVE(length(cons(X:S,L:S))) -> LENGTH(L:S) 7.79/7.92 ACTIVE(length(cons(X:S,L:S))) -> S(length(L:S)) 7.79/7.92 ACTIVE(length(X:S)) -> ACTIVE(X:S) 7.79/7.92 ACTIVE(length(X:S)) -> LENGTH(active(X:S)) 7.79/7.92 ACTIVE(take(s(X:S),cons(Y:S,L:S))) -> CONS(Y:S,take(X:S,L:S)) 7.79/7.92 ACTIVE(take(s(X:S),cons(Y:S,L:S))) -> TAKE(X:S,L:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X1:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X2:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> TAKE(active(X1:S),X2:S) 7.79/7.92 ACTIVE(take(X1:S,X2:S)) -> TAKE(X1:S,active(X2:S)) 7.79/7.92 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 7.79/7.92 EQ(ok(X1:S),ok(X2:S)) -> EQ(X1:S,X2:S) 7.79/7.92 INF(mark(X:S)) -> INF(X:S) 7.79/7.92 INF(ok(X:S)) -> INF(X:S) 7.79/7.92 LENGTH(mark(X:S)) -> LENGTH(X:S) 7.79/7.92 LENGTH(ok(X:S)) -> LENGTH(X:S) 7.79/7.92 PROPER(cons(X1:S,X2:S)) -> CONS(proper(X1:S),proper(X2:S)) 7.79/7.92 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.92 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.92 PROPER(eq(X1:S,X2:S)) -> EQ(proper(X1:S),proper(X2:S)) 7.79/7.92 PROPER(eq(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.92 PROPER(eq(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.92 PROPER(inf(X:S)) -> INF(proper(X:S)) 7.79/7.92 PROPER(inf(X:S)) -> PROPER(X:S) 7.79/7.92 PROPER(length(X:S)) -> LENGTH(proper(X:S)) 7.79/7.92 PROPER(length(X:S)) -> PROPER(X:S) 7.79/7.92 PROPER(s(X:S)) -> PROPER(X:S) 7.79/7.92 PROPER(s(X:S)) -> S(proper(X:S)) 7.79/7.92 PROPER(take(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.92 PROPER(take(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.92 PROPER(take(X1:S,X2:S)) -> TAKE(proper(X1:S),proper(X2:S)) 7.79/7.92 S(ok(X:S)) -> S(X:S) 7.79/7.92 TAKE(mark(X1:S),X2:S) -> TAKE(X1:S,X2:S) 7.79/7.92 TAKE(ok(X1:S),ok(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.92 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.92 TOP(mark(X:S)) -> PROPER(X:S) 7.79/7.92 TOP(mark(X:S)) -> TOP(proper(X:S)) 7.79/7.92 TOP(ok(X:S)) -> ACTIVE(X:S) 7.79/7.92 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.92 -> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ->Strongly Connected Components: 7.79/7.92 ->->Cycle: 7.79/7.92 ->->-> Pairs: 7.79/7.92 TAKE(mark(X1:S),X2:S) -> TAKE(X1:S,X2:S) 7.79/7.92 TAKE(ok(X1:S),ok(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.92 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.92 ->->-> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ->->Cycle: 7.79/7.92 ->->-> Pairs: 7.79/7.92 S(ok(X:S)) -> S(X:S) 7.79/7.92 ->->-> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ->->Cycle: 7.79/7.92 ->->-> Pairs: 7.79/7.92 LENGTH(mark(X:S)) -> LENGTH(X:S) 7.79/7.92 LENGTH(ok(X:S)) -> LENGTH(X:S) 7.79/7.92 ->->-> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ->->Cycle: 7.79/7.92 ->->-> Pairs: 7.79/7.92 INF(mark(X:S)) -> INF(X:S) 7.79/7.92 INF(ok(X:S)) -> INF(X:S) 7.79/7.92 ->->-> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ->->Cycle: 7.79/7.92 ->->-> Pairs: 7.79/7.92 EQ(ok(X1:S),ok(X2:S)) -> EQ(X1:S,X2:S) 7.79/7.92 ->->-> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.92 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.92 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.92 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.92 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.92 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.92 proper(0) -> ok(0) 7.79/7.92 proper(ffalse) -> ok(ffalse) 7.79/7.92 proper(nil) -> ok(nil) 7.79/7.92 proper(ttrue) -> ok(ttrue) 7.79/7.92 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.92 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.92 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.92 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.92 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.92 top(ok(X:S)) -> top(active(X:S)) 7.79/7.92 ->->Cycle: 7.79/7.92 ->->-> Pairs: 7.79/7.92 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 7.79/7.92 ->->-> Rules: 7.79/7.92 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.92 active(eq(0,0)) -> mark(ttrue) 7.79/7.92 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.92 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.92 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.92 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.92 active(length(nil)) -> mark(0) 7.79/7.92 active(length(X:S)) -> length(active(X:S)) 7.79/7.92 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.92 active(take(0,X:S)) -> mark(nil) 7.79/7.92 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.92 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.92 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.92 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.92 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.92 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.92 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->->Cycle: 7.79/7.93 ->->-> Pairs: 7.79/7.93 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.93 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.93 PROPER(eq(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.93 PROPER(eq(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.93 PROPER(inf(X:S)) -> PROPER(X:S) 7.79/7.93 PROPER(length(X:S)) -> PROPER(X:S) 7.79/7.93 PROPER(s(X:S)) -> PROPER(X:S) 7.79/7.93 PROPER(take(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.93 PROPER(take(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.93 ->->-> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->->Cycle: 7.79/7.93 ->->-> Pairs: 7.79/7.93 ACTIVE(inf(X:S)) -> ACTIVE(X:S) 7.79/7.93 ACTIVE(length(X:S)) -> ACTIVE(X:S) 7.79/7.93 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X1:S) 7.79/7.93 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X2:S) 7.79/7.93 ->->-> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->->Cycle: 7.79/7.93 ->->-> Pairs: 7.79/7.93 TOP(mark(X:S)) -> TOP(proper(X:S)) 7.79/7.93 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.93 ->->-> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 7.79/7.93 7.79/7.93 The problem is decomposed in 9 subproblems. 7.79/7.93 7.79/7.93 Problem 1.1: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 TAKE(mark(X1:S),X2:S) -> TAKE(X1:S,X2:S) 7.79/7.93 TAKE(ok(X1:S),ok(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.93 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(TAKE) = 1 7.79/7.93 7.79/7.93 Problem 1.1: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 ->->Cycle: 7.79/7.93 ->->-> Pairs: 7.79/7.93 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.93 ->->-> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 7.79/7.93 Problem 1.1: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 TAKE(X1:S,mark(X2:S)) -> TAKE(X1:S,X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(TAKE) = 2 7.79/7.93 7.79/7.93 Problem 1.1: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.2: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 S(ok(X:S)) -> S(X:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(S) = 1 7.79/7.93 7.79/7.93 Problem 1.2: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.3: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 LENGTH(mark(X:S)) -> LENGTH(X:S) 7.79/7.93 LENGTH(ok(X:S)) -> LENGTH(X:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(LENGTH) = 1 7.79/7.93 7.79/7.93 Problem 1.3: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.4: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 INF(mark(X:S)) -> INF(X:S) 7.79/7.93 INF(ok(X:S)) -> INF(X:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(INF) = 1 7.79/7.93 7.79/7.93 Problem 1.4: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.5: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 EQ(ok(X1:S),ok(X2:S)) -> EQ(X1:S,X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(EQ) = 1 7.79/7.93 7.79/7.93 Problem 1.5: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.6: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(CONS) = 1 7.79/7.93 7.79/7.93 Problem 1.6: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.7: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.93 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.93 PROPER(eq(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.93 PROPER(eq(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.93 PROPER(inf(X:S)) -> PROPER(X:S) 7.79/7.93 PROPER(length(X:S)) -> PROPER(X:S) 7.79/7.93 PROPER(s(X:S)) -> PROPER(X:S) 7.79/7.93 PROPER(take(X1:S,X2:S)) -> PROPER(X1:S) 7.79/7.93 PROPER(take(X1:S,X2:S)) -> PROPER(X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(PROPER) = 1 7.79/7.93 7.79/7.93 Problem 1.7: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.8: 7.79/7.93 7.79/7.93 Subterm Processor: 7.79/7.93 -> Pairs: 7.79/7.93 ACTIVE(inf(X:S)) -> ACTIVE(X:S) 7.79/7.93 ACTIVE(length(X:S)) -> ACTIVE(X:S) 7.79/7.93 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X1:S) 7.79/7.93 ACTIVE(take(X1:S,X2:S)) -> ACTIVE(X2:S) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Projection: 7.79/7.93 pi(ACTIVE) = 1 7.79/7.93 7.79/7.93 Problem 1.8: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 7.79/7.93 Problem 1.9: 7.79/7.93 7.79/7.93 Reduction Pairs Processor: 7.79/7.93 -> Pairs: 7.79/7.93 TOP(mark(X:S)) -> TOP(proper(X:S)) 7.79/7.93 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 -> Usable rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 ->Interpretation type: 7.79/7.93 Linear 7.79/7.93 ->Coefficients: 7.79/7.93 Natural Numbers 7.79/7.93 ->Dimension: 7.79/7.93 2 7.79/7.93 ->Bound: 7.79/7.93 1 7.79/7.93 ->Interpretation: 7.79/7.93 7.79/7.93 [active](X) = [1 0;0 0].X + [0;1] 7.79/7.93 [cons](X1,X2) = [1 0;0 1].X1 + [0;1] 7.79/7.93 [eq](X1,X2) = [0 1;0 0].X1 + [0 1;0 0].X2 + [1;1] 7.79/7.93 [inf](X) = [1 0;0 0].X + [1;1] 7.79/7.93 [length](X) = [1 0;0 1].X + [1;0] 7.79/7.93 [proper](X) = [1 0;0 1].X 7.79/7.93 [s](X) = [0 0;0 1].X + [0;1] 7.79/7.93 [take](X1,X2) = [1 0;0 0].X1 + [1 0;0 0].X2 + [1;1] 7.79/7.93 [top](X) = 0 7.79/7.93 [0] = [1;1] 7.79/7.93 [fSNonEmpty] = 0 7.79/7.93 [false] = [0;1] 7.79/7.93 [mark](X) = [1 0;0 0].X + [1;1] 7.79/7.93 [nil] = [1;0] 7.79/7.93 [ok](X) = [1 0;0 1].X 7.79/7.93 [true] = [1;1] 7.79/7.93 [ACTIVE](X) = 0 7.79/7.93 [CONS](X1,X2) = 0 7.79/7.93 [EQ](X1,X2) = 0 7.79/7.93 [INF](X) = 0 7.79/7.93 [LENGTH](X) = 0 7.79/7.93 [PROPER](X) = 0 7.79/7.93 [S](X) = 0 7.79/7.93 [TAKE](X1,X2) = 0 7.79/7.93 [TOP](X) = [1 0;1 0].X 7.79/7.93 7.79/7.93 Problem 1.9: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 ->->Cycle: 7.79/7.93 ->->-> Pairs: 7.79/7.93 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.93 ->->-> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 7.79/7.93 Problem 1.9: 7.79/7.93 7.79/7.93 Reduction Pairs Processor: 7.79/7.93 -> Pairs: 7.79/7.93 TOP(ok(X:S)) -> TOP(active(X:S)) 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 -> Usable rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 ->Interpretation type: 7.79/7.93 Linear 7.79/7.93 ->Coefficients: 7.79/7.93 Natural Numbers 7.79/7.93 ->Dimension: 7.79/7.93 1 7.79/7.93 ->Bound: 7.79/7.93 2 7.79/7.93 ->Interpretation: 7.79/7.93 7.79/7.93 [active](X) = 2.X + 1 7.79/7.93 [cons](X1,X2) = 2.X1 + 2 7.79/7.93 [eq](X1,X2) = X1 + X2 + 1 7.79/7.93 [inf](X) = 2.X + 1 7.79/7.93 [length](X) = 2.X + 1 7.79/7.93 [proper](X) = 0 7.79/7.93 [s](X) = 2.X + 2 7.79/7.93 [take](X1,X2) = 2.X2 + 2 7.79/7.93 [top](X) = 0 7.79/7.93 [0] = 2 7.79/7.93 [fSNonEmpty] = 0 7.79/7.93 [false] = 1 7.79/7.93 [mark](X) = 2 7.79/7.93 [nil] = 2 7.79/7.93 [ok](X) = 2.X + 2 7.79/7.93 [true] = 0 7.79/7.93 [ACTIVE](X) = 0 7.79/7.93 [CONS](X1,X2) = 0 7.79/7.93 [EQ](X1,X2) = 0 7.79/7.93 [INF](X) = 0 7.79/7.93 [LENGTH](X) = 0 7.79/7.93 [PROPER](X) = 0 7.79/7.93 [S](X) = 0 7.79/7.93 [TAKE](X1,X2) = 0 7.79/7.93 [TOP](X) = X 7.79/7.93 7.79/7.93 Problem 1.9: 7.79/7.93 7.79/7.93 SCC Processor: 7.79/7.93 -> Pairs: 7.79/7.93 Empty 7.79/7.93 -> Rules: 7.79/7.93 active(eq(s(X:S),s(Y:S))) -> mark(eq(X:S,Y:S)) 7.79/7.93 active(eq(0,0)) -> mark(ttrue) 7.79/7.93 active(eq(X:S,Y:S)) -> mark(ffalse) 7.79/7.93 active(inf(X:S)) -> inf(active(X:S)) 7.79/7.93 active(inf(X:S)) -> mark(cons(X:S,inf(s(X:S)))) 7.79/7.93 active(length(cons(X:S,L:S))) -> mark(s(length(L:S))) 7.79/7.93 active(length(nil)) -> mark(0) 7.79/7.93 active(length(X:S)) -> length(active(X:S)) 7.79/7.93 active(take(s(X:S),cons(Y:S,L:S))) -> mark(cons(Y:S,take(X:S,L:S))) 7.79/7.93 active(take(0,X:S)) -> mark(nil) 7.79/7.93 active(take(X1:S,X2:S)) -> take(active(X1:S),X2:S) 7.79/7.93 active(take(X1:S,X2:S)) -> take(X1:S,active(X2:S)) 7.79/7.93 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 7.79/7.93 eq(ok(X1:S),ok(X2:S)) -> ok(eq(X1:S,X2:S)) 7.79/7.93 inf(mark(X:S)) -> mark(inf(X:S)) 7.79/7.93 inf(ok(X:S)) -> ok(inf(X:S)) 7.79/7.93 length(mark(X:S)) -> mark(length(X:S)) 7.79/7.93 length(ok(X:S)) -> ok(length(X:S)) 7.79/7.93 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(eq(X1:S,X2:S)) -> eq(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(inf(X:S)) -> inf(proper(X:S)) 7.79/7.93 proper(length(X:S)) -> length(proper(X:S)) 7.79/7.93 proper(s(X:S)) -> s(proper(X:S)) 7.79/7.93 proper(take(X1:S,X2:S)) -> take(proper(X1:S),proper(X2:S)) 7.79/7.93 proper(0) -> ok(0) 7.79/7.93 proper(ffalse) -> ok(ffalse) 7.79/7.93 proper(nil) -> ok(nil) 7.79/7.93 proper(ttrue) -> ok(ttrue) 7.79/7.93 s(ok(X:S)) -> ok(s(X:S)) 7.79/7.93 take(mark(X1:S),X2:S) -> mark(take(X1:S,X2:S)) 7.79/7.93 take(ok(X1:S),ok(X2:S)) -> ok(take(X1:S,X2:S)) 7.79/7.93 take(X1:S,mark(X2:S)) -> mark(take(X1:S,X2:S)) 7.79/7.93 top(mark(X:S)) -> top(proper(X:S)) 7.79/7.93 top(ok(X:S)) -> top(active(X:S)) 7.79/7.93 ->Strongly Connected Components: 7.79/7.93 There is no strongly connected component 7.79/7.93 7.79/7.93 The problem is finite. 7.79/7.93 EOF