MAYBE Problem: digits() -> d(0()) d(x) -> if(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x) if(true(),x) -> cons(x,d(s(x))) if(false(),x) -> nil() le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) Proof: DP Processor: DPs: digits#() -> d#(0()) d#(x) -> le#(x,s(s(s(s(s(s(s(s(s(0())))))))))) d#(x) -> if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x) if#(true(),x) -> d#(s(x)) le#(s(x),s(y)) -> le#(x,y) TRS: digits() -> d(0()) d(x) -> if(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x) if(true(),x) -> cons(x,d(s(x))) if(false(),x) -> nil() le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) Usable Rule Processor: DPs: digits#() -> d#(0()) d#(x) -> le#(x,s(s(s(s(s(s(s(s(s(0())))))))))) d#(x) -> if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x) if#(true(),x) -> d#(s(x)) le#(s(x),s(y)) -> le#(x,y) TRS: le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) le(s(x),0()) -> false() Open