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: lexicographic combination of reduction pairs: 1. lexicographic path order with precedence: precedence: del# > = > . > u > and > v > nil > true > false > f# argument filter: pi(del#) = 1 pi(.) = 2 pi(f#) = 4 pi(=) = [1] pi(false) = [] pi(true) = [] pi(nil) = [] pi(u) = [] pi(v) = [] pi(and) = 2 2. matrix interpretations: carrier: N^4 order: lexicographic order interpretations: del#_A(x1) = ((1,0,0,0),(1,1,0,0),(1,0,1,0),(0,1,1,1)) x1 ._A(x1,x2) = ((1,0,0,0),(1,1,0,0),(1,1,1,0),(1,1,1,1)) x2 + (2,1,1,1) f#_A(x1,x2,x3,x4) = x4 + (3,0,0,4) =_A(x1,x2) = ((1,0,0,0),(1,1,0,0),(1,1,1,0),(1,1,1,1)) x1 + (1,1,0,0) false_A() = (1,1,1,1) true_A() = (1,1,1,1) nil_A() = (0,0,0,0) u_A() = (0,0,0,0) v_A() = (1,1,1,1) and_A(x1,x2) = ((1,0,0,0),(0,1,0,0),(0,0,1,0),(1,1,1,1)) x2 The next rules are strictly ordered: p1, p2, p3 We remove them from the problem. Then no dependency pair remains.