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())) TDG 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))) -> f#(=(x,y),x,y,z) f#(false(),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) f#(true(),x,y,z) -> del#(.(y,z)) -> del#(.(x,.(y,z))) -> =#(x,y) =#(.(x,y),.(u(),v())) -> =#(y,v()) -> =#(.(x,y),.(u(),v())) -> =#(x,u()) =#(.(x,y),.(u(),v())) -> =#(y,v()) -> =#(.(x,y),.(u(),v())) -> =#(y,v()) =#(.(x,y),.(u(),v())) -> =#(x,u()) -> =#(.(x,y),.(u(),v())) -> =#(x,u()) =#(.(x,y),.(u(),v())) -> =#(x,u()) -> =#(.(x,y),.(u(),v())) -> =#(y,v()) del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) -> 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) -> =#(.(x,y),.(u(),v())) -> =#(x,u()) del#(.(x,.(y,z))) -> =#(x,y) -> =#(.(x,y),.(u(),v())) -> =#(y,v()) SCC Processor: #sccs: 2 #rules: 5 #arcs: 12/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())) Arctic Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1, x2, x3) = x0 + 2x1 + 3x2 + 4x3 + 0, [del#](x0) = 2x0 + 0, [and](x0, x1) = 1x1 + 7, [v] = 5, [u] = 7, [nil] = 4, [false] = 4, [true] = 2, [f](x0, x1, x2, x3) = 2x0 + 4x1 + 5x2 + 6x3, [=](x0, x1) = x0 + x1, [del](x0) = 4x0 + 0, [.](x0, x1) = x0 + 1x1 + 0 orientation: f#(false(),x,y,z) = 2x + 3y + 4z + 4 >= 2y + 3z + 2 = del#(.(y,z)) del#(.(x,.(y,z))) = 2x + 3y + 4z + 3 >= 2x + 3y + 4z + 0 = f#(=(x,y),x,y,z) f#(true(),x,y,z) = 2x + 3y + 4z + 2 >= 2y + 3z + 2 = del#(.(y,z)) del(.(x,.(y,z))) = 4x + 5y + 6z + 5 >= 4x + 5y + 6z = f(=(x,y),x,y,z) f(true(),x,y,z) = 4x + 5y + 6z + 4 >= 4y + 5z + 4 = del(.(y,z)) f(false(),x,y,z) = 4x + 5y + 6z + 6 >= x + 5y + 6z + 5 = .(x,del(.(y,z))) =(nil(),nil()) = 4 >= 2 = true() =(.(x,y),nil()) = x + 1y + 4 >= 4 = false() =(nil(),.(y,z)) = y + 1z + 4 >= 4 = false() =(.(x,y),.(u(),v())) = x + 1y + 7 >= 1y + 7 = and(=(x,u()),=(y,v())) problem: DPs: 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())) Arctic Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1, x2, x3) = 1x0 + 5x3 + 0, [del#](x0) = 2x0 + 0, [and](x0, x1) = x0 + x1 + 0, [v] = 2, [u] = 3, [nil] = 1, [false] = 5, [true] = 4, [f](x0, x1, x2, x3) = x0 + 5x3 + 0, [=](x0, x1) = 5, [del](x0) = 1x0 + 0, [.](x0, x1) = 2x1 + 2 orientation: del#(.(x,.(y,z))) = 6z + 6 >= 5z + 6 = f#(=(x,y),x,y,z) f#(true(),x,y,z) = 5z + 5 >= 4z + 4 = del#(.(y,z)) del(.(x,.(y,z))) = 5z + 5 >= 5z + 5 = f(=(x,y),x,y,z) f(true(),x,y,z) = 5z + 4 >= 3z + 3 = del(.(y,z)) f(false(),x,y,z) = 5z + 5 >= 5z + 5 = .(x,del(.(y,z))) =(nil(),nil()) = 5 >= 4 = true() =(.(x,y),nil()) = 5 >= 5 = false() =(nil(),.(y,z)) = 5 >= 5 = false() =(.(x,y),.(u(),v())) = 5 >= 5 = and(=(x,u()),=(y,v())) problem: DPs: 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())) SCC Processor: #sccs: 0 #rules: 0 #arcs: 4/1 DPs: =#(.(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())) Subterm Criterion Processor: simple projection: pi(=#) = 1 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