YES We show the termination of the relative TRS R/S: R: top(ok(new(x))) -> top(check(x)) top(ok(old(x))) -> top(check(x)) S: bot() -> new(bot()) check(new(x)) -> new(check(x)) check(old(x)) -> old(check(x)) check(old(x)) -> ok(old(x)) new(ok(x)) -> ok(new(x)) old(ok(x)) -> ok(old(x)) -- SCC decomposition. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: top#(ok(new(x))) -> top#(check(x)) p2: top#(ok(old(x))) -> top#(check(x)) and R consists of: r1: top(ok(new(x))) -> top(check(x)) r2: top(ok(old(x))) -> top(check(x)) r3: bot() -> new(bot()) r4: check(new(x)) -> new(check(x)) r5: check(old(x)) -> old(check(x)) r6: check(old(x)) -> ok(old(x)) r7: new(ok(x)) -> ok(new(x)) r8: old(ok(x)) -> ok(old(x)) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: top#(ok(new(x))) -> top#(check(x)) p2: top#(ok(old(x))) -> top#(check(x)) and R consists of: r1: top(ok(new(x))) -> top(check(x)) r2: top(ok(old(x))) -> top(check(x)) r3: bot() -> new(bot()) r4: check(new(x)) -> new(check(x)) r5: check(old(x)) -> old(check(x)) r6: check(old(x)) -> ok(old(x)) r7: new(ok(x)) -> ok(new(x)) r8: old(ok(x)) -> ok(old(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: top#_A(x1) = max{0, x1 - 5} ok_A(x1) = max{2, x1} new_A(x1) = max{9, x1} check_A(x1) = max{3, x1} old_A(x1) = max{7, x1 + 4} top_A(x1) = max{1, x1} bot_A = 10 precedence: check > bot > top# = ok = new = old = top partial status: pi(top#) = [] pi(ok) = [] pi(new) = [] pi(check) = [] pi(old) = [1] pi(top) = [] pi(bot) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: top#_A(x1) = 1 ok_A(x1) = 11 new_A(x1) = 11 check_A(x1) = 11 old_A(x1) = x1 + 21 top_A(x1) = 22 bot_A = 12 precedence: top > check = old = bot > new > top# = ok partial status: pi(top#) = [] pi(ok) = [] pi(new) = [] pi(check) = [] pi(old) = [1] pi(top) = [] pi(bot) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the non-minimal dependency pair problem (P, R), where P consists of p1: top#(ok(new(x))) -> top#(check(x)) and R consists of: r1: top(ok(new(x))) -> top(check(x)) r2: top(ok(old(x))) -> top(check(x)) r3: bot() -> new(bot()) r4: check(new(x)) -> new(check(x)) r5: check(old(x)) -> old(check(x)) r6: check(old(x)) -> ok(old(x)) r7: new(ok(x)) -> ok(new(x)) r8: old(ok(x)) -> ok(old(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: top#(ok(new(x))) -> top#(check(x)) and R consists of: r1: top(ok(new(x))) -> top(check(x)) r2: top(ok(old(x))) -> top(check(x)) r3: bot() -> new(bot()) r4: check(new(x)) -> new(check(x)) r5: check(old(x)) -> old(check(x)) r6: check(old(x)) -> ok(old(x)) r7: new(ok(x)) -> ok(new(x)) r8: old(ok(x)) -> ok(old(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: top#_A(x1) = x1 + (0,1) ok_A(x1) = x1 + (0,3) new_A(x1) = ((1,0),(1,1)) x1 check_A(x1) = ((1,0),(1,1)) x1 + (0,1) top_A(x1) = ((1,0),(1,1)) x1 + (1,1) old_A(x1) = x1 + (2,4) bot_A() = (0,1) precedence: check = top > old = bot > new > ok > top# partial status: pi(top#) = [1] pi(ok) = [1] pi(new) = [] pi(check) = [1] pi(top) = [1] pi(old) = [] pi(bot) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: top#_A(x1) = x1 ok_A(x1) = x1 + (3,1) new_A(x1) = (8,9) check_A(x1) = ((0,0),(1,0)) x1 + (8,1) top_A(x1) = ((1,0),(1,1)) x1 + (2,0) old_A(x1) = (4,2) bot_A() = (9,10) precedence: top# > top = old > bot > new = check > ok partial status: pi(top#) = [1] pi(ok) = [1] pi(new) = [] pi(check) = [] pi(top) = [] pi(old) = [] pi(bot) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.