YES We show the termination of the TRS R: D(t()) -> |1|() D(constant()) -> |0|() D(+(x,y)) -> +(D(x),D(y)) D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) D(-(x,y)) -> -(D(x),D(y)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: D#(+(x,y)) -> D#(x) p2: D#(+(x,y)) -> D#(y) p3: D#(*(x,y)) -> D#(x) p4: D#(*(x,y)) -> D#(y) p5: D#(-(x,y)) -> D#(x) p6: D#(-(x,y)) -> D#(y) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: D#(+(x,y)) -> D#(x) p2: D#(-(x,y)) -> D#(y) p3: D#(-(x,y)) -> D#(x) p4: D#(*(x,y)) -> D#(y) p5: D#(*(x,y)) -> D#(x) p6: D#(+(x,y)) -> D#(y) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The set of usable rules consists of r1, r2 Take the monotone 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: D#_A(x1) = x1 +_A(x1,x2) = x1 + x2 + 2 -_A(x1,x2) = x1 + x2 + 2 *_A(x1,x2) = x1 + x2 + 2 D_A(x1) = x1 + 1 t_A() = 1 |1|_A() = 0 constant_A() = 1 |0|_A() = 0 base order 2: precedence: + > - = * > D# = D = t = constant > |1| = |0| partial status: pi(D#) = [1] pi(+) = [1, 2] pi(-) = [1, 2] pi(*) = [1, 2] pi(D) = [1] pi(t) = [] pi(|1|) = [] pi(constant) = [] pi(|0|) = [] The following rules are removed: p1 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: D#(-(x,y)) -> D#(y) p2: D#(-(x,y)) -> D#(x) p3: D#(*(x,y)) -> D#(y) p4: D#(*(x,y)) -> D#(x) p5: D#(+(x,y)) -> D#(y) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: D#(-(x,y)) -> D#(y) p2: D#(+(x,y)) -> D#(y) p3: D#(*(x,y)) -> D#(x) p4: D#(*(x,y)) -> D#(y) p5: D#(-(x,y)) -> D#(x) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The set of usable rules consists of r1, r2 Take the monotone 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: D#_A(x1) = x1 -_A(x1,x2) = x1 + x2 + 2 +_A(x1,x2) = x1 + x2 + 2 *_A(x1,x2) = x1 + x2 + 2 D_A(x1) = x1 + 1 t_A() = 1 |1|_A() = 0 constant_A() = 1 |0|_A() = 0 base order 2: precedence: + > - = * > D# = D = t = constant > |1| = |0| partial status: pi(D#) = [1] pi(-) = [1, 2] pi(+) = [1, 2] pi(*) = [1, 2] pi(D) = [1] pi(t) = [] pi(|1|) = [] pi(constant) = [] pi(|0|) = [] The following rules are removed: p1 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: D#(+(x,y)) -> D#(y) p2: D#(*(x,y)) -> D#(x) p3: D#(*(x,y)) -> D#(y) p4: D#(-(x,y)) -> D#(x) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: D#(+(x,y)) -> D#(y) p2: D#(-(x,y)) -> D#(x) p3: D#(*(x,y)) -> D#(y) p4: D#(*(x,y)) -> D#(x) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The set of usable rules consists of r1, r2 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: D#_A(x1) = x1 +_A(x1,x2) = x1 + x2 + 2 -_A(x1,x2) = x1 + 2 *_A(x1,x2) = x1 + x2 + 2 D_A(x1) = x1 + 1 t_A() = 1 |1|_A() = 0 constant_A() = 1 |0|_A() = 0 base order 2: precedence: * > + = D = constant > D# = - = |1| = |0| > t partial status: pi(D#) = [] pi(+) = [] pi(-) = [1] pi(*) = [1, 2] pi(D) = [1] pi(t) = [] pi(|1|) = [] pi(constant) = [] pi(|0|) = [] The following rules are removed: p1 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: D#(-(x,y)) -> D#(x) p2: D#(*(x,y)) -> D#(y) p3: D#(*(x,y)) -> D#(x) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The estimated dependency graph contains the following SCCs: {p1, p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: D#(-(x,y)) -> D#(x) p2: D#(*(x,y)) -> D#(x) p3: D#(*(x,y)) -> D#(y) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The set of usable rules consists of r1, r2 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: D#_A(x1) = x1 -_A(x1,x2) = x1 + 1 *_A(x1,x2) = x1 + x2 + 3 D_A(x1) = x1 + 2 t_A() = 1 |1|_A() = 2 constant_A() = 1 |0|_A() = 0 base order 2: precedence: * > D = t = constant > - = |1| = |0| > D# partial status: pi(D#) = [] pi(-) = [1] pi(*) = [1, 2] pi(D) = [] pi(t) = [] pi(|1|) = [] pi(constant) = [] pi(|0|) = [] The following rules are removed: p1 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: D#(*(x,y)) -> D#(x) p2: D#(*(x,y)) -> D#(y) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: D#(*(x,y)) -> D#(x) p2: D#(*(x,y)) -> D#(y) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The set of usable rules consists of r1, r2, 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: D#_A(x1) = x1 *_A(x1,x2) = x1 + x2 + 3 D_A(x1) = 2 t_A() = 1 |1|_A() = 0 constant_A() = 1 |0|_A() = 0 -_A(x1,x2) = 1 base order 2: precedence: * = D = t = constant > D# = |1| = |0| = - partial status: pi(D#) = [] pi(*) = [2] pi(D) = [] pi(t) = [] pi(|1|) = [] pi(constant) = [] pi(|0|) = [] pi(-) = [] The following rules are removed: p2 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: D#(*(x,y)) -> D#(x) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: D#(*(x,y)) -> D#(x) and R consists of: r1: D(t()) -> |1|() r2: D(constant()) -> |0|() r3: D(+(x,y)) -> +(D(x),D(y)) r4: D(*(x,y)) -> +(*(y,D(x)),*(x,D(y))) r5: D(-(x,y)) -> -(D(x),D(y)) The set of usable rules consists of r1, r2 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: D#_A(x1) = x1 *_A(x1,x2) = x1 + 2 D_A(x1) = x1 + 1 t_A() = 1 |1|_A() = 0 constant_A() = 1 |0|_A() = 0 base order 2: precedence: * = D = t = constant > D# = |1| = |0| partial status: pi(D#) = [] pi(*) = [1] pi(D) = [] pi(t) = [] pi(|1|) = [] pi(constant) = [] pi(|0|) = [] The following rules are removed: p1 Then no dependency pair remains.