MAYBE 324.41/82.16 MAYBE 324.41/82.16 324.41/82.16 Problem: 324.41/82.16 active(nats()) -> mark(cons(0(),incr(nats()))) 324.41/82.16 active(pairs()) -> mark(cons(0(),incr(odds()))) 324.41/82.16 active(odds()) -> mark(incr(pairs())) 324.41/82.16 active(incr(cons(X,XS))) -> mark(cons(s(X),incr(XS))) 324.41/82.16 active(head(cons(X,XS))) -> mark(X) 324.41/82.16 active(tail(cons(X,XS))) -> mark(XS) 324.41/82.16 active(cons(X1,X2)) -> cons(active(X1),X2) 324.41/82.16 active(incr(X)) -> incr(active(X)) 324.41/82.16 active(s(X)) -> s(active(X)) 324.41/82.16 active(head(X)) -> head(active(X)) 324.41/82.16 active(tail(X)) -> tail(active(X)) 324.41/82.16 cons(mark(X1),X2) -> mark(cons(X1,X2)) 324.41/82.16 incr(mark(X)) -> mark(incr(X)) 324.41/82.16 s(mark(X)) -> mark(s(X)) 324.41/82.16 head(mark(X)) -> mark(head(X)) 324.41/82.16 tail(mark(X)) -> mark(tail(X)) 324.41/82.16 proper(nats()) -> ok(nats()) 324.41/82.16 proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 324.41/82.16 proper(0()) -> ok(0()) 324.41/82.16 proper(incr(X)) -> incr(proper(X)) 324.41/82.16 proper(pairs()) -> ok(pairs()) 324.41/82.16 proper(odds()) -> ok(odds()) 324.41/82.16 proper(s(X)) -> s(proper(X)) 324.41/82.16 proper(head(X)) -> head(proper(X)) 324.41/82.16 proper(tail(X)) -> tail(proper(X)) 324.41/82.16 cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 324.41/82.16 incr(ok(X)) -> ok(incr(X)) 324.41/82.16 s(ok(X)) -> ok(s(X)) 324.41/82.16 head(ok(X)) -> ok(head(X)) 324.41/82.16 tail(ok(X)) -> ok(tail(X)) 324.41/82.16 top(mark(X)) -> top(proper(X)) 324.41/82.16 top(ok(X)) -> top(active(X)) 324.41/82.16 324.41/82.16 Proof: 324.41/82.16 Open 324.41/82.16 EOF