YES We show the termination of the TRS R: minus(n__0(),Y) -> |0|() minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) geq(X,n__0()) -> true() geq(n__0(),n__s(Y)) -> false() geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) div(|0|(),n__s(Y)) -> |0|() div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) |0|() -> n__0() s(X) -> n__s(X) div(X1,X2) -> n__div(X1,X2) minus(X1,X2) -> n__minus(X1,X2) activate(n__0()) -> |0|() activate(n__s(X)) -> s(activate(X)) activate(n__div(X1,X2)) -> div(activate(X1),X2) activate(n__minus(X1,X2)) -> minus(X1,X2) activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__0(),Y) -> |0|#() p2: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p3: minus#(n__s(X),n__s(Y)) -> activate#(X) p4: minus#(n__s(X),n__s(Y)) -> activate#(Y) p5: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p6: geq#(n__s(X),n__s(Y)) -> activate#(X) p7: geq#(n__s(X),n__s(Y)) -> activate#(Y) p8: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p9: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p10: div#(s(X),n__s(Y)) -> activate#(Y) p11: if#(true(),X,Y) -> activate#(X) p12: if#(false(),X,Y) -> activate#(Y) p13: activate#(n__0()) -> |0|#() p14: activate#(n__s(X)) -> s#(activate(X)) p15: activate#(n__s(X)) -> activate#(X) p16: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p17: activate#(n__div(X1,X2)) -> activate#(X1) p18: activate#(n__minus(X1,X2)) -> minus#(X1,X2) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p15, p16, p17, p18} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(Y) p3: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p4: minus#(n__s(X),n__s(Y)) -> activate#(X) p5: activate#(n__div(X1,X2)) -> activate#(X1) p6: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p7: div#(s(X),n__s(Y)) -> activate#(Y) p8: activate#(n__s(X)) -> activate#(X) p9: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p10: geq#(n__s(X),n__s(Y)) -> activate#(Y) p11: geq#(n__s(X),n__s(Y)) -> activate#(X) p12: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p13: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p14: if#(false(),X,Y) -> activate#(Y) p15: if#(true(),X,Y) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = max{16, x1 + 5, x2 + 6} n__s_A(x1) = x1 activate_A(x1) = max{8, x1} activate#_A(x1) = x1 + 5 n__minus_A(x1,x2) = max{11, x1, x2 + 2} n__div_A(x1,x2) = max{11, x1, x2 + 3} div#_A(x1,x2) = max{16, x1 + 5, x2 + 8} s_A(x1) = max{7, x1} geq#_A(x1,x2) = max{14, x1 + 5, x2 + 5} if#_A(x1,x2,x3) = max{x1 + 1, x2 + 5, x3 + 7} geq_A(x1,x2) = 3 n__0_A = 1 false_A = 0 true_A = 2 if_A(x1,x2,x3) = max{8, x2, x3 + 7} minus_A(x1,x2) = max{11, x1, x2 + 2} |0|_A = 4 div_A(x1,x2) = max{11, x1, x2 + 3} The next rules are strictly ordered: p2, p7, p14 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p3: minus#(n__s(X),n__s(Y)) -> activate#(X) p4: activate#(n__div(X1,X2)) -> activate#(X1) p5: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p6: activate#(n__s(X)) -> activate#(X) p7: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p8: geq#(n__s(X),n__s(Y)) -> activate#(Y) p9: geq#(n__s(X),n__s(Y)) -> activate#(X) p10: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p11: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p12: if#(true(),X,Y) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__s(X)) -> activate#(X) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p6: if#(true(),X,Y) -> activate#(X) p7: activate#(n__div(X1,X2)) -> activate#(X1) p8: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p9: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p10: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p11: geq#(n__s(X),n__s(Y)) -> activate#(X) p12: geq#(n__s(X),n__s(Y)) -> activate#(Y) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = max{x1 + 2, x2 + 5} n__s_A(x1) = x1 activate_A(x1) = x1 activate#_A(x1) = x1 + 2 n__div_A(x1,x2) = max{x1 + 2, x2 + 6} div#_A(x1,x2) = max{x1 + 4, x2 + 8} s_A(x1) = x1 if#_A(x1,x2,x3) = max{x1 + 2, x2 + 2, x3 + 1} geq_A(x1,x2) = max{x1 + 1, x2 + 1} n__minus_A(x1,x2) = max{x1, x2 + 3} n__0_A = 2 true_A = 1 geq#_A(x1,x2) = max{8, x1 + 2, x2 + 2} if_A(x1,x2,x3) = max{1, x2, x3} false_A = 1 minus_A(x1,x2) = max{x1, x2 + 3} |0|_A = 2 div_A(x1,x2) = max{x1 + 2, x2 + 6} The next rules are strictly ordered: p7 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__s(X)) -> activate#(X) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p6: if#(true(),X,Y) -> activate#(X) p7: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p8: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p9: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p10: geq#(n__s(X),n__s(Y)) -> activate#(X) p11: geq#(n__s(X),n__s(Y)) -> activate#(Y) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p6: geq#(n__s(X),n__s(Y)) -> activate#(Y) p7: activate#(n__s(X)) -> activate#(X) p8: geq#(n__s(X),n__s(Y)) -> activate#(X) p9: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p10: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p11: if#(true(),X,Y) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = x1 + 6 n__s_A(x1) = max{9, x1} activate_A(x1) = max{3, x1} activate#_A(x1) = x1 + 6 n__minus_A(x1,x2) = max{1, x1} n__div_A(x1,x2) = max{x1 + 10, x2 + 20} div#_A(x1,x2) = max{x1 + 16, x2 + 26} s_A(x1) = max{9, x1} geq#_A(x1,x2) = max{x1 + 16, x2 + 6} if#_A(x1,x2,x3) = max{x1 + 5, x2 + 6, x3 + 15} geq_A(x1,x2) = max{x1 + 10, x2 + 7} n__0_A = 0 true_A = 1 if_A(x1,x2,x3) = max{x2, x3 + 10} false_A = 1 minus_A(x1,x2) = max{2, x1} |0|_A = 1 div_A(x1,x2) = max{x1 + 10, x2 + 20} The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p6: geq#(n__s(X),n__s(Y)) -> activate#(Y) p7: activate#(n__s(X)) -> activate#(X) p8: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p9: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p10: if#(true(),X,Y) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__s(X)) -> activate#(X) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p6: if#(true(),X,Y) -> activate#(X) p7: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p8: div#(s(X),n__s(Y)) -> geq#(X,activate(Y)) p9: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) p10: geq#(n__s(X),n__s(Y)) -> activate#(Y) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = x1 + 1 n__s_A(x1) = x1 activate_A(x1) = x1 activate#_A(x1) = x1 + 1 n__div_A(x1,x2) = max{x1 + 5, x2 + 5} div#_A(x1,x2) = max{x1 + 6, x2 + 6} s_A(x1) = x1 if#_A(x1,x2,x3) = max{x1 + 5, x2 + 1, x3 + 2} geq_A(x1,x2) = max{x1 + 1, x2 + 1} n__minus_A(x1,x2) = x1 n__0_A = 3 true_A = 1 geq#_A(x1,x2) = max{x1 + 4, x2 + 3} if_A(x1,x2,x3) = max{x1 + 4, x2, x3} false_A = 1 minus_A(x1,x2) = x1 |0|_A = 3 div_A(x1,x2) = max{x1 + 5, x2 + 5} The next rules are strictly ordered: p8, p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__s(X)) -> activate#(X) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p6: if#(true(),X,Y) -> activate#(X) p7: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p8: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7} {p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: div#(s(X),n__s(Y)) -> if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) p6: if#(true(),X,Y) -> activate#(X) p7: activate#(n__s(X)) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = max{1, x1 - 59} n__s_A(x1) = max{43, x1 + 18} activate_A(x1) = max{32, x1 + 16} activate#_A(x1) = max{1, x1 - 42} n__minus_A(x1,x2) = max{4, x1 - 17} n__div_A(x1,x2) = max{62, x1 + 46} div#_A(x1,x2) = max{3, x1 - 12} s_A(x1) = max{51, x1 + 18} if#_A(x1,x2,x3) = max{x1 + 2, x2 - 42, x3 + 2} geq_A(x1,x2) = 0 n__0_A = 3 true_A = 0 if_A(x1,x2,x3) = max{32, x2 + 17, x3 + 31} false_A = 0 minus_A(x1,x2) = max{22, x1 - 9} |0|_A = 22 div_A(x1,x2) = max{62, x1 + 46} The next rules are strictly ordered: p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__minus(X1,X2)) -> minus#(X1,X2) p4: activate#(n__div(X1,X2)) -> div#(activate(X1),X2) p5: if#(true(),X,Y) -> activate#(X) p6: activate#(n__s(X)) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__s(X)) -> activate#(X) p4: activate#(n__minus(X1,X2)) -> minus#(X1,X2) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = x1 n__s_A(x1) = x1 activate_A(x1) = x1 activate#_A(x1) = max{0, x1 - 4} n__minus_A(x1,x2) = x1 + 5 geq_A(x1,x2) = max{x1 + 1, x2 + 1} n__0_A = 5 true_A = 1 false_A = 2 if_A(x1,x2,x3) = max{x2, x3} minus_A(x1,x2) = x1 + 5 |0|_A = 5 div_A(x1,x2) = 5 s_A(x1) = x1 n__div_A(x1,x2) = 5 The next rules are strictly ordered: p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) p2: minus#(n__s(X),n__s(Y)) -> activate#(X) p3: activate#(n__s(X)) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1} {p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: minus#(n__s(X),n__s(Y)) -> minus#(activate(X),activate(Y)) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: minus#_A(x1,x2) = max{5, x1, x2} n__s_A(x1) = x1 + 8 activate_A(x1) = x1 + 5 geq_A(x1,x2) = x1 + 5 n__0_A = 4 true_A = 5 false_A = 9 if_A(x1,x2,x3) = max{x1 + 8, x2 + 5, x3 + 5} minus_A(x1,x2) = 5 |0|_A = 5 div_A(x1,x2) = max{6, x1 + 5} s_A(x1) = max{13, x1 + 8} n__div_A(x1,x2) = x1 + 5 n__minus_A(x1,x2) = 0 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: activate#(n__s(X)) -> activate#(X) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of (no rules) Take the monotone reduction pair: max/plus interpretations on natural numbers: activate#_A(x1) = x1 n__s_A(x1) = x1 + 1 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: geq#(n__s(X),n__s(Y)) -> geq#(activate(X),activate(Y)) and R consists of: r1: minus(n__0(),Y) -> |0|() r2: minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) r3: geq(X,n__0()) -> true() r4: geq(n__0(),n__s(Y)) -> false() r5: geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) r6: div(|0|(),n__s(Y)) -> |0|() r7: div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0()) r8: if(true(),X,Y) -> activate(X) r9: if(false(),X,Y) -> activate(Y) r10: |0|() -> n__0() r11: s(X) -> n__s(X) r12: div(X1,X2) -> n__div(X1,X2) r13: minus(X1,X2) -> n__minus(X1,X2) r14: activate(n__0()) -> |0|() r15: activate(n__s(X)) -> s(activate(X)) r16: activate(n__div(X1,X2)) -> div(activate(X1),X2) r17: activate(n__minus(X1,X2)) -> minus(X1,X2) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: max/plus interpretations on natural numbers: geq#_A(x1,x2) = max{0, x1 - 15, x2 - 9} n__s_A(x1) = max{27, x1 + 16} activate_A(x1) = max{11, x1} geq_A(x1,x2) = max{1, x1} n__0_A = 8 true_A = 1 false_A = 8 if_A(x1,x2,x3) = max{x1 + 22, x2, x3 + 15} minus_A(x1,x2) = 9 |0|_A = 9 div_A(x1,x2) = max{22, x1 + 11} s_A(x1) = max{27, x1 + 16} n__div_A(x1,x2) = max{22, x1 + 11} n__minus_A(x1,x2) = 0 The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.