YES We show the termination of the TRS R: active(f(b(),X,c())) -> mark(f(X,c(),X)) active(c()) -> mark(b()) active(f(X1,X2,X3)) -> f(X1,active(X2),X3) f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) proper(b()) -> ok(b()) proper(c()) -> ok(c()) f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(b(),X,c())) -> f#(X,c(),X) p2: active#(f(X1,X2,X3)) -> f#(X1,active(X2),X3) p3: active#(f(X1,X2,X3)) -> active#(X2) p4: f#(X1,mark(X2),X3) -> f#(X1,X2,X3) p5: proper#(f(X1,X2,X3)) -> f#(proper(X1),proper(X2),proper(X3)) p6: proper#(f(X1,X2,X3)) -> proper#(X1) p7: proper#(f(X1,X2,X3)) -> proper#(X2) p8: proper#(f(X1,X2,X3)) -> proper#(X3) p9: f#(ok(X1),ok(X2),ok(X3)) -> f#(X1,X2,X3) p10: top#(mark(X)) -> top#(proper(X)) p11: top#(mark(X)) -> proper#(X) p12: top#(ok(X)) -> top#(active(X)) p13: top#(ok(X)) -> active#(X) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(X)) The estimated dependency graph contains the following SCCs: {p10, p12} {p3} {p6, p7, p8} {p4, p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: top#(ok(X)) -> top#(active(X)) p2: top#(mark(X)) -> top#(proper(X)) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(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: standard order interpretations: top#_A(x1) = ((0,1),(0,0)) x1 + (1,1) ok_A(x1) = x1 active_A(x1) = x1 mark_A(x1) = ((0,0),(1,1)) x1 + (1,1) proper_A(x1) = x1 f_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,1)) x2 + ((0,0),(0,1)) x3 + (1,2) b_A() = (4,1) c_A() = (2,6) precedence: active = proper = f = b = c > top# = ok = mark partial status: pi(top#) = [] pi(ok) = [] pi(active) = [1] pi(mark) = [] pi(proper) = [1] pi(f) = [] pi(b) = [] pi(c) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: top#_A(x1) = (4,7) ok_A(x1) = (5,6) active_A(x1) = ((1,1),(0,0)) x1 + (3,0) mark_A(x1) = (11,0) proper_A(x1) = ((1,1),(1,1)) x1 + (1,1) f_A(x1,x2,x3) = (2,6) b_A() = (12,1) c_A() = (2,2) precedence: proper = b > active > f > top# = ok = mark = c partial status: pi(top#) = [] pi(ok) = [] pi(active) = [] pi(mark) = [] pi(proper) = [1] pi(f) = [] pi(b) = [] pi(c) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: top#(ok(X)) -> top#(active(X)) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(X)) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: top#(ok(X)) -> top#(active(X)) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(X)) The set of usable rules consists of r1, r2, r3, r4, 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 - 11} ok_A(x1) = max{18, x1 + 16} active_A(x1) = max{10, x1 + 4} f_A(x1,x2,x3) = max{17, x1 + 15, x2 + 11, x3 + 15} mark_A(x1) = max{9, x1} b_A = 3 c_A = 4 precedence: active = f > ok = c > b > mark > top# partial status: pi(top#) = [] pi(ok) = [1] pi(active) = [1] pi(f) = [2, 3] pi(mark) = [1] pi(b) = [] pi(c) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: top#_A(x1) = 1 ok_A(x1) = max{11, x1 + 10} active_A(x1) = max{2, x1} f_A(x1,x2,x3) = max{10, x2 + 5, x3 + 8} mark_A(x1) = max{13, x1 + 12} b_A = 3 c_A = 4 precedence: top# = ok = active = f = mark = b = c partial status: pi(top#) = [] pi(ok) = [1] pi(active) = [1] pi(f) = [2, 3] pi(mark) = [1] pi(b) = [] pi(c) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(f(X1,X2,X3)) -> active#(X2) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(X)) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = max{2, x1 + 1} f_A(x1,x2,x3) = max{x1, x2, x3} precedence: active# = f partial status: pi(active#) = [1] pi(f) = [1, 2, 3] 2. weighted path order base order: max/plus interpretations on natural numbers: active#_A(x1) = x1 + 3 f_A(x1,x2,x3) = max{x1 + 2, x2 + 2, x3 + 2} precedence: active# = f partial status: pi(active#) = [] pi(f) = [3] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: proper#(f(X1,X2,X3)) -> proper#(X3) p2: proper#(f(X1,X2,X3)) -> proper#(X2) p3: proper#(f(X1,X2,X3)) -> proper#(X1) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(X)) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: proper#_A(x1) = max{2, x1 + 1} f_A(x1,x2,x3) = max{x1, x2, x3} precedence: proper# = f partial status: pi(proper#) = [1] pi(f) = [1, 2, 3] 2. weighted path order base order: max/plus interpretations on natural numbers: proper#_A(x1) = x1 + 1 f_A(x1,x2,x3) = max{x1, x2, x3} precedence: proper# = f partial status: pi(proper#) = [1] pi(f) = [1, 2, 3] The next rules are strictly ordered: p1, p2, p3 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: f#(X1,mark(X2),X3) -> f#(X1,X2,X3) p2: f#(ok(X1),ok(X2),ok(X3)) -> f#(X1,X2,X3) and R consists of: r1: active(f(b(),X,c())) -> mark(f(X,c(),X)) r2: active(c()) -> mark(b()) r3: active(f(X1,X2,X3)) -> f(X1,active(X2),X3) r4: f(X1,mark(X2),X3) -> mark(f(X1,X2,X3)) r5: proper(f(X1,X2,X3)) -> f(proper(X1),proper(X2),proper(X3)) r6: proper(b()) -> ok(b()) r7: proper(c()) -> ok(c()) r8: f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3)) r9: top(mark(X)) -> top(proper(X)) r10: top(ok(X)) -> top(active(X)) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: f#_A(x1,x2,x3) = max{2, x1 - 1, x2 + 1, x3 - 1} mark_A(x1) = max{1, x1} ok_A(x1) = max{1, x1} precedence: f# = mark = ok partial status: pi(f#) = [2] pi(mark) = [1] pi(ok) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: f#_A(x1,x2,x3) = max{0, x2 - 2} mark_A(x1) = max{3, x1 + 1} ok_A(x1) = max{3, x1 + 1} precedence: f# = mark = ok partial status: pi(f#) = [] pi(mark) = [1] pi(ok) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains.