YES We show the termination of the TRS R: xor(x,F()) -> x xor(x,neg(x)) -> F() and(x,T()) -> x and(x,F()) -> F() and(x,x) -> x and(xor(x,y),z) -> xor(and(x,z),and(y,z)) xor(x,x) -> F() impl(x,y) -> xor(and(x,y),xor(x,T())) or(x,y) -> xor(and(x,y),xor(x,y)) equiv(x,y) -> xor(x,xor(y,T())) neg(x) -> xor(x,T()) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: and#(xor(x,y),z) -> xor#(and(x,z),and(y,z)) p2: and#(xor(x,y),z) -> and#(x,z) p3: and#(xor(x,y),z) -> and#(y,z) p4: impl#(x,y) -> xor#(and(x,y),xor(x,T())) p5: impl#(x,y) -> and#(x,y) p6: impl#(x,y) -> xor#(x,T()) p7: or#(x,y) -> xor#(and(x,y),xor(x,y)) p8: or#(x,y) -> and#(x,y) p9: or#(x,y) -> xor#(x,y) p10: equiv#(x,y) -> xor#(x,xor(y,T())) p11: equiv#(x,y) -> xor#(y,T()) p12: neg#(x) -> xor#(x,T()) and R consists of: r1: xor(x,F()) -> x r2: xor(x,neg(x)) -> F() r3: and(x,T()) -> x r4: and(x,F()) -> F() r5: and(x,x) -> x r6: and(xor(x,y),z) -> xor(and(x,z),and(y,z)) r7: xor(x,x) -> F() r8: impl(x,y) -> xor(and(x,y),xor(x,T())) r9: or(x,y) -> xor(and(x,y),xor(x,y)) r10: equiv(x,y) -> xor(x,xor(y,T())) r11: neg(x) -> xor(x,T()) The estimated dependency graph contains the following SCCs: {p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(xor(x,y),z) -> and#(x,z) p2: and#(xor(x,y),z) -> and#(y,z) and R consists of: r1: xor(x,F()) -> x r2: xor(x,neg(x)) -> F() r3: and(x,T()) -> x r4: and(x,F()) -> F() r5: and(x,x) -> x r6: and(xor(x,y),z) -> xor(and(x,z),and(y,z)) r7: xor(x,x) -> F() r8: impl(x,y) -> xor(and(x,y),xor(x,T())) r9: or(x,y) -> xor(and(x,y),xor(x,y)) r10: equiv(x,y) -> xor(x,xor(y,T())) r11: neg(x) -> xor(x,T()) The set of usable rules consists of r1, r2, r4, r5 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: and#_A(x1,x2) = x1 + x2 + 4 xor_A(x1,x2) = x1 + x2 + 3 F_A() = 1 neg_A(x1) = 2 and_A(x1,x2) = x1 + 2 base order 2: precedence: and# > xor > neg = and > F partial status: pi(and#) = [1, 2] pi(xor) = [] pi(F) = [] pi(neg) = [] pi(and) = [] The following rules are removed: p1 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: and#(xor(x,y),z) -> and#(y,z) and R consists of: r1: xor(x,F()) -> x r2: xor(x,neg(x)) -> F() r3: and(x,T()) -> x r4: and(x,F()) -> F() r5: and(x,x) -> x r6: and(xor(x,y),z) -> xor(and(x,z),and(y,z)) r7: xor(x,x) -> F() r8: impl(x,y) -> xor(and(x,y),xor(x,T())) r9: or(x,y) -> xor(and(x,y),xor(x,y)) r10: equiv(x,y) -> xor(x,xor(y,T())) r11: neg(x) -> xor(x,T()) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(xor(x,y),z) -> and#(y,z) and R consists of: r1: xor(x,F()) -> x r2: xor(x,neg(x)) -> F() r3: and(x,T()) -> x r4: and(x,F()) -> F() r5: and(x,x) -> x r6: and(xor(x,y),z) -> xor(and(x,z),and(y,z)) r7: xor(x,x) -> F() r8: impl(x,y) -> xor(and(x,y),xor(x,T())) r9: or(x,y) -> xor(and(x,y),xor(x,y)) r10: equiv(x,y) -> xor(x,xor(y,T())) r11: neg(x) -> xor(x,T()) The set of usable rules consists of r1, r2, r4, r5 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: and#_A(x1,x2) = x1 + x2 + 3 xor_A(x1,x2) = x1 + x2 + 2 F_A() = 1 neg_A(x1) = 2 and_A(x1,x2) = x1 + x2 + 3 base order 2: precedence: and# = and > xor > neg > F partial status: pi(and#) = [1, 2] pi(xor) = [] pi(F) = [] pi(neg) = [] pi(and) = [] The following rules are removed: p1 Then no dependency pair remains.