YES We show the termination of the TRS R: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) rec(bot()) -> up(sent(bot())) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) top(rec(up(x))) -> top(check(rec(x))) top(sent(up(x))) -> top(check(rec(x))) top(no(up(x))) -> top(check(rec(x))) check(up(x)) -> up(check(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(x) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: rec#(rec(x)) -> sent#(rec(x)) p2: rec#(sent(x)) -> sent#(rec(x)) p3: rec#(sent(x)) -> rec#(x) p4: rec#(no(x)) -> sent#(rec(x)) p5: rec#(no(x)) -> rec#(x) p6: rec#(bot()) -> sent#(bot()) p7: rec#(up(x)) -> rec#(x) p8: sent#(up(x)) -> sent#(x) p9: no#(up(x)) -> no#(x) p10: top#(rec(up(x))) -> top#(check(rec(x))) p11: top#(rec(up(x))) -> check#(rec(x)) p12: top#(rec(up(x))) -> rec#(x) p13: top#(sent(up(x))) -> top#(check(rec(x))) p14: top#(sent(up(x))) -> check#(rec(x)) p15: top#(sent(up(x))) -> rec#(x) p16: top#(no(up(x))) -> top#(check(rec(x))) p17: top#(no(up(x))) -> check#(rec(x)) p18: top#(no(up(x))) -> rec#(x) p19: check#(up(x)) -> check#(x) p20: check#(sent(x)) -> sent#(check(x)) p21: check#(sent(x)) -> check#(x) p22: check#(rec(x)) -> rec#(check(x)) p23: check#(rec(x)) -> check#(x) p24: check#(no(x)) -> no#(check(x)) p25: check#(no(x)) -> check#(x) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(x) The estimated dependency graph contains the following SCCs: {p10, p13, p16} {p19, p21, p23, p25} {p3, p5, p7} {p8} {p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: top#(no(up(x))) -> top#(check(rec(x))) p2: top#(sent(up(x))) -> top#(check(rec(x))) p3: top#(rec(up(x))) -> top#(check(rec(x))) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(x) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, 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: top#_A(x1) = ((0,0),(1,0)) x1 + (3,9) no_A(x1) = ((0,0),(1,0)) x1 + (4,4) up_A(x1) = (2,1) check_A(x1) = ((1,0),(1,1)) x1 + (0,5) rec_A(x1) = (2,3) sent_A(x1) = ((1,0),(1,0)) x1 bot_A() = (2,2) precedence: no = check = rec > top# = sent > bot > up partial status: pi(top#) = [] pi(no) = [] pi(up) = [] pi(check) = [1] pi(rec) = [] pi(sent) = [] pi(bot) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: top#_A(x1) = (0,0) no_A(x1) = (5,4) up_A(x1) = (1,1) check_A(x1) = ((0,0),(1,0)) x1 + (4,5) rec_A(x1) = (3,3) sent_A(x1) = (2,2) bot_A() = (0,2) precedence: bot > top# = check > sent > no = up = rec partial status: pi(top#) = [] pi(no) = [] pi(up) = [] pi(check) = [] pi(rec) = [] pi(sent) = [] pi(bot) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: top#(sent(up(x))) -> top#(check(rec(x))) p2: top#(rec(up(x))) -> top#(check(rec(x))) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(x) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: top#(sent(up(x))) -> top#(check(rec(x))) p2: top#(rec(up(x))) -> top#(check(rec(x))) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(x) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, 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: top#_A(x1) = x1 sent_A(x1) = ((1,0),(1,1)) x1 + (1,2) up_A(x1) = x1 + (0,1) check_A(x1) = x1 rec_A(x1) = ((1,0),(1,1)) x1 + (1,3) no_A(x1) = ((1,0),(1,1)) x1 + (3,4) bot_A() = (1,1) precedence: check = rec = no > top# = sent > up = bot partial status: pi(top#) = [] pi(sent) = [1] pi(up) = [1] pi(check) = [1] pi(rec) = [1] pi(no) = [1] pi(bot) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: top#_A(x1) = (0,0) sent_A(x1) = ((1,0),(1,1)) x1 + (4,2) up_A(x1) = ((1,0),(1,1)) x1 + (6,5) check_A(x1) = ((1,0),(1,1)) x1 + (3,1) rec_A(x1) = ((1,0),(1,1)) x1 + (4,3) no_A(x1) = ((1,0),(1,1)) x1 + (5,4) bot_A() = (1,1) precedence: bot > up = check = rec > sent > top# = no partial status: pi(top#) = [] pi(sent) = [] pi(up) = [] pi(check) = [] pi(rec) = [] pi(no) = [1] pi(bot) = [] 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#(sent(up(x))) -> top#(check(rec(x))) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(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#(sent(up(x))) -> top#(check(rec(x))) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(x) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, 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: standard order interpretations: top#_A(x1) = ((1,0),(0,0)) x1 sent_A(x1) = ((1,1),(0,0)) x1 + (1,0) up_A(x1) = x1 + (2,0) check_A(x1) = ((1,0),(0,0)) x1 rec_A(x1) = ((1,0),(0,0)) x1 + (3,0) no_A(x1) = ((1,0),(0,0)) x1 + (5,0) bot_A() = (1,0) precedence: top# = sent = up = check = rec = no = bot partial status: pi(top#) = [] pi(sent) = [] pi(up) = [] pi(check) = [] pi(rec) = [] pi(no) = [] pi(bot) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: top#_A(x1) = ((1,1),(0,0)) x1 + (1,1) sent_A(x1) = x1 + (7,0) up_A(x1) = x1 check_A(x1) = ((1,0),(0,0)) x1 + (3,0) rec_A(x1) = ((1,1),(0,1)) x1 + (2,0) no_A(x1) = (1,0) bot_A() = (1,6) precedence: check > sent = rec = no > top# = up = bot partial status: pi(top#) = [] pi(sent) = [] pi(up) = [] pi(check) = [] pi(rec) = [1] pi(no) = [] pi(bot) = [] 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: check#(no(x)) -> check#(x) p2: check#(rec(x)) -> check#(x) p3: check#(sent(x)) -> check#(x) p4: check#(up(x)) -> check#(x) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(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: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: check#_A(x1) = x1 + (2,2) no_A(x1) = x1 + (3,3) rec_A(x1) = ((1,0),(1,1)) x1 + (3,3) sent_A(x1) = x1 + (1,1) up_A(x1) = x1 + (1,1) precedence: check# = no = rec = sent = up partial status: pi(check#) = [] pi(no) = [] pi(rec) = [] pi(sent) = [] pi(up) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: check#_A(x1) = ((1,0),(0,0)) x1 no_A(x1) = (1,1) rec_A(x1) = (1,1) sent_A(x1) = ((1,0),(0,0)) x1 + (1,1) up_A(x1) = (1,1) precedence: no > up > check# = rec = sent partial status: pi(check#) = [] pi(no) = [] pi(rec) = [] pi(sent) = [] pi(up) = [] The next rules are strictly ordered: p1, p2, p3, p4 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: rec#(up(x)) -> rec#(x) p2: rec#(no(x)) -> rec#(x) p3: rec#(sent(x)) -> rec#(x) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(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: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: rec#_A(x1) = x1 up_A(x1) = x1 + (1,1) no_A(x1) = x1 + (1,1) sent_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: no = sent > rec# = up partial status: pi(rec#) = [1] pi(up) = [1] pi(no) = [1] pi(sent) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: rec#_A(x1) = ((1,0),(1,0)) x1 up_A(x1) = ((1,0),(0,0)) x1 + (1,1) no_A(x1) = ((1,0),(0,0)) x1 + (1,1) sent_A(x1) = (1,1) precedence: rec# = up = no > sent partial status: pi(rec#) = [] pi(up) = [] pi(no) = [] pi(sent) = [] 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: sent#(up(x)) -> sent#(x) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(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: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: sent#_A(x1) = ((1,0),(1,1)) x1 + (2,2) up_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: sent# = up partial status: pi(sent#) = [] pi(up) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: sent#_A(x1) = ((1,0),(0,0)) x1 up_A(x1) = (1,1) precedence: up > sent# partial status: pi(sent#) = [] pi(up) = [] 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: no#(up(x)) -> no#(x) and R consists of: r1: rec(rec(x)) -> sent(rec(x)) r2: rec(sent(x)) -> sent(rec(x)) r3: rec(no(x)) -> sent(rec(x)) r4: rec(bot()) -> up(sent(bot())) r5: rec(up(x)) -> up(rec(x)) r6: sent(up(x)) -> up(sent(x)) r7: no(up(x)) -> up(no(x)) r8: top(rec(up(x))) -> top(check(rec(x))) r9: top(sent(up(x))) -> top(check(rec(x))) r10: top(no(up(x))) -> top(check(rec(x))) r11: check(up(x)) -> up(check(x)) r12: check(sent(x)) -> sent(check(x)) r13: check(rec(x)) -> rec(check(x)) r14: check(no(x)) -> no(check(x)) r15: check(no(x)) -> no(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: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: no#_A(x1) = ((1,0),(1,1)) x1 + (2,2) up_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: no# = up partial status: pi(no#) = [] pi(up) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: no#_A(x1) = ((1,0),(0,0)) x1 up_A(x1) = (1,1) precedence: up > no# partial status: pi(no#) = [] pi(up) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.