MAYBE Problem: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Proof: DP Processor: DPs: from#(X) -> from#(s(X)) sel#(s(N),cons(X,XS)) -> sel#(N,XS) minus#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Usable Rule Processor: DPs: from#(X) -> from#(s(X)) sel#(s(N),cons(X,XS)) -> sel#(N,XS) minus#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) TRS: f14(x,y) -> x f14(x,y) -> y minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) EDG Processor: DPs: from#(X) -> from#(s(X)) sel#(s(N),cons(X,XS)) -> sel#(N,XS) minus#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) TRS: f14(x,y) -> x f14(x,y) -> y minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) graph: zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) -> zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) -> zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) -> quot#(s(X),s(Y)) -> minus#(X,Y) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) -> quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) -> quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) -> quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) quot#(s(X),s(Y)) -> minus#(X,Y) -> minus#(s(X),s(Y)) -> minus#(X,Y) minus#(s(X),s(Y)) -> minus#(X,Y) -> minus#(s(X),s(Y)) -> minus#(X,Y) sel#(s(N),cons(X,XS)) -> sel#(N,XS) -> sel#(s(N),cons(X,XS)) -> sel#(N,XS) from#(X) -> from#(s(X)) -> from#(X) -> from#(s(X)) Restore Modifier: DPs: from#(X) -> from#(s(X)) sel#(s(N),cons(X,XS)) -> sel#(N,XS) minus#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) SCC Processor: #sccs: 5 #rules: 5 #arcs: 10/49 DPs: from#(X) -> from#(s(X)) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Open DPs: sel#(s(N),cons(X,XS)) -> sel#(N,XS) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Open DPs: zWquot#(cons(X,XS),cons(Y,YS)) -> zWquot#(XS,YS) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Open DPs: quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Open DPs: minus#(s(X),s(Y)) -> minus#(X,Y) TRS: from(X) -> cons(X,from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,XS) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),zWquot(XS,YS)) Open