YES We show the termination of the TRS R: 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 decomposition. Consider the dependency pair problem (P, R), where P consists of p1: del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) p2: del#(.(x,.(y,z))) -> =#(x,y) p3: f#(true(),x,y,z) -> del#(.(y,z)) p4: f#(false(),x,y,z) -> del#(.(y,z)) p5: =#(.(x,y),.(u(),v())) -> =#(x,u()) p6: =#(.(x,y),.(u(),v())) -> =#(y,v()) and R consists of: r1: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) r2: f(true(),x,y,z) -> del(.(y,z)) r3: f(false(),x,y,z) -> .(x,del(.(y,z))) r4: =(nil(),nil()) -> true() r5: =(.(x,y),nil()) -> false() r6: =(nil(),.(y,z)) -> false() r7: =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) The estimated dependency graph contains the following SCCs: {p1, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) p2: f#(false(),x,y,z) -> del#(.(y,z)) p3: f#(true(),x,y,z) -> del#(.(y,z)) and R consists of: r1: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) r2: f(true(),x,y,z) -> del(.(y,z)) r3: f(false(),x,y,z) -> .(x,del(.(y,z))) r4: =(nil(),nil()) -> true() r5: =(.(x,y),nil()) -> false() r6: =(nil(),.(y,z)) -> false() r7: =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) The set of usable rules consists of r4, r5, r6, r7 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: del#_A(x1) = ((1,0),(0,0)) x1 + (2,3) ._A(x1,x2) = ((0,1),(0,1)) x1 + ((1,1),(1,0)) x2 + (1,4) f#_A(x1,x2,x3,x4) = ((0,1),(0,0)) x3 + ((1,1),(0,0)) x4 + (7,3) =_A(x1,x2) = ((0,0),(1,0)) x1 + (0,13) false_A() = (0,5) true_A() = (0,2) nil_A() = (1,1) u_A() = (2,5) v_A() = (3,6) and_A(x1,x2) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (0,13) precedence: nil > = = true = u > v > del# = . = f# = false = and partial status: pi(del#) = [] pi(.) = [] pi(f#) = [] pi(=) = [] pi(false) = [] pi(true) = [] pi(nil) = [] pi(u) = [] pi(v) = [] pi(and) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) p2: f#(true(),x,y,z) -> del#(.(y,z)) and R consists of: r1: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) r2: f(true(),x,y,z) -> del(.(y,z)) r3: f(false(),x,y,z) -> .(x,del(.(y,z))) r4: =(nil(),nil()) -> true() r5: =(.(x,y),nil()) -> false() r6: =(nil(),.(y,z)) -> false() r7: =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: del#(.(x,.(y,z))) -> f#(=(x,y),x,y,z) p2: f#(true(),x,y,z) -> del#(.(y,z)) and R consists of: r1: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) r2: f(true(),x,y,z) -> del(.(y,z)) r3: f(false(),x,y,z) -> .(x,del(.(y,z))) r4: =(nil(),nil()) -> true() r5: =(.(x,y),nil()) -> false() r6: =(nil(),.(y,z)) -> false() r7: =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) The set of usable rules consists of r4, r5, r6, r7 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: del#_A(x1) = ((0,1),(0,0)) x1 + (1,5) ._A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(0,1)) x2 + (15,6) f#_A(x1,x2,x3,x4) = ((1,0),(0,0)) x3 + ((0,1),(0,0)) x4 + (8,5) =_A(x1,x2) = ((0,1),(0,1)) x1 + (14,15) true_A() = (1,4) nil_A() = (17,3) false_A() = (16,7) u_A() = (17,7) v_A() = (21,8) and_A(x1,x2) = ((0,1),(0,0)) x2 + (1,21) precedence: . > f# > del# > = > u > v > true > nil = false = and partial status: pi(del#) = [] pi(.) = [] pi(f#) = [] pi(=) = [] pi(true) = [] pi(nil) = [] pi(false) = [] pi(u) = [] pi(v) = [] pi(and) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: f#(true(),x,y,z) -> del#(.(y,z)) and R consists of: r1: del(.(x,.(y,z))) -> f(=(x,y),x,y,z) r2: f(true(),x,y,z) -> del(.(y,z)) r3: f(false(),x,y,z) -> .(x,del(.(y,z))) r4: =(nil(),nil()) -> true() r5: =(.(x,y),nil()) -> false() r6: =(nil(),.(y,z)) -> false() r7: =(.(x,y),.(u(),v())) -> and(=(x,u()),=(y,v())) The estimated dependency graph contains the following SCCs: (no SCCs)