1.51/1.62 YES 1.51/1.62 1.51/1.62 Problem 1: 1.51/1.62 1.51/1.62 (VAR v_NonEmpty:S X:S X1:S X2:S XS:S) 1.51/1.62 (RULES 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ) 1.51/1.62 (STRATEGY INNERMOST) 1.51/1.62 1.51/1.62 Problem 1: 1.51/1.62 1.51/1.62 Dependency Pairs Processor: 1.51/1.62 -> Pairs: 1.51/1.62 ACTIVE(cons(X1:S,X2:S)) -> ACTIVE(X1:S) 1.51/1.62 ACTIVE(cons(X1:S,X2:S)) -> CONS(active(X1:S),X2:S) 1.51/1.62 ACTIVE(head(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(head(X:S)) -> HEAD(active(X:S)) 1.51/1.62 ACTIVE(incr(cons(X:S,XS:S))) -> CONS(s(X:S),incr(XS:S)) 1.51/1.62 ACTIVE(incr(cons(X:S,XS:S))) -> INCR(XS:S) 1.51/1.62 ACTIVE(incr(cons(X:S,XS:S))) -> S(X:S) 1.51/1.62 ACTIVE(incr(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(incr(X:S)) -> INCR(active(X:S)) 1.51/1.62 ACTIVE(s(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(s(X:S)) -> S(active(X:S)) 1.51/1.62 ACTIVE(tail(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(tail(X:S)) -> TAIL(active(X:S)) 1.51/1.62 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 1.51/1.62 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 1.51/1.62 HEAD(mark(X:S)) -> HEAD(X:S) 1.51/1.62 HEAD(ok(X:S)) -> HEAD(X:S) 1.51/1.62 INCR(mark(X:S)) -> INCR(X:S) 1.51/1.62 INCR(ok(X:S)) -> INCR(X:S) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> CONS(proper(X1:S),proper(X2:S)) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 1.51/1.62 PROPER(head(X:S)) -> HEAD(proper(X:S)) 1.51/1.62 PROPER(head(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(incr(X:S)) -> INCR(proper(X:S)) 1.51/1.62 PROPER(incr(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(s(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(s(X:S)) -> S(proper(X:S)) 1.51/1.62 PROPER(tail(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(tail(X:S)) -> TAIL(proper(X:S)) 1.51/1.62 S(mark(X:S)) -> S(X:S) 1.51/1.62 S(ok(X:S)) -> S(X:S) 1.51/1.62 TAIL(mark(X:S)) -> TAIL(X:S) 1.51/1.62 TAIL(ok(X:S)) -> TAIL(X:S) 1.51/1.62 TOP(mark(X:S)) -> PROPER(X:S) 1.51/1.62 TOP(mark(X:S)) -> TOP(proper(X:S)) 1.51/1.62 TOP(ok(X:S)) -> ACTIVE(X:S) 1.51/1.62 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.62 -> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 1.51/1.62 Problem 1: 1.51/1.62 1.51/1.62 SCC Processor: 1.51/1.62 -> Pairs: 1.51/1.62 ACTIVE(cons(X1:S,X2:S)) -> ACTIVE(X1:S) 1.51/1.62 ACTIVE(cons(X1:S,X2:S)) -> CONS(active(X1:S),X2:S) 1.51/1.62 ACTIVE(head(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(head(X:S)) -> HEAD(active(X:S)) 1.51/1.62 ACTIVE(incr(cons(X:S,XS:S))) -> CONS(s(X:S),incr(XS:S)) 1.51/1.62 ACTIVE(incr(cons(X:S,XS:S))) -> INCR(XS:S) 1.51/1.62 ACTIVE(incr(cons(X:S,XS:S))) -> S(X:S) 1.51/1.62 ACTIVE(incr(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(incr(X:S)) -> INCR(active(X:S)) 1.51/1.62 ACTIVE(s(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(s(X:S)) -> S(active(X:S)) 1.51/1.62 ACTIVE(tail(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(tail(X:S)) -> TAIL(active(X:S)) 1.51/1.62 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 1.51/1.62 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 1.51/1.62 HEAD(mark(X:S)) -> HEAD(X:S) 1.51/1.62 HEAD(ok(X:S)) -> HEAD(X:S) 1.51/1.62 INCR(mark(X:S)) -> INCR(X:S) 1.51/1.62 INCR(ok(X:S)) -> INCR(X:S) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> CONS(proper(X1:S),proper(X2:S)) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 1.51/1.62 PROPER(head(X:S)) -> HEAD(proper(X:S)) 1.51/1.62 PROPER(head(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(incr(X:S)) -> INCR(proper(X:S)) 1.51/1.62 PROPER(incr(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(s(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(s(X:S)) -> S(proper(X:S)) 1.51/1.62 PROPER(tail(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(tail(X:S)) -> TAIL(proper(X:S)) 1.51/1.62 S(mark(X:S)) -> S(X:S) 1.51/1.62 S(ok(X:S)) -> S(X:S) 1.51/1.62 TAIL(mark(X:S)) -> TAIL(X:S) 1.51/1.62 TAIL(ok(X:S)) -> TAIL(X:S) 1.51/1.62 TOP(mark(X:S)) -> PROPER(X:S) 1.51/1.62 TOP(mark(X:S)) -> TOP(proper(X:S)) 1.51/1.62 TOP(ok(X:S)) -> ACTIVE(X:S) 1.51/1.62 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.62 -> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->Strongly Connected Components: 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 TAIL(mark(X:S)) -> TAIL(X:S) 1.51/1.62 TAIL(ok(X:S)) -> TAIL(X:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 S(mark(X:S)) -> S(X:S) 1.51/1.62 S(ok(X:S)) -> S(X:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 INCR(mark(X:S)) -> INCR(X:S) 1.51/1.62 INCR(ok(X:S)) -> INCR(X:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 HEAD(mark(X:S)) -> HEAD(X:S) 1.51/1.62 HEAD(ok(X:S)) -> HEAD(X:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 1.51/1.62 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 1.51/1.62 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 1.51/1.62 PROPER(head(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(incr(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(s(X:S)) -> PROPER(X:S) 1.51/1.62 PROPER(tail(X:S)) -> PROPER(X:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 ACTIVE(cons(X1:S,X2:S)) -> ACTIVE(X1:S) 1.51/1.62 ACTIVE(head(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(incr(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(s(X:S)) -> ACTIVE(X:S) 1.51/1.62 ACTIVE(tail(X:S)) -> ACTIVE(X:S) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.62 ->->Cycle: 1.51/1.62 ->->-> Pairs: 1.51/1.62 TOP(mark(X:S)) -> TOP(proper(X:S)) 1.51/1.62 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.62 ->->-> Rules: 1.51/1.62 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.62 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.62 active(head(X:S)) -> head(active(X:S)) 1.51/1.62 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.62 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.62 active(s(X:S)) -> s(active(X:S)) 1.51/1.62 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.62 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.62 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.62 active(odds) -> mark(incr(pairs)) 1.51/1.62 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.62 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.62 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.62 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.62 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.62 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.62 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.62 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.62 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.62 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.62 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.62 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.62 proper(0) -> ok(0) 1.51/1.62 proper(nats) -> ok(nats) 1.51/1.62 proper(odds) -> ok(odds) 1.51/1.62 proper(pairs) -> ok(pairs) 1.51/1.62 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.62 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.62 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.62 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.62 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.62 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 1.51/1.63 1.51/1.63 The problem is decomposed in 8 subproblems. 1.51/1.63 1.51/1.63 Problem 1.1: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 TAIL(mark(X:S)) -> TAIL(X:S) 1.51/1.63 TAIL(ok(X:S)) -> TAIL(X:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(TAIL) = 1 1.51/1.63 1.51/1.63 Problem 1.1: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.2: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 S(mark(X:S)) -> S(X:S) 1.51/1.63 S(ok(X:S)) -> S(X:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(S) = 1 1.51/1.63 1.51/1.63 Problem 1.2: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.3: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 INCR(mark(X:S)) -> INCR(X:S) 1.51/1.63 INCR(ok(X:S)) -> INCR(X:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(INCR) = 1 1.51/1.63 1.51/1.63 Problem 1.3: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.4: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 HEAD(mark(X:S)) -> HEAD(X:S) 1.51/1.63 HEAD(ok(X:S)) -> HEAD(X:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(HEAD) = 1 1.51/1.63 1.51/1.63 Problem 1.4: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.5: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 CONS(mark(X1:S),X2:S) -> CONS(X1:S,X2:S) 1.51/1.63 CONS(ok(X1:S),ok(X2:S)) -> CONS(X1:S,X2:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(CONS) = 1 1.51/1.63 1.51/1.63 Problem 1.5: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.6: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 PROPER(cons(X1:S,X2:S)) -> PROPER(X1:S) 1.51/1.63 PROPER(cons(X1:S,X2:S)) -> PROPER(X2:S) 1.51/1.63 PROPER(head(X:S)) -> PROPER(X:S) 1.51/1.63 PROPER(incr(X:S)) -> PROPER(X:S) 1.51/1.63 PROPER(s(X:S)) -> PROPER(X:S) 1.51/1.63 PROPER(tail(X:S)) -> PROPER(X:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(PROPER) = 1 1.51/1.63 1.51/1.63 Problem 1.6: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.7: 1.51/1.63 1.51/1.63 Subterm Processor: 1.51/1.63 -> Pairs: 1.51/1.63 ACTIVE(cons(X1:S,X2:S)) -> ACTIVE(X1:S) 1.51/1.63 ACTIVE(head(X:S)) -> ACTIVE(X:S) 1.51/1.63 ACTIVE(incr(X:S)) -> ACTIVE(X:S) 1.51/1.63 ACTIVE(s(X:S)) -> ACTIVE(X:S) 1.51/1.63 ACTIVE(tail(X:S)) -> ACTIVE(X:S) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Projection: 1.51/1.63 pi(ACTIVE) = 1 1.51/1.63 1.51/1.63 Problem 1.7: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 1.51/1.63 Problem 1.8: 1.51/1.63 1.51/1.63 Reduction Pairs Processor: 1.51/1.63 -> Pairs: 1.51/1.63 TOP(mark(X:S)) -> TOP(proper(X:S)) 1.51/1.63 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 -> Usable rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 ->Interpretation type: 1.51/1.63 Linear 1.51/1.63 ->Coefficients: 1.51/1.63 All rationals 1.51/1.63 ->Dimension: 1.51/1.63 1 1.51/1.63 ->Bound: 1.51/1.63 4 1.51/1.63 ->Interpretation: 1.51/1.63 1.51/1.63 [active](X) = X 1.51/1.63 [cons](X1,X2) = 4.X1 + 1/4.X2 1.51/1.63 [head](X) = X + 1/4 1.51/1.63 [incr](X) = X + 1/3 1.51/1.63 [proper](X) = X 1.51/1.63 [s](X) = X 1.51/1.63 [tail](X) = 4.X + 3/4 1.51/1.63 [top](X) = 0 1.51/1.63 [0] = 0 1.51/1.63 [fSNonEmpty] = 0 1.51/1.63 [mark](X) = X + 1/4 1.51/1.63 [nats] = 4 1.51/1.63 [odds] = 3/2 1.51/1.63 [ok](X) = X 1.51/1.63 [pairs] = 3/4 1.51/1.63 [ACTIVE](X) = 0 1.51/1.63 [CONS](X1,X2) = 0 1.51/1.63 [HEAD](X) = 0 1.51/1.63 [INCR](X) = 0 1.51/1.63 [PROPER](X) = 0 1.51/1.63 [S](X) = 0 1.51/1.63 [TAIL](X) = 0 1.51/1.63 [TOP](X) = 2/3.X 1.51/1.63 1.51/1.63 Problem 1.8: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 ->->Cycle: 1.51/1.63 ->->-> Pairs: 1.51/1.63 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.63 ->->-> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 1.51/1.63 Problem 1.8: 1.51/1.63 1.51/1.63 Reduction Pairs Processor: 1.51/1.63 -> Pairs: 1.51/1.63 TOP(ok(X:S)) -> TOP(active(X:S)) 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 -> Usable rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 ->Interpretation type: 1.51/1.63 Linear 1.51/1.63 ->Coefficients: 1.51/1.63 Natural Numbers 1.51/1.63 ->Dimension: 1.51/1.63 1 1.51/1.63 ->Bound: 1.51/1.63 2 1.51/1.63 ->Interpretation: 1.51/1.63 1.51/1.63 [active](X) = 2.X + 1 1.51/1.63 [cons](X1,X2) = X1 + 2.X2 + 1 1.51/1.63 [head](X) = 2.X + 2 1.51/1.63 [incr](X) = 2.X + 2 1.51/1.63 [proper](X) = 0 1.51/1.63 [s](X) = 2.X + 2 1.51/1.63 [tail](X) = 2.X + 2 1.51/1.63 [top](X) = 0 1.51/1.63 [0] = 2 1.51/1.63 [fSNonEmpty] = 0 1.51/1.63 [mark](X) = 1 1.51/1.63 [nats] = 0 1.51/1.63 [odds] = 1 1.51/1.63 [ok](X) = 2.X + 2 1.51/1.63 [pairs] = 2 1.51/1.63 [ACTIVE](X) = 0 1.51/1.63 [CONS](X1,X2) = 0 1.51/1.63 [HEAD](X) = 0 1.51/1.63 [INCR](X) = 0 1.51/1.63 [PROPER](X) = 0 1.51/1.63 [S](X) = 0 1.51/1.63 [TAIL](X) = 0 1.51/1.63 [TOP](X) = 2.X 1.51/1.63 1.51/1.63 Problem 1.8: 1.51/1.63 1.51/1.63 SCC Processor: 1.51/1.63 -> Pairs: 1.51/1.63 Empty 1.51/1.63 -> Rules: 1.51/1.63 active(cons(X1:S,X2:S)) -> cons(active(X1:S),X2:S) 1.51/1.63 active(head(cons(X:S,XS:S))) -> mark(X:S) 1.51/1.63 active(head(X:S)) -> head(active(X:S)) 1.51/1.63 active(incr(cons(X:S,XS:S))) -> mark(cons(s(X:S),incr(XS:S))) 1.51/1.63 active(incr(X:S)) -> incr(active(X:S)) 1.51/1.63 active(s(X:S)) -> s(active(X:S)) 1.51/1.63 active(tail(cons(X:S,XS:S))) -> mark(XS:S) 1.51/1.63 active(tail(X:S)) -> tail(active(X:S)) 1.51/1.63 active(nats) -> mark(cons(0,incr(nats))) 1.51/1.63 active(odds) -> mark(incr(pairs)) 1.51/1.63 active(pairs) -> mark(cons(0,incr(odds))) 1.51/1.63 cons(mark(X1:S),X2:S) -> mark(cons(X1:S,X2:S)) 1.51/1.63 cons(ok(X1:S),ok(X2:S)) -> ok(cons(X1:S,X2:S)) 1.51/1.63 head(mark(X:S)) -> mark(head(X:S)) 1.51/1.63 head(ok(X:S)) -> ok(head(X:S)) 1.51/1.63 incr(mark(X:S)) -> mark(incr(X:S)) 1.51/1.63 incr(ok(X:S)) -> ok(incr(X:S)) 1.51/1.63 proper(cons(X1:S,X2:S)) -> cons(proper(X1:S),proper(X2:S)) 1.51/1.63 proper(head(X:S)) -> head(proper(X:S)) 1.51/1.63 proper(incr(X:S)) -> incr(proper(X:S)) 1.51/1.63 proper(s(X:S)) -> s(proper(X:S)) 1.51/1.63 proper(tail(X:S)) -> tail(proper(X:S)) 1.51/1.63 proper(0) -> ok(0) 1.51/1.63 proper(nats) -> ok(nats) 1.51/1.63 proper(odds) -> ok(odds) 1.51/1.63 proper(pairs) -> ok(pairs) 1.51/1.63 s(mark(X:S)) -> mark(s(X:S)) 1.51/1.63 s(ok(X:S)) -> ok(s(X:S)) 1.51/1.63 tail(mark(X:S)) -> mark(tail(X:S)) 1.51/1.63 tail(ok(X:S)) -> ok(tail(X:S)) 1.51/1.63 top(mark(X:S)) -> top(proper(X:S)) 1.51/1.63 top(ok(X:S)) -> top(active(X:S)) 1.51/1.63 ->Strongly Connected Components: 1.51/1.63 There is no strongly connected component 1.51/1.63 1.51/1.63 The problem is finite. 1.51/1.63 EOF