YES We show the termination of the TRS R: din(der(plus(X,Y))) -> u21(din(der(X)),X,Y) u21(dout(DX),X,Y) -> u22(din(der(Y)),X,Y,DX) u22(dout(DY),X,Y,DX) -> dout(plus(DX,DY)) din(der(times(X,Y))) -> u31(din(der(X)),X,Y) u31(dout(DX),X,Y) -> u32(din(der(Y)),X,Y,DX) u32(dout(DY),X,Y,DX) -> dout(plus(times(X,DY),times(Y,DX))) din(der(der(X))) -> u41(din(der(X)),X) u41(dout(DX),X) -> u42(din(der(DX)),X,DX) u42(dout(DDX),X,DX) -> dout(DDX) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: din#(der(plus(X,Y))) -> u21#(din(der(X)),X,Y) p2: din#(der(plus(X,Y))) -> din#(der(X)) p3: u21#(dout(DX),X,Y) -> u22#(din(der(Y)),X,Y,DX) p4: u21#(dout(DX),X,Y) -> din#(der(Y)) p5: din#(der(times(X,Y))) -> u31#(din(der(X)),X,Y) p6: din#(der(times(X,Y))) -> din#(der(X)) p7: u31#(dout(DX),X,Y) -> u32#(din(der(Y)),X,Y,DX) p8: u31#(dout(DX),X,Y) -> din#(der(Y)) p9: din#(der(der(X))) -> u41#(din(der(X)),X) p10: din#(der(der(X))) -> din#(der(X)) p11: u41#(dout(DX),X) -> u42#(din(der(DX)),X,DX) p12: u41#(dout(DX),X) -> din#(der(DX)) and R consists of: r1: din(der(plus(X,Y))) -> u21(din(der(X)),X,Y) r2: u21(dout(DX),X,Y) -> u22(din(der(Y)),X,Y,DX) r3: u22(dout(DY),X,Y,DX) -> dout(plus(DX,DY)) r4: din(der(times(X,Y))) -> u31(din(der(X)),X,Y) r5: u31(dout(DX),X,Y) -> u32(din(der(Y)),X,Y,DX) r6: u32(dout(DY),X,Y,DX) -> dout(plus(times(X,DY),times(Y,DX))) r7: din(der(der(X))) -> u41(din(der(X)),X) r8: u41(dout(DX),X) -> u42(din(der(DX)),X,DX) r9: u42(dout(DDX),X,DX) -> dout(DDX) The estimated dependency graph contains the following SCCs: {p1, p2, p4, p5, p6, p8, p9, p10, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: din#(der(plus(X,Y))) -> u21#(din(der(X)),X,Y) p2: u21#(dout(DX),X,Y) -> din#(der(Y)) p3: din#(der(der(X))) -> din#(der(X)) p4: din#(der(der(X))) -> u41#(din(der(X)),X) p5: u41#(dout(DX),X) -> din#(der(DX)) p6: din#(der(times(X,Y))) -> din#(der(X)) p7: din#(der(times(X,Y))) -> u31#(din(der(X)),X,Y) p8: u31#(dout(DX),X,Y) -> din#(der(Y)) p9: din#(der(plus(X,Y))) -> din#(der(X)) and R consists of: r1: din(der(plus(X,Y))) -> u21(din(der(X)),X,Y) r2: u21(dout(DX),X,Y) -> u22(din(der(Y)),X,Y,DX) r3: u22(dout(DY),X,Y,DX) -> dout(plus(DX,DY)) r4: din(der(times(X,Y))) -> u31(din(der(X)),X,Y) r5: u31(dout(DX),X,Y) -> u32(din(der(Y)),X,Y,DX) r6: u32(dout(DY),X,Y,DX) -> dout(plus(times(X,DY),times(Y,DX))) r7: din(der(der(X))) -> u41(din(der(X)),X) r8: u41(dout(DX),X) -> u42(din(der(DX)),X,DX) r9: u42(dout(DDX),X,DX) -> dout(DDX) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: din#_A(x1) = x1 + 9 der_A(x1) = max{275, x1 + 213} plus_A(x1,x2) = max{69, x1, x2 + 12} u21#_A(x1,x2,x3) = max{276, x1 - 43, x2 + 212, x3 + 222} din_A(x1) = max{282, x1 + 51} dout_A(x1) = max{511, x1 + 228} u41#_A(x1,x2) = max{x1 - 6, x2 + 213} times_A(x1,x2) = max{100, x1 + 34, x2 + 10} u31#_A(x1,x2,x3) = max{x1 - 227, x3 + 222} u22_A(x1,x2,x3,x4) = max{x1 + 12, x2 + 263, x3 + 276, x4 + 228} u32_A(x1,x2,x3,x4) = max{x1 + 10, x2 + 298, x3 + 274, x4 + 250} u42_A(x1,x2,x3) = max{x1 + 46, x2 + 1, x3 + 327} u21_A(x1,x2,x3) = max{x1, x2 + 263, x3 + 276} u31_A(x1,x2,x3) = max{x1 + 34, x2 + 298, x3 + 274} u41_A(x1,x2) = max{x1 + 99, x2 + 477} precedence: u21# > der = u41# > din = u31# > din# = times = u31 > u32 = u41 > plus = u42 = u21 > dout = u22 partial status: pi(din#) = [1] pi(der) = [1] pi(plus) = [1, 2] pi(u21#) = [3] pi(din) = [1] pi(dout) = [] pi(u41#) = [2] pi(times) = [1] pi(u31#) = [3] pi(u22) = [4] pi(u32) = [4] pi(u42) = [1, 3] pi(u21) = [1, 3] pi(u31) = [1, 2] pi(u41) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: din#_A(x1) = max{23, x1 - 1} der_A(x1) = x1 + 49 plus_A(x1,x2) = max{x1 + 66, x2 + 150} u21#_A(x1,x2,x3) = max{22, x3} din_A(x1) = max{40, x1 + 30} dout_A(x1) = 10 u41#_A(x1,x2) = max{1, x2} times_A(x1,x2) = x1 + 90 u31#_A(x1,x2,x3) = 22 u22_A(x1,x2,x3,x4) = 229 u32_A(x1,x2,x3,x4) = max{170, x4 + 1} u42_A(x1,x2,x3) = max{130, x1, x3 + 1} u21_A(x1,x2,x3) = max{229, x3 + 1} u31_A(x1,x2,x3) = max{169, x1 + 14, x2 + 10} u41_A(x1,x2) = 129 precedence: din# = der = u21# = din = dout = u41# = times = u31# = u32 = u42 > u22 = u21 = u31 = u41 > plus partial status: pi(din#) = [] pi(der) = [1] pi(plus) = [] pi(u21#) = [3] pi(din) = [] pi(dout) = [] pi(u41#) = [2] pi(times) = [1] pi(u31#) = [] pi(u22) = [] pi(u32) = [4] pi(u42) = [3] pi(u21) = [] pi(u31) = [1] pi(u41) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6, p7, p8, p9 We remove them from the problem. Then no dependency pair remains.