YES Problem: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) Proof: DP Processor: DPs: del#(.(x,.(y,z))) -> =#(x,y) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) f#(true(),x,y,z) -> del#(.(y,z)) f#(false(),x,y,z) -> del#(.(y,z)) =#(.(x,y),.(u(),v())) -> =#(y,v()) =#(.(x,y),.(u(),v())) -> =#(x,u()) TRS: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) EDG Processor: DPs: del#(.(x,.(y,z))) -> =#(x,y) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) f#(true(),x,y,z) -> del#(.(y,z)) f#(false(),x,y,z) -> del#(.(y,z)) =#(.(x,y),.(u(),v())) -> =#(y,v()) =#(.(x,y),.(u(),v())) -> =#(x,u()) TRS: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) graph: f#(false(),x,y,z) -> del#(.(y,z)) -> del#(.(x,.(y,z))) -> =#(x,y) f#(false(),x,y,z) -> del#(.(y,z)) -> del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) f#(true(),x,y,z) -> del#(.(y,z)) -> del#(.(x,.(y,z))) -> =#(x,y) f#(true(),x,y,z) -> del#(.(y,z)) -> del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) -> f#(true(),x,y,z) -> del#(.(y,z)) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) -> f#(false(),x,y,z) -> del#(.(y,z)) del#(.(x,.(y,z))) -> =#(x,y) -> =#(.(x,y),.(u(),v())) -> =#(y,v()) del#(.(x,.(y,z))) -> =#(x,y) -> =#(.(x,y),.(u(),v())) -> =#(x,u()) SCC Processor: #sccs: 1 #rules: 3 #arcs: 8/36 DPs: f#(false(),x,y,z) -> del#(.(y,z)) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) f#(true(),x,y,z) -> del#(.(y,z)) TRS: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1, x2, x3) = x0 + x2 + x3, [del#](x0) = x0, [and](x0, x1) = x0, [v] = 0, [u] = 0, [nil] = 1, [false] = 0, [true] = 1, [f](x0, x1, x2, x3) = x1 + x2 + x3 + 1, [=](x0, x1) = x0, [del](x0) = x0 + 1, [.](x0, x1) = x0 + x1 orientation: f#(false(),x,y,z) = y + z >= y + z = del#(.(y,z)) del#(.(x,.(y,z))) = x + y + z >= x + y + z = f#(=(x,y),x,y,z) f#(true(),x,y,z) = y + z + 1 >= y + z = del#(.(y,z)) del(.(x,.(y,z))) = x + y + z + 1 >= x + y + z + 1 = f(=(x,y),x,y,z) f(true(),x,y,z) = x + y + z + 1 >= y + z + 1 = del(.(y,z)) f(false(),x,y,z) = x + y + z + 1 >= x + y + z + 1 = .(x,del(.(y,z))) =(nil(),nil()) = 1 >= 1 = true() =(.(x,y),nil()) = x + y >= 0 = false() =(nil(),.(y,z)) = 1 >= 0 = false() =(.(x,y),.(u(),v())) = x + y >= x = and(=(x,u()),=(y,v())) problem: DPs: f#(false(),x,y,z) -> del#(.(y,z)) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) TRS: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1, x2, x3) = x3 + 1, [del#](x0) = x0, [and](x0, x1) = x1, [v] = 0, [u] = 0, [nil] = 0, [false] = 1, [true] = 0, [f](x0, x1, x2, x3) = x0 + x3 + 1, [=](x0, x1) = 1, [del](x0) = x0, [.](x0, x1) = x1 + 1 orientation: f#(false(),x,y,z) = z + 1 >= z + 1 = del#(.(y,z)) del#(.(x,.(y,z))) = z + 2 >= z + 1 = f#(=(x,y),x,y,z) del(.(x,.(y,z))) = z + 2 >= z + 2 = f(=(x,y),x,y,z) f(true(),x,y,z) = z + 1 >= z + 1 = del(.(y,z)) f(false(),x,y,z) = z + 2 >= z + 2 = .(x,del(.(y,z))) =(nil(),nil()) = 1 >= 0 = true() =(.(x,y),nil()) = 1 >= 1 = false() =(nil(),.(y,z)) = 1 >= 1 = false() =(.(x,y),.(u(),v())) = 1 >= 1 = and(=(x,u()),=(y,v())) problem: DPs: f#(false(),x,y,z) -> del#(.(y,z)) TRS: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1, x2, x3) = 1, [del#](x0) = 0, [and](x0, x1) = 0, [v] = 0, [u] = 0, [nil] = 0, [false] = 0, [true] = 0, [f](x0, x1, x2, x3) = 0, [=](x0, x1) = 0, [del](x0) = 0, [.](x0, x1) = 0 orientation: f#(false(),x,y,z) = 1 >= 0 = del#(.(y,z)) del(.(x,.(y,z))) = 0 >= 0 = f(=(x,y),x,y,z) f(true(),x,y,z) = 0 >= 0 = del(.(y,z)) f(false(),x,y,z) = 0 >= 0 = .(x,del(.(y,z))) =(nil(),nil()) = 0 >= 0 = true() =(.(x,y),nil()) = 0 >= 0 = false() =(nil(),.(y,z)) = 0 >= 0 = false() =(.(x,y),.(u(),v())) = 0 >= 0 = and(=(x,u()),=(y,v())) problem: DPs: TRS: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) f(true(),x,y,z) -> del(.(y,z)) f(false(),x,y,z) -> .(x,del(.(y,z))) =(nil(),nil()) -> true() =(.(x,y),nil()) -> false() =(nil(),.(y,z)) -> false() =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) Qed