MAYBE Problem: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X Proof: DP Processor: DPs: sel#(s(N),cons(X,XS)) -> activate#(XS) sel#(s(N),cons(X,XS)) -> sel#(N,activate(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)) -> activate#(YS) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) activate#(n__from(X)) -> from#(X) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) TRS: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X Usable Rule Processor: DPs: sel#(s(N),cons(X,XS)) -> activate#(XS) sel#(s(N),cons(X,XS)) -> sel#(N,activate(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)) -> activate#(YS) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) activate#(n__from(X)) -> from#(X) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) TRS: f18(x,y) -> x f18(x,y) -> y activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) zWquot(X1,X2) -> n__zWquot(X1,X2) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) ADG Processor: DPs: sel#(s(N),cons(X,XS)) -> activate#(XS) sel#(s(N),cons(X,XS)) -> sel#(N,activate(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)) -> activate#(YS) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) activate#(n__from(X)) -> from#(X) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) TRS: f18(x,y) -> x f18(x,y) -> y activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) zWquot(XS,nil()) -> nil() zWquot(nil(),XS) -> nil() zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) zWquot(X1,X2) -> n__zWquot(X1,X2) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) minus(X,0()) -> 0() minus(s(X),s(Y)) -> minus(X,Y) graph: 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)) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(YS) -> activate#(n__from(X)) -> from#(X) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(YS) -> activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) -> activate#(n__from(X)) -> from#(X) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) -> activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) 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) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) -> zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(YS) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) -> zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) -> zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) sel#(s(N),cons(X,XS)) -> activate#(XS) -> activate#(n__from(X)) -> from#(X) sel#(s(N),cons(X,XS)) -> activate#(XS) -> activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) sel#(s(N),cons(X,XS)) -> sel#(N,activate(XS)) -> sel#(s(N),cons(X,XS)) -> activate#(XS) sel#(s(N),cons(X,XS)) -> sel#(N,activate(XS)) -> sel#(s(N),cons(X,XS)) -> sel#(N,activate(XS)) Restore Modifier: DPs: sel#(s(N),cons(X,XS)) -> activate#(XS) sel#(s(N),cons(X,XS)) -> sel#(N,activate(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)) -> activate#(YS) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) zWquot#(cons(X,XS),cons(Y,YS)) -> quot#(X,Y) activate#(n__from(X)) -> from#(X) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) TRS: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X SCC Processor: #sccs: 4 #rules: 6 #arcs: 17/100 DPs: sel#(s(N),cons(X,XS)) -> sel#(N,activate(XS)) TRS: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X Open DPs: zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(YS) activate#(n__zWquot(X1,X2)) -> zWquot#(X1,X2) zWquot#(cons(X,XS),cons(Y,YS)) -> activate#(XS) TRS: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X Open DPs: quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X Open DPs: minus#(s(X),s(Y)) -> minus#(X,Y) TRS: from(X) -> cons(X,n__from(s(X))) sel(0(),cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(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),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(X) activate(n__zWquot(X1,X2)) -> zWquot(X1,X2) activate(X) -> X Open