YES We show the termination of the relative TRS R/S: R: minus(x,|0|()) -> x minus(s(x),s(y)) -> minus(x,y) quot(|0|(),s(y)) -> |0|() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) plus(|0|(),y) -> y plus(s(x),y) -> s(plus(x,y)) minus(minus(x,y),z) -> minus(x,plus(y,z)) app(nil(),k) -> k app(l,nil()) -> l app(cons(x,l),k) -> cons(x,app(l,k)) sum(cons(x,nil())) -> cons(x,nil()) sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) S: rand(x) -> x rand(x) -> rand(s(x)) -- SCC decomposition. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: minus#(s(x),s(y)) -> minus#(x,y) p2: quot#(s(x),s(y)) -> quot#(minus(x,y),s(y)) p3: quot#(s(x),s(y)) -> minus#(x,y) p4: plus#(s(x),y) -> plus#(x,y) p5: minus#(minus(x,y),z) -> minus#(x,plus(y,z)) p6: minus#(minus(x,y),z) -> plus#(y,z) p7: app#(cons(x,l),k) -> app#(l,k) p8: sum#(cons(x,cons(y,l))) -> sum#(cons(plus(x,y),l)) p9: sum#(cons(x,cons(y,l))) -> plus#(x,y) p10: sum#(app(l,cons(x,cons(y,k)))) -> sum#(app(l,sum(cons(x,cons(y,k))))) p11: sum#(app(l,cons(x,cons(y,k)))) -> app#(l,sum(cons(x,cons(y,k)))) p12: sum#(app(l,cons(x,cons(y,k)))) -> sum#(cons(x,cons(y,k))) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The estimated dependency graph contains the following SCCs: {p2} {p1, p5} {p10} {p8} {p4} {p7} -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: quot#(s(x),s(y)) -> quot#(minus(x,y),s(y)) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: quot#_A(x1,x2) = x1 + (0,1) s_A(x1) = x1 + (0,2) minus_A(x1,x2) = x1 |0|_A() = (0,3) quot_A(x1,x2) = x1 + (1,3) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (1,4) app_A(x1,x2) = x1 + x2 + (0,3) nil_A() = (1,1) cons_A(x1,x2) = (2,2) sum_A(x1) = (3,3) rand_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: nil > plus > |0| = quot = sum = rand > minus > s = app = cons > quot# partial status: pi(quot#) = [1] pi(s) = [] pi(minus) = [1] pi(|0|) = [] pi(quot) = [1] pi(plus) = [2] pi(app) = [1, 2] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: quot#_A(x1,x2) = x1 + (0,1) s_A(x1) = (2,3) minus_A(x1,x2) = (1,1) |0|_A() = (0,0) quot_A(x1,x2) = x1 + (2,3) plus_A(x1,x2) = ((1,0),(1,1)) x2 + (2,4) app_A(x1,x2) = x1 + x2 + (4,0) nil_A() = (0,1) cons_A(x1,x2) = (3,2) sum_A(x1) = (4,3) rand_A(x1) = (3,4) precedence: plus = app = rand > minus > quot > quot# = s = |0| = nil = cons = sum partial status: pi(quot#) = [1] pi(s) = [] pi(minus) = [] pi(|0|) = [] pi(quot) = [] pi(plus) = [] pi(app) = [] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: minus#(s(x),s(y)) -> minus#(x,y) p2: minus#(minus(x,y),z) -> minus#(x,plus(y,z)) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: minus#_A(x1,x2) = x1 s_A(x1) = x1 + (0,1) minus_A(x1,x2) = x1 plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (1,7) |0|_A() = (1,2) quot_A(x1,x2) = x1 + (1,2) app_A(x1,x2) = x1 + x2 + (3,9) nil_A() = (7,10) cons_A(x1,x2) = ((1,0),(0,0)) x2 + (2,8) sum_A(x1) = ((1,0),(1,0)) x1 rand_A(x1) = ((1,0),(0,0)) x1 + (1,2) precedence: sum > |0| = quot = nil = cons = rand > plus > minus# = s = minus = app partial status: pi(minus#) = [] pi(s) = [1] pi(minus) = [1] pi(plus) = [1, 2] pi(|0|) = [] pi(quot) = [] pi(app) = [1, 2] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: minus#_A(x1,x2) = (0,0) s_A(x1) = ((1,0),(0,0)) x1 + (0,3) minus_A(x1,x2) = ((1,0),(0,0)) x1 + (3,1) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (7,2) |0|_A() = (1,1) quot_A(x1,x2) = (2,4) app_A(x1,x2) = x1 + (3,1) nil_A() = (1,0) cons_A(x1,x2) = (2,0) sum_A(x1) = (0,0) rand_A(x1) = (0,0) precedence: minus# = minus = plus = nil = rand > quot > cons > s = |0| = app = sum partial status: pi(minus#) = [] pi(s) = [] pi(minus) = [] pi(plus) = [] pi(|0|) = [] pi(quot) = [] pi(app) = [1] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: minus#(minus(x,y),z) -> minus#(x,plus(y,z)) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: minus#(minus(x,y),z) -> minus#(x,plus(y,z)) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: minus#_A(x1,x2) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 minus_A(x1,x2) = ((1,0),(0,0)) x1 + (6,4) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (5,0) |0|_A() = (1,5) s_A(x1) = ((1,0),(0,0)) x1 + (0,2) quot_A(x1,x2) = ((0,0),(1,0)) x1 + (7,3) app_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,2) nil_A() = (1,3) cons_A(x1,x2) = (2,1) sum_A(x1) = (3,2) rand_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: quot = nil = sum = rand > plus = |0| = s = app = cons > minus# = minus partial status: pi(minus#) = [] pi(minus) = [] pi(plus) = [1, 2] pi(|0|) = [] pi(s) = [] pi(quot) = [] pi(app) = [2] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: minus#_A(x1,x2) = (0,0) minus_A(x1,x2) = (0,0) plus_A(x1,x2) = ((1,0),(0,0)) x2 + (3,3) |0|_A() = (1,1) s_A(x1) = (1,2) quot_A(x1,x2) = (2,3) app_A(x1,x2) = x2 + (3,2) nil_A() = (3,2) cons_A(x1,x2) = (2,0) sum_A(x1) = (1,1) rand_A(x1) = (2,3) precedence: plus = quot > app = nil > minus# = minus = |0| = s = cons = sum = rand partial status: pi(minus#) = [] pi(minus) = [] pi(plus) = [] pi(|0|) = [] pi(s) = [] pi(quot) = [] pi(app) = [2] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: sum#(app(l,cons(x,cons(y,k)))) -> sum#(app(l,sum(cons(x,cons(y,k))))) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: sum#_A(x1) = x1 + (1,2) app_A(x1,x2) = x1 + x2 + (7,4) cons_A(x1,x2) = x2 + (6,3) sum_A(x1) = (8,5) minus_A(x1,x2) = ((1,0),(0,0)) x1 + (3,2) |0|_A() = (1,2) s_A(x1) = ((1,0),(0,0)) x1 quot_A(x1,x2) = (2,1) plus_A(x1,x2) = ((1,0),(1,1)) x2 + (7,1) nil_A() = (1,1) rand_A(x1) = x1 precedence: sum# = app = cons = sum = minus = |0| = s = quot = plus = nil = rand partial status: pi(sum#) = [] pi(app) = [] pi(cons) = [] pi(sum) = [] pi(minus) = [] pi(|0|) = [] pi(s) = [] pi(quot) = [] pi(plus) = [] pi(nil) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: sum#_A(x1) = (0,0) app_A(x1,x2) = x1 + (4,4) cons_A(x1,x2) = (2,2) sum_A(x1) = (3,3) minus_A(x1,x2) = (1,1) |0|_A() = (1,1) s_A(x1) = (0,0) quot_A(x1,x2) = (0,0) plus_A(x1,x2) = (0,0) nil_A() = (1,1) rand_A(x1) = x1 + (1,1) precedence: sum = |0| = nil > minus = rand > sum# = app = cons = s = quot = plus partial status: pi(sum#) = [] pi(app) = [1] pi(cons) = [] pi(sum) = [] pi(minus) = [] pi(|0|) = [] pi(s) = [] pi(quot) = [] pi(plus) = [] pi(nil) = [] pi(rand) = [1] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: sum#(cons(x,cons(y,l))) -> sum#(cons(plus(x,y),l)) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: sum#_A(x1) = x1 + (1,1) cons_A(x1,x2) = ((1,0),(0,0)) x2 + (6,8) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (1,10) minus_A(x1,x2) = x1 |0|_A() = (1,2) s_A(x1) = x1 + (0,1) quot_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (1,0) app_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (1,7) nil_A() = (3,9) sum_A(x1) = ((0,0),(1,0)) x1 + (10,1) rand_A(x1) = ((1,0),(0,0)) x1 + (1,2) precedence: quot > |0| = rand > app > nil = sum > cons > sum# > plus = minus > s partial status: pi(sum#) = [1] pi(cons) = [] pi(plus) = [1] pi(minus) = [1] pi(|0|) = [] pi(s) = [1] pi(quot) = [] pi(app) = [] pi(nil) = [] pi(sum) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: sum#_A(x1) = (0,0) cons_A(x1,x2) = (2,0) plus_A(x1,x2) = ((1,0),(1,0)) x1 + (1,0) minus_A(x1,x2) = ((1,0),(1,1)) x1 + (2,1) |0|_A() = (1,1) s_A(x1) = ((0,0),(1,0)) x1 + (4,2) quot_A(x1,x2) = (5,0) app_A(x1,x2) = (4,1) nil_A() = (1,1) sum_A(x1) = (3,0) rand_A(x1) = (0,0) precedence: rand > plus > sum > cons = app > quot > s > minus > sum# = |0| = nil partial status: pi(sum#) = [] pi(cons) = [] pi(plus) = [] pi(minus) = [1] pi(|0|) = [] pi(s) = [] pi(quot) = [] pi(app) = [] pi(nil) = [] pi(sum) = [] pi(rand) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: plus#(s(x),y) -> plus#(x,y) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: plus#_A(x1,x2) = x1 s_A(x1) = x1 + (0,2) minus_A(x1,x2) = x1 |0|_A() = (1,3) quot_A(x1,x2) = x1 + (0,3) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,3) app_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (2,1) nil_A() = (2,3) cons_A(x1,x2) = (1,4) sum_A(x1) = ((1,0),(0,0)) x1 + (0,5) rand_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: plus# = s = minus = |0| = quot = plus = app = nil = cons = sum = rand partial status: pi(plus#) = [] pi(s) = [] pi(minus) = [] pi(|0|) = [] pi(quot) = [] pi(plus) = [] pi(app) = [] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: plus#_A(x1,x2) = x1 + (1,1) s_A(x1) = x1 + (3,2) minus_A(x1,x2) = ((1,0),(1,1)) x1 + (0,2) |0|_A() = (0,2) quot_A(x1,x2) = ((1,0),(1,0)) x1 + (1,2) plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (1,2) app_A(x1,x2) = (1,1) nil_A() = (0,1) cons_A(x1,x2) = (2,0) sum_A(x1) = (2,0) rand_A(x1) = (0,0) precedence: minus = |0| = plus = app = nil = cons = sum > s = quot = rand > plus# partial status: pi(plus#) = [] pi(s) = [1] pi(minus) = [] pi(|0|) = [] pi(quot) = [] pi(plus) = [] pi(app) = [] pi(nil) = [] pi(cons) = [] pi(sum) = [] pi(rand) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: app#(cons(x,l),k) -> app#(l,k) and R consists of: r1: minus(x,|0|()) -> x r2: minus(s(x),s(y)) -> minus(x,y) r3: quot(|0|(),s(y)) -> |0|() r4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) r5: plus(|0|(),y) -> y r6: plus(s(x),y) -> s(plus(x,y)) r7: minus(minus(x,y),z) -> minus(x,plus(y,z)) r8: app(nil(),k) -> k r9: app(l,nil()) -> l r10: app(cons(x,l),k) -> cons(x,app(l,k)) r11: sum(cons(x,nil())) -> cons(x,nil()) r12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) r13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) r14: rand(x) -> x r15: rand(x) -> rand(s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: app#_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (1,1) cons_A(x1,x2) = x2 + (2,3) minus_A(x1,x2) = ((1,0),(0,0)) x1 + (2,2) |0|_A() = (0,1) s_A(x1) = ((1,0),(0,0)) x1 quot_A(x1,x2) = ((1,0),(1,1)) x2 + (0,1) plus_A(x1,x2) = x2 + (3,4) app_A(x1,x2) = x1 + x2 + (3,4) nil_A() = (1,0) sum_A(x1) = (5,5) rand_A(x1) = x1 + (1,1) precedence: minus = plus = nil = sum > |0| = quot > s = app > cons > app# > rand partial status: pi(app#) = [1] pi(cons) = [2] pi(minus) = [] pi(|0|) = [] pi(s) = [] pi(quot) = [2] pi(plus) = [] pi(app) = [1, 2] pi(nil) = [] pi(sum) = [] pi(rand) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: app#_A(x1,x2) = x1 + (1,3) cons_A(x1,x2) = x2 + (2,2) minus_A(x1,x2) = (2,0) |0|_A() = (0,0) s_A(x1) = (1,6) quot_A(x1,x2) = (1,6) plus_A(x1,x2) = (1,5) app_A(x1,x2) = x2 + (3,3) nil_A() = (2,1) sum_A(x1) = (4,4) rand_A(x1) = (0,0) precedence: cons = minus = plus = app = nil = sum = rand > app# > |0| = s = quot partial status: pi(app#) = [1] pi(cons) = [] pi(minus) = [] pi(|0|) = [] pi(s) = [] pi(quot) = [] pi(plus) = [] pi(app) = [] pi(nil) = [] pi(sum) = [] pi(rand) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.