YES We show the termination of the TRS R: U11(tt(),N) -> activate(N) U21(tt(),M,N) -> s(plus(activate(N),activate(M))) and(tt(),X) -> activate(X) isNat(n__0()) -> tt() isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) isNat(n__s(V1)) -> isNat(activate(V1)) plus(N,|0|()) -> U11(isNat(N),N) plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) |0|() -> n__0() plus(X1,X2) -> n__plus(X1,X2) isNat(X) -> n__isNat(X) s(X) -> n__s(X) activate(n__0()) -> |0|() activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__isNat(X)) -> isNat(X) activate(n__s(X)) -> s(activate(X)) activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),N) -> activate#(N) p2: U21#(tt(),M,N) -> s#(plus(activate(N),activate(M))) p3: U21#(tt(),M,N) -> plus#(activate(N),activate(M)) p4: U21#(tt(),M,N) -> activate#(N) p5: U21#(tt(),M,N) -> activate#(M) p6: and#(tt(),X) -> activate#(X) p7: isNat#(n__plus(V1,V2)) -> and#(isNat(activate(V1)),n__isNat(activate(V2))) p8: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p9: isNat#(n__plus(V1,V2)) -> activate#(V1) p10: isNat#(n__plus(V1,V2)) -> activate#(V2) p11: isNat#(n__s(V1)) -> isNat#(activate(V1)) p12: isNat#(n__s(V1)) -> activate#(V1) p13: plus#(N,|0|()) -> U11#(isNat(N),N) p14: plus#(N,|0|()) -> isNat#(N) p15: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) p16: plus#(N,s(M)) -> and#(isNat(M),n__isNat(N)) p17: plus#(N,s(M)) -> isNat#(M) p18: activate#(n__0()) -> |0|#() p19: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p20: activate#(n__plus(X1,X2)) -> activate#(X1) p21: activate#(n__plus(X1,X2)) -> activate#(X2) p22: activate#(n__isNat(X)) -> isNat#(X) p23: activate#(n__s(X)) -> s#(activate(X)) p24: activate#(n__s(X)) -> activate#(X) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p19, p20, p21, p22, p24} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),N) -> activate#(N) p2: activate#(n__s(X)) -> activate#(X) p3: activate#(n__isNat(X)) -> isNat#(X) p4: isNat#(n__s(V1)) -> activate#(V1) p5: activate#(n__plus(X1,X2)) -> activate#(X2) p6: activate#(n__plus(X1,X2)) -> activate#(X1) p7: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p8: plus#(N,s(M)) -> isNat#(M) p9: isNat#(n__s(V1)) -> isNat#(activate(V1)) p10: isNat#(n__plus(V1,V2)) -> activate#(V2) p11: isNat#(n__plus(V1,V2)) -> activate#(V1) p12: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p13: isNat#(n__plus(V1,V2)) -> and#(isNat(activate(V1)),n__isNat(activate(V2))) p14: and#(tt(),X) -> activate#(X) p15: plus#(N,s(M)) -> and#(isNat(M),n__isNat(N)) p16: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) p17: U21#(tt(),M,N) -> activate#(M) p18: U21#(tt(),M,N) -> activate#(N) p19: U21#(tt(),M,N) -> plus#(activate(N),activate(M)) p20: plus#(N,|0|()) -> isNat#(N) p21: plus#(N,|0|()) -> U11#(isNat(N),N) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: 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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: U11#_A(x1,x2) = max{x1 - 4, x2 + 7} tt_A = 3 activate#_A(x1) = max{6, x1 - 2} n__s_A(x1) = max{57, x1} n__isNat_A(x1) = max{14, x1 + 12} isNat#_A(x1) = x1 + 10 n__plus_A(x1,x2) = max{105, x1 + 71, x2 + 88} plus#_A(x1,x2) = max{x1 + 10, x2 + 13} activate_A(x1) = max{16, x1} s_A(x1) = max{57, x1} and#_A(x1,x2) = max{70, x2 - 2} isNat_A(x1) = max{14, x1 + 12} U21#_A(x1,x2,x3) = max{70, x1 - 49, x2 + 13, x3 + 10} and_A(x1,x2) = x2 + 44 |0|_A = 2 U11_A(x1,x2) = max{x1 + 59, x2 + 70} U21_A(x1,x2,x3) = max{106, x1 + 14, x2 + 88, x3 + 71} plus_A(x1,x2) = max{105, x1 + 71, x2 + 88} n__0_A = 0 precedence: n__isNat = isNat > activate = and > plus > s = U21 > |0| = n__0 > n__s > n__plus = plus# = and# = U21# > activate# > tt = isNat# > U11# > U11 partial status: pi(U11#) = [2] pi(tt) = [] pi(activate#) = [] pi(n__s) = [] pi(n__isNat) = [] pi(isNat#) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [1] pi(s) = [] pi(and#) = [] pi(isNat) = [] pi(U21#) = [] pi(and) = [2] pi(|0|) = [] pi(U11) = [2] pi(U21) = [1] pi(plus) = [] pi(n__0) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: U11#_A(x1,x2) = 26 tt_A = 16 activate#_A(x1) = 27 n__s_A(x1) = 1 n__isNat_A(x1) = 6 isNat#_A(x1) = 27 n__plus_A(x1,x2) = 38 plus#_A(x1,x2) = 27 activate_A(x1) = 29 s_A(x1) = 14 and#_A(x1,x2) = 27 isNat_A(x1) = 29 U21#_A(x1,x2,x3) = 27 and_A(x1,x2) = 29 |0|_A = 30 U11_A(x1,x2) = max{70, x2 + 38} U21_A(x1,x2,x3) = 29 plus_A(x1,x2) = 29 n__0_A = 19 precedence: s > tt > U11# = activate# = isNat# = plus# = activate = and# = isNat = U21# = and = |0| = n__0 > plus > U11 = U21 > n__isNat = n__plus > n__s partial status: pi(U11#) = [] pi(tt) = [] pi(activate#) = [] pi(n__s) = [] pi(n__isNat) = [] pi(isNat#) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [] pi(s) = [] pi(and#) = [] pi(isNat) = [] pi(U21#) = [] pi(and) = [] pi(|0|) = [] pi(U11) = [2] pi(U21) = [] pi(plus) = [] pi(n__0) = [] The next rules are strictly ordered: p1, p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) p2: activate#(n__isNat(X)) -> isNat#(X) p3: isNat#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> activate#(X2) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p7: plus#(N,s(M)) -> isNat#(M) p8: isNat#(n__s(V1)) -> isNat#(activate(V1)) p9: isNat#(n__plus(V1,V2)) -> activate#(V1) p10: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p11: isNat#(n__plus(V1,V2)) -> and#(isNat(activate(V1)),n__isNat(activate(V2))) p12: and#(tt(),X) -> activate#(X) p13: plus#(N,s(M)) -> and#(isNat(M),n__isNat(N)) p14: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) p15: U21#(tt(),M,N) -> activate#(M) p16: U21#(tt(),M,N) -> activate#(N) p17: U21#(tt(),M,N) -> plus#(activate(N),activate(M)) p18: plus#(N,|0|()) -> isNat#(N) p19: plus#(N,|0|()) -> U11#(isNat(N),N) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) p2: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p3: plus#(N,|0|()) -> isNat#(N) p4: isNat#(n__plus(V1,V2)) -> and#(isNat(activate(V1)),n__isNat(activate(V2))) p5: and#(tt(),X) -> activate#(X) p6: activate#(n__plus(X1,X2)) -> activate#(X1) p7: activate#(n__plus(X1,X2)) -> activate#(X2) p8: activate#(n__isNat(X)) -> isNat#(X) p9: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p10: isNat#(n__plus(V1,V2)) -> activate#(V1) p11: isNat#(n__s(V1)) -> isNat#(activate(V1)) p12: isNat#(n__s(V1)) -> activate#(V1) p13: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) p14: U21#(tt(),M,N) -> plus#(activate(N),activate(M)) p15: plus#(N,s(M)) -> and#(isNat(M),n__isNat(N)) p16: plus#(N,s(M)) -> isNat#(M) p17: U21#(tt(),M,N) -> activate#(N) p18: U21#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: 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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = max{2, x1 - 3} n__s_A(x1) = max{4, x1} n__plus_A(x1,x2) = max{x1 + 26, x2 + 16} plus#_A(x1,x2) = max{x1 + 12, x2 + 9} activate_A(x1) = x1 |0|_A = 26 isNat#_A(x1) = max{3, x1 - 2} and#_A(x1,x2) = max{13, x1, x2 + 3} isNat_A(x1) = x1 + 9 n__isNat_A(x1) = x1 + 9 tt_A = 34 s_A(x1) = max{4, x1} U21#_A(x1,x2,x3) = max{x2 + 9, x3 + 12} and_A(x1,x2) = max{x1 + 7, x2 + 16} U11_A(x1,x2) = max{x1 + 17, x2 + 26} U21_A(x1,x2,x3) = max{x1 - 7, x2 + 16, x3 + 26} plus_A(x1,x2) = max{x1 + 26, x2 + 16} n__0_A = 26 precedence: activate# = n__plus = isNat# = plus > plus# = U21# > isNat = n__isNat > and# = tt > and = U21 > activate = s > |0| > U11 > n__s > n__0 partial status: pi(activate#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [1] pi(|0|) = [] pi(isNat#) = [] pi(and#) = [1, 2] pi(isNat) = [] pi(n__isNat) = [] pi(tt) = [] pi(s) = [] pi(U21#) = [] pi(and) = [] pi(U11) = [1, 2] pi(U21) = [] pi(plus) = [] pi(n__0) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = 113 n__s_A(x1) = 9 n__plus_A(x1,x2) = 18 plus#_A(x1,x2) = 109 activate_A(x1) = 46 |0|_A = 45 isNat#_A(x1) = 113 and#_A(x1,x2) = max{109, x1 + 63} isNat_A(x1) = 46 n__isNat_A(x1) = 19 tt_A = 55 s_A(x1) = 35 U21#_A(x1,x2,x3) = 109 and_A(x1,x2) = 46 U11_A(x1,x2) = max{47, x1 + 1, x2 + 25} U21_A(x1,x2,x3) = 43 plus_A(x1,x2) = 44 n__0_A = 20 precedence: |0| > plus# = n__isNat = U21# > and# > activate# = isNat# > activate = isNat = and > tt > U11 = U21 > s > n__s > plus = n__0 > n__plus partial status: pi(activate#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [] pi(|0|) = [] pi(isNat#) = [] pi(and#) = [1] pi(isNat) = [] pi(n__isNat) = [] pi(tt) = [] pi(s) = [] pi(U21#) = [] pi(and) = [] pi(U11) = [1, 2] pi(U21) = [] pi(plus) = [] pi(n__0) = [] The next rules are strictly ordered: p2, p3, p5, p6, p7, p9, p16, p17, p18 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) p2: isNat#(n__plus(V1,V2)) -> and#(isNat(activate(V1)),n__isNat(activate(V2))) p3: activate#(n__isNat(X)) -> isNat#(X) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: isNat#(n__s(V1)) -> isNat#(activate(V1)) p6: isNat#(n__s(V1)) -> activate#(V1) p7: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) p8: U21#(tt(),M,N) -> plus#(activate(N),activate(M)) p9: plus#(N,s(M)) -> and#(isNat(M),n__isNat(N)) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p3, p4, p5, p6} {p7, p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) p2: activate#(n__isNat(X)) -> isNat#(X) p3: isNat#(n__s(V1)) -> activate#(V1) p4: isNat#(n__s(V1)) -> isNat#(activate(V1)) p5: isNat#(n__plus(V1,V2)) -> activate#(V1) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: 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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = x1 n__s_A(x1) = x1 n__isNat_A(x1) = x1 + 16 isNat#_A(x1) = x1 + 9 activate_A(x1) = x1 n__plus_A(x1,x2) = max{25, x1 + 23, x2 + 8} U11_A(x1,x2) = max{22, x1 + 6, x2 + 1} tt_A = 28 U21_A(x1,x2,x3) = max{x1 - 2, x2 + 8, x3 + 23} s_A(x1) = x1 plus_A(x1,x2) = max{25, x1 + 23, x2 + 8} and_A(x1,x2) = max{9, x2 + 8} isNat_A(x1) = x1 + 16 n__0_A = 13 |0|_A = 13 precedence: activate# = n__s = n__isNat = isNat# = activate = n__plus = U11 = tt = U21 = s = plus = and = isNat = n__0 = |0| partial status: pi(activate#) = [] pi(n__s) = [] pi(n__isNat) = [] pi(isNat#) = [] pi(activate) = [] pi(n__plus) = [] pi(U11) = [] pi(tt) = [] pi(U21) = [] pi(s) = [] pi(plus) = [] pi(and) = [] pi(isNat) = [] pi(n__0) = [] pi(|0|) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = 20 n__s_A(x1) = max{2, x1} n__isNat_A(x1) = x1 + 22 isNat#_A(x1) = max{24, x1 + 23} activate_A(x1) = x1 n__plus_A(x1,x2) = 11 U11_A(x1,x2) = 17 tt_A = 20 U21_A(x1,x2,x3) = 11 s_A(x1) = max{2, x1} plus_A(x1,x2) = 11 and_A(x1,x2) = 33 isNat_A(x1) = x1 + 22 n__0_A = 1 |0|_A = 1 precedence: isNat# = n__plus = plus > U21 > activate# = n__s = tt = s > activate > |0| > U11 = isNat = n__0 > n__isNat = and partial status: pi(activate#) = [] pi(n__s) = [] pi(n__isNat) = [1] pi(isNat#) = [] pi(activate) = [1] pi(n__plus) = [] pi(U11) = [] pi(tt) = [] pi(U21) = [] pi(s) = [] pi(plus) = [] pi(and) = [] pi(isNat) = [] pi(n__0) = [] pi(|0|) = [] The next rules are strictly ordered: p2, p3, p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) p2: isNat#(n__s(V1)) -> isNat#(activate(V1)) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: activate(X) -> 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: activate#(n__s(X)) -> activate#(X) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: activate(X) -> 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: activate#_A(x1) = max{4, x1 + 3} n__s_A(x1) = max{3, x1 + 2} precedence: activate# = n__s partial status: pi(activate#) = [1] pi(n__s) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = max{1, x1 - 1} n__s_A(x1) = x1 precedence: activate# = n__s partial status: pi(activate#) = [] pi(n__s) = [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: isNat#(n__s(V1)) -> isNat#(activate(V1)) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: 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 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = ((1,0),(0,0)) x1 + (12,1) n__s_A(x1) = ((1,0),(0,0)) x1 + (12,3) activate_A(x1) = ((1,0),(1,1)) x1 + (0,3) U11_A(x1,x2) = ((1,0),(1,1)) x2 + (1,4) tt_A() = (11,12) U21_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (24,10) s_A(x1) = ((1,0),(0,0)) x1 + (12,9) plus_A(x1,x2) = x1 + x2 + (12,5) and_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (1,1) isNat_A(x1) = ((1,0),(0,0)) x1 + (11,13) n__0_A() = (0,13) n__plus_A(x1,x2) = x1 + x2 + (12,2) n__isNat_A(x1) = ((1,0),(0,0)) x1 + (11,0) |0|_A() = (0,14) precedence: isNat# > |0| > isNat > n__s = s > and > n__0 > tt > activate = U11 = U21 = plus = n__plus = n__isNat partial status: pi(isNat#) = [] pi(n__s) = [] pi(activate) = [] pi(U11) = [2] pi(tt) = [] pi(U21) = [] pi(s) = [] pi(plus) = [1, 2] pi(and) = [] pi(isNat) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__isNat) = [] pi(|0|) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = (0,0) n__s_A(x1) = (9,3) activate_A(x1) = (8,6) U11_A(x1,x2) = (9,7) tt_A() = (1,1) U21_A(x1,x2,x3) = (12,8) s_A(x1) = (10,7) plus_A(x1,x2) = ((1,0),(0,0)) x2 + (3,9) and_A(x1,x2) = (9,5) isNat_A(x1) = (7,2) n__0_A() = (2,0) n__plus_A(x1,x2) = (2,4) n__isNat_A(x1) = (1,3) |0|_A() = (3,8) precedence: plus = and = n__plus > U11 > U21 > tt > activate = n__0 > n__s = s = isNat = |0| > isNat# = n__isNat partial status: pi(isNat#) = [] pi(n__s) = [] pi(activate) = [] pi(U11) = [] pi(tt) = [] pi(U21) = [] pi(s) = [] pi(plus) = [] pi(and) = [] pi(isNat) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__isNat) = [] pi(|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: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) p2: U21#(tt(),M,N) -> plus#(activate(N),activate(M)) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: 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 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) = ((1,0),(0,0)) x2 + (2,18) s_A(x1) = ((1,0),(0,0)) x1 + (12,28) U21#_A(x1,x2,x3) = x2 + (13,29) and_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (19,1) isNat_A(x1) = x1 + (15,17) n__isNat_A(x1) = x1 + (15,1) tt_A() = (30,16) activate_A(x1) = ((1,0),(1,1)) x1 + (0,17) U11_A(x1,x2) = ((1,0),(1,1)) x2 + (17,18) U21_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (31,6) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (19,1) |0|_A() = (16,19) n__0_A() = (16,0) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (19,0) n__s_A(x1) = ((1,0),(0,0)) x1 + (12,0) precedence: plus# > U21# = U21 > s = n__plus > n__s > isNat = activate = plus = |0| > tt > and = n__isNat = U11 > n__0 partial status: pi(plus#) = [] pi(s) = [] pi(U21#) = [2] pi(and) = [] pi(isNat) = [] pi(n__isNat) = [1] pi(tt) = [] pi(activate) = [1] pi(U11) = [] pi(U21) = [] pi(plus) = [2] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: plus#_A(x1,x2) = (6,5) s_A(x1) = (2,10) U21#_A(x1,x2,x3) = (3,11) and_A(x1,x2) = (5,11) isNat_A(x1) = (3,3) n__isNat_A(x1) = x1 + (2,2) tt_A() = (1,4) activate_A(x1) = ((1,0),(1,1)) x1 + (4,8) U11_A(x1,x2) = (1,7) U21_A(x1,x2,x3) = (5,0) plus_A(x1,x2) = (8,1) |0|_A() = (4,6) n__0_A() = (2,5) n__plus_A(x1,x2) = (7,0) n__s_A(x1) = (1,0) precedence: s = U21 > n__isNat = plus > n__s > tt > plus# > U21# = |0| = n__plus > and > n__0 > activate = U11 > isNat partial status: pi(plus#) = [] pi(s) = [] pi(U21#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNat) = [] pi(tt) = [] pi(activate) = [] pi(U11) = [] pi(U21) = [] pi(plus) = [] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [] 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: plus#(N,s(M)) -> U21#(and(isNat(M),n__isNat(N)),M,N) and R consists of: r1: U11(tt(),N) -> activate(N) r2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) r3: and(tt(),X) -> activate(X) r4: isNat(n__0()) -> tt() r5: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) r6: isNat(n__s(V1)) -> isNat(activate(V1)) r7: plus(N,|0|()) -> U11(isNat(N),N) r8: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) r9: |0|() -> n__0() r10: plus(X1,X2) -> n__plus(X1,X2) r11: isNat(X) -> n__isNat(X) r12: s(X) -> n__s(X) r13: activate(n__0()) -> |0|() r14: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r15: activate(n__isNat(X)) -> isNat(X) r16: activate(n__s(X)) -> s(activate(X)) r17: activate(X) -> X The estimated dependency graph contains the following SCCs: (no SCCs)