MAYBE Problem: app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) shuffle(nil()) -> nil() shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) Proof: DP Processor: DPs: app#(add(n,x),y) -> app#(x,y) reverse#(add(n,x)) -> reverse#(x) reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) shuffle#(add(n,x)) -> reverse#(x) shuffle#(add(n,x)) -> shuffle#(reverse(x)) TRS: app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) shuffle(nil()) -> nil() shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) Usable Rule Processor: DPs: app#(add(n,x),y) -> app#(x,y) reverse#(add(n,x)) -> reverse#(x) reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) shuffle#(add(n,x)) -> reverse#(x) shuffle#(add(n,x)) -> shuffle#(reverse(x)) TRS: reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) ADG Processor: DPs: app#(add(n,x),y) -> app#(x,y) reverse#(add(n,x)) -> reverse#(x) reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) shuffle#(add(n,x)) -> reverse#(x) shuffle#(add(n,x)) -> shuffle#(reverse(x)) TRS: reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) graph: shuffle#(add(n,x)) -> shuffle#(reverse(x)) -> shuffle#(add(n,x)) -> reverse#(x) shuffle#(add(n,x)) -> shuffle#(reverse(x)) -> shuffle#(add(n,x)) -> shuffle#(reverse(x)) shuffle#(add(n,x)) -> reverse#(x) -> reverse#(add(n,x)) -> reverse#(x) shuffle#(add(n,x)) -> reverse#(x) -> reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) reverse#(add(n,x)) -> reverse#(x) -> reverse#(add(n,x)) -> reverse#(x) reverse#(add(n,x)) -> reverse#(x) -> reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) -> app#(add(n,x),y) -> app#(x,y) app#(add(n,x),y) -> app#(x,y) -> app#(add(n,x),y) -> app#(x,y) Restore Modifier: DPs: app#(add(n,x),y) -> app#(x,y) reverse#(add(n,x)) -> reverse#(x) reverse#(add(n,x)) -> app#(reverse(x),add(n,nil())) shuffle#(add(n,x)) -> reverse#(x) shuffle#(add(n,x)) -> shuffle#(reverse(x)) TRS: app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) shuffle(nil()) -> nil() shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) SCC Processor: #sccs: 3 #rules: 3 #arcs: 8/25 DPs: shuffle#(add(n,x)) -> shuffle#(reverse(x)) TRS: app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) shuffle(nil()) -> nil() shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) Open DPs: reverse#(add(n,x)) -> reverse#(x) TRS: app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) shuffle(nil()) -> nil() shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) Open DPs: app#(add(n,x),y) -> app#(x,y) TRS: app(nil(),y) -> y app(add(n,x),y) -> add(n,app(x,y)) reverse(nil()) -> nil() reverse(add(n,x)) -> app(reverse(x),add(n,nil())) shuffle(nil()) -> nil() shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) Open