MAYBE Problem: nats() -> cons(0(),n__incr(nats())) pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) head(cons(X,XS)) -> X tail(cons(X,XS)) -> activate(XS) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X Proof: DP Processor: DPs: nats#() -> nats#() pairs#() -> odds#() odds#() -> pairs#() odds#() -> incr#(pairs()) incr#(cons(X,XS)) -> activate#(XS) tail#(cons(X,XS)) -> activate#(XS) activate#(n__incr(X)) -> incr#(X) TRS: nats() -> cons(0(),n__incr(nats())) pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) head(cons(X,XS)) -> X tail(cons(X,XS)) -> activate(XS) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X Usable Rule Processor: DPs: nats#() -> nats#() pairs#() -> odds#() odds#() -> pairs#() odds#() -> incr#(pairs()) incr#(cons(X,XS)) -> activate#(XS) tail#(cons(X,XS)) -> activate#(XS) activate#(n__incr(X)) -> incr#(X) TRS: pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X TDG Processor: DPs: nats#() -> nats#() pairs#() -> odds#() odds#() -> pairs#() odds#() -> incr#(pairs()) incr#(cons(X,XS)) -> activate#(XS) tail#(cons(X,XS)) -> activate#(XS) activate#(n__incr(X)) -> incr#(X) TRS: pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X graph: tail#(cons(X,XS)) -> activate#(XS) -> activate#(n__incr(X)) -> incr#(X) activate#(n__incr(X)) -> incr#(X) -> incr#(cons(X,XS)) -> activate#(XS) incr#(cons(X,XS)) -> activate#(XS) -> activate#(n__incr(X)) -> incr#(X) odds#() -> incr#(pairs()) -> incr#(cons(X,XS)) -> activate#(XS) odds#() -> pairs#() -> pairs#() -> odds#() pairs#() -> odds#() -> odds#() -> incr#(pairs()) pairs#() -> odds#() -> odds#() -> pairs#() nats#() -> nats#() -> nats#() -> nats#() CDG Processor: DPs: nats#() -> nats#() pairs#() -> odds#() odds#() -> pairs#() odds#() -> incr#(pairs()) incr#(cons(X,XS)) -> activate#(XS) tail#(cons(X,XS)) -> activate#(XS) activate#(n__incr(X)) -> incr#(X) TRS: pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X graph: odds#() -> incr#(pairs()) -> incr#(cons(X,XS)) -> activate#(XS) odds#() -> pairs#() -> pairs#() -> odds#() pairs#() -> odds#() -> odds#() -> pairs#() pairs#() -> odds#() -> odds#() -> incr#(pairs()) nats#() -> nats#() -> nats#() -> nats#() Restore Modifier: DPs: nats#() -> nats#() pairs#() -> odds#() odds#() -> pairs#() odds#() -> incr#(pairs()) incr#(cons(X,XS)) -> activate#(XS) tail#(cons(X,XS)) -> activate#(XS) activate#(n__incr(X)) -> incr#(X) TRS: nats() -> cons(0(),n__incr(nats())) pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) head(cons(X,XS)) -> X tail(cons(X,XS)) -> activate(XS) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X SCC Processor: #sccs: 2 #rules: 3 #arcs: 5/49 DPs: nats#() -> nats#() TRS: nats() -> cons(0(),n__incr(nats())) pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) head(cons(X,XS)) -> X tail(cons(X,XS)) -> activate(XS) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X Open DPs: odds#() -> pairs#() pairs#() -> odds#() TRS: nats() -> cons(0(),n__incr(nats())) pairs() -> cons(0(),n__incr(odds())) odds() -> incr(pairs()) incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS))) head(cons(X,XS)) -> X tail(cons(X,XS)) -> activate(XS) incr(X) -> n__incr(X) activate(n__incr(X)) -> incr(X) activate(X) -> X Open