YES We show the termination of the TRS R: U11(tt(),V2) -> U12(isNat(activate(V2))) U12(tt()) -> tt() U21(tt()) -> tt() U31(tt(),N) -> activate(N) U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) U42(tt(),M,N) -> s(plus(activate(N),activate(M))) isNat(n__0()) -> tt() isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) isNat(n__s(V1)) -> U21(isNat(activate(V1))) plus(N,|0|()) -> U31(isNat(N),N) plus(N,s(M)) -> U41(isNat(M),M,N) |0|() -> n__0() plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) activate(n__0()) -> |0|() activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) 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(),V2) -> U12#(isNat(activate(V2))) p2: U11#(tt(),V2) -> isNat#(activate(V2)) p3: U11#(tt(),V2) -> activate#(V2) p4: U31#(tt(),N) -> activate#(N) p5: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p6: U41#(tt(),M,N) -> isNat#(activate(N)) p7: U41#(tt(),M,N) -> activate#(N) p8: U41#(tt(),M,N) -> activate#(M) p9: U42#(tt(),M,N) -> s#(plus(activate(N),activate(M))) p10: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p11: U42#(tt(),M,N) -> activate#(N) p12: U42#(tt(),M,N) -> activate#(M) p13: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p14: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p15: isNat#(n__plus(V1,V2)) -> activate#(V1) p16: isNat#(n__plus(V1,V2)) -> activate#(V2) p17: isNat#(n__s(V1)) -> U21#(isNat(activate(V1))) p18: isNat#(n__s(V1)) -> isNat#(activate(V1)) p19: isNat#(n__s(V1)) -> activate#(V1) p20: plus#(N,|0|()) -> U31#(isNat(N),N) p21: plus#(N,|0|()) -> isNat#(N) p22: plus#(N,s(M)) -> U41#(isNat(M),M,N) p23: plus#(N,s(M)) -> isNat#(M) p24: activate#(n__0()) -> |0|#() p25: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p26: activate#(n__plus(X1,X2)) -> activate#(X1) p27: activate#(n__plus(X1,X2)) -> activate#(X2) p28: activate#(n__s(X)) -> s#(activate(X)) p29: activate#(n__s(X)) -> activate#(X) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p2, p3, p4, p5, p6, p7, p8, p10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p25, p26, p27, p29} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V2) -> isNat#(activate(V2)) p2: isNat#(n__s(V1)) -> activate#(V1) p3: activate#(n__s(X)) -> activate#(X) 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#(V2) p10: isNat#(n__plus(V1,V2)) -> activate#(V1) p11: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p12: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p13: U11#(tt(),V2) -> activate#(V2) p14: plus#(N,s(M)) -> U41#(isNat(M),M,N) p15: U41#(tt(),M,N) -> activate#(M) p16: U41#(tt(),M,N) -> activate#(N) p17: U41#(tt(),M,N) -> isNat#(activate(N)) p18: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p19: U42#(tt(),M,N) -> activate#(M) p20: U42#(tt(),M,N) -> activate#(N) p21: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p22: plus#(N,|0|()) -> isNat#(N) p23: plus#(N,|0|()) -> U31#(isNat(N),N) p24: U31#(tt(),N) -> activate#(N) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) 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: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: U11#_A(x1,x2) = max{x1 + 2, x2 + 6} tt_A = 6 isNat#_A(x1) = max{5, x1 - 1} activate_A(x1) = x1 n__s_A(x1) = max{7, x1} activate#_A(x1) = max{0, x1 - 2} n__plus_A(x1,x2) = max{x1 + 27, x2 + 25} plus#_A(x1,x2) = max{x1 + 21, x2 + 22} s_A(x1) = max{7, x1} isNat_A(x1) = x1 + 10 U41#_A(x1,x2,x3) = max{x1 + 7, x2 + 22, x3 + 21} U42#_A(x1,x2,x3) = max{x1 + 10, x2 + 22, x3 + 21} |0|_A = 3 U31#_A(x1,x2) = max{x1 + 1, x2 + 20} U42_A(x1,x2,x3) = max{x1 - 7, x2 + 25, x3 + 27} plus_A(x1,x2) = max{x1 + 27, x2 + 25} U12_A(x1) = max{19, x1 + 18} U31_A(x1,x2) = max{27, x1 + 17, x2 + 1} U41_A(x1,x2,x3) = max{x1 + 3, x2 + 25, x3 + 27} U11_A(x1,x2) = max{x1 + 18, x2 + 35} U21_A(x1) = 6 n__0_A = 3 precedence: n__plus = plus > isNat = U12 = U41 = U11 > U42 > isNat# > activate > s = U31 > |0| > U21 = n__0 > tt > U11# > plus# = U41# = U42# > n__s = activate# = U31# partial status: pi(U11#) = [1] pi(tt) = [] pi(isNat#) = [] pi(activate) = [1] pi(n__s) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat) = [1] pi(U41#) = [] pi(U42#) = [] pi(|0|) = [] pi(U31#) = [1, 2] pi(U42) = [2] pi(plus) = [] pi(U12) = [] pi(U31) = [2] pi(U41) = [3] pi(U11) = [] pi(U21) = [] pi(n__0) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: U11#_A(x1,x2) = max{52, x1} tt_A = 79 isNat#_A(x1) = 52 activate_A(x1) = 66 n__s_A(x1) = 5 activate#_A(x1) = 57 n__plus_A(x1,x2) = 44 plus#_A(x1,x2) = 55 s_A(x1) = 6 isNat_A(x1) = 52 U41#_A(x1,x2,x3) = 55 U42#_A(x1,x2,x3) = 55 |0|_A = 65 U31#_A(x1,x2) = x1 + 2 U42_A(x1,x2,x3) = 146 plus_A(x1,x2) = 147 U12_A(x1) = 80 U31_A(x1,x2) = x2 + 67 U41_A(x1,x2,x3) = 147 U11_A(x1,x2) = 51 U21_A(x1) = 78 n__0_A = 0 precedence: |0| = U31 > activate = U42 = U12 > U11 = n__0 > s > plus > U41 > plus# = U41# = U42# > isNat# > U11# = U21 > activate# = U31# > n__plus > isNat > tt > n__s partial status: pi(U11#) = [1] pi(tt) = [] pi(isNat#) = [] pi(activate) = [] pi(n__s) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat) = [] pi(U41#) = [] pi(U42#) = [] pi(|0|) = [] pi(U31#) = [1] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [2] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p1, p2, p6, p7, p9, p10, p12, p13, p15, p16, p17, p19, p20, p22 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__plus(X1,X2)) -> activate#(X2) p3: activate#(n__plus(X1,X2)) -> activate#(X1) p4: isNat#(n__s(V1)) -> isNat#(activate(V1)) p5: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p6: plus#(N,s(M)) -> U41#(isNat(M),M,N) p7: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p8: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p9: plus#(N,|0|()) -> U31#(isNat(N),N) p10: U31#(tt(),N) -> activate#(N) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p6, p7, p8} {p1, p2, p3} {p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p2: plus#(N,s(M)) -> U41#(isNat(M),M,N) p3: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) 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: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U42#_A(x1,x2,x3) = x1 + ((1,0),(1,1)) x2 + x3 + (1,14) tt_A() = (3,0) plus#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (4,1) activate_A(x1) = x1 + (0,6) s_A(x1) = x1 + (30,0) U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + x3 + (34,30) isNat_A(x1) = (33,3) U42_A(x1,x2,x3) = ((1,0),(1,0)) x2 + x3 + (32,14) plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (2,7) U12_A(x1) = (4,1) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (35,5) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + x3 + (32,36) U11_A(x1,x2) = (5,2) U21_A(x1) = (31,1) |0|_A() = (34,4) n__0_A() = (34,3) n__plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (2,7) n__s_A(x1) = x1 + (30,0) precedence: isNat = U12 = U11 = U21 > tt > activate = |0| > U31 > plus = n__plus > U41 > U42 > s > n__s > n__0 > U42# > U41# > plus# partial status: pi(U42#) = [1, 2, 3] pi(tt) = [] pi(plus#) = [1, 2] pi(activate) = [1] pi(s) = [1] pi(U41#) = [2] pi(isNat) = [] pi(U42) = [3] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [3] pi(U11) = [] pi(U21) = [] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [1] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U42#_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 tt_A() = (14,6) plus#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (7,4) activate_A(x1) = x1 + (3,0) s_A(x1) = x1 + (1,2) U41#_A(x1,x2,x3) = (7,3) isNat_A(x1) = (0,0) U42_A(x1,x2,x3) = (7,5) plus_A(x1,x2) = (5,2) U12_A(x1) = (14,7) U31_A(x1,x2) = (0,0) U41_A(x1,x2,x3) = (2,1) U11_A(x1,x2) = (0,0) U21_A(x1) = (0,0) |0|_A() = (1,1) n__0_A() = (1,1) n__plus_A(x1,x2) = (4,3) n__s_A(x1) = ((1,0),(0,0)) x1 + (5,1) precedence: n__s > isNat = plus > U11 > U42 > n__plus > U31 > |0| = n__0 > U12 > U42# = plus# = activate = s = U41# = U41 > tt > U21 partial status: pi(U42#) = [] pi(tt) = [] pi(plus#) = [1] pi(activate) = [] pi(s) = [] pi(U41#) = [] pi(isNat) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [] 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: activate#(n__s(X)) -> activate#(X) p2: activate#(n__plus(X1,X2)) -> activate#(X1) p3: activate#(n__plus(X1,X2)) -> activate#(X2) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) r18: 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{2, x1 + 1} n__s_A(x1) = max{1, x1} n__plus_A(x1,x2) = max{1, x1, x2} precedence: activate# = n__s = n__plus partial status: pi(activate#) = [1] pi(n__s) = [1] pi(n__plus) = [1, 2] 2. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = x1 + 2 n__s_A(x1) = x1 + 1 n__plus_A(x1,x2) = max{x1 + 1, x2 + 1} precedence: activate# = n__s = n__plus partial status: pi(activate#) = [] pi(n__s) = [1] pi(n__plus) = [2] 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: isNat#(n__s(V1)) -> isNat#(activate(V1)) p2: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) 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: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: isNat#_A(x1) = x1 n__s_A(x1) = x1 activate_A(x1) = x1 n__plus_A(x1,x2) = max{x1 + 12, x2 + 4} U12_A(x1) = max{0, x1 - 1} tt_A = 0 U11_A(x1,x2) = max{0, x1 - 2} isNat_A(x1) = 0 U21_A(x1) = x1 U42_A(x1,x2,x3) = max{x2 + 4, x3 + 12} s_A(x1) = x1 plus_A(x1,x2) = max{x1 + 12, x2 + 4} U31_A(x1,x2) = max{x1 + 7, x2 + 1} U41_A(x1,x2,x3) = max{x1 - 1, x2 + 4, x3 + 12} n__0_A = 1 |0|_A = 1 precedence: isNat > n__plus = plus > U21 > n__0 = |0| > U31 > activate = U11 > U12 > tt = U41 > U42 > isNat# = n__s = s partial status: pi(isNat#) = [] pi(n__s) = [] pi(activate) = [1] pi(n__plus) = [] pi(U12) = [] pi(tt) = [] pi(U11) = [] pi(isNat) = [] pi(U21) = [] pi(U42) = [3] pi(s) = [] pi(plus) = [] pi(U31) = [1, 2] pi(U41) = [] pi(n__0) = [] pi(|0|) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: isNat#_A(x1) = 26 n__s_A(x1) = 14 activate_A(x1) = 25 n__plus_A(x1,x2) = 25 U12_A(x1) = 34 tt_A = 37 U11_A(x1,x2) = 35 isNat_A(x1) = 36 U21_A(x1) = 35 U42_A(x1,x2,x3) = 25 s_A(x1) = 14 plus_A(x1,x2) = 25 U31_A(x1,x2) = max{35, x1 - 1, x2 + 26} U41_A(x1,x2,x3) = 25 n__0_A = 26 |0|_A = 26 precedence: isNat# = U21 = U31 > activate = s = plus = n__0 = |0| > U41 > U42 > n__s = n__plus = U12 = tt = U11 = isNat partial status: pi(isNat#) = [] pi(n__s) = [] pi(activate) = [] pi(n__plus) = [] pi(U12) = [] pi(tt) = [] pi(U11) = [] pi(isNat) = [] pi(U21) = [] pi(U42) = [] pi(s) = [] pi(plus) = [] pi(U31) = [2] pi(U41) = [] pi(n__0) = [] pi(|0|) = [] 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: isNat#(n__s(V1)) -> isNat#(activate(V1)) and R consists of: r1: U11(tt(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1} -- 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(),V2) -> U12(isNat(activate(V2))) r2: U12(tt()) -> tt() r3: U21(tt()) -> tt() r4: U31(tt(),N) -> activate(N) r5: U41(tt(),M,N) -> U42(isNat(activate(N)),activate(M),activate(N)) r6: U42(tt(),M,N) -> s(plus(activate(N),activate(M))) r7: isNat(n__0()) -> tt() r8: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) r9: isNat(n__s(V1)) -> U21(isNat(activate(V1))) r10: plus(N,|0|()) -> U31(isNat(N),N) r11: plus(N,s(M)) -> U41(isNat(M),M,N) r12: |0|() -> n__0() r13: plus(X1,X2) -> n__plus(X1,X2) r14: s(X) -> n__s(X) r15: activate(n__0()) -> |0|() r16: activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) r17: activate(n__s(X)) -> s(activate(X)) 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: 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),(1,1)) x1 + (0,2) n__s_A(x1) = ((1,0),(0,0)) x1 + (1,5) activate_A(x1) = x1 + (0,4) U12_A(x1) = (4,2) tt_A() = (3,1) U11_A(x1,x2) = (5,3) isNat_A(x1) = x1 + (2,10) U21_A(x1) = ((1,0),(0,0)) x1 + (0,2) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (7,10) s_A(x1) = ((1,0),(0,0)) x1 + (1,9) plus_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (6,11) U31_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (4,2) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (7,11) n__0_A() = (3,0) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (6,11) |0|_A() = (3,0) precedence: isNat# = n__s > activate = U12 = tt = U11 = isNat = U21 = U31 = n__0 = |0| > U42 = plus = U41 = n__plus > s partial status: pi(isNat#) = [1] pi(n__s) = [] pi(activate) = [1] pi(U12) = [] pi(tt) = [] pi(U11) = [] pi(isNat) = [] pi(U21) = [] pi(U42) = [] pi(s) = [] pi(plus) = [2] pi(U31) = [2] pi(U41) = [] pi(n__0) = [] pi(n__plus) = [] pi(|0|) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = (1,1) n__s_A(x1) = (3,2) activate_A(x1) = x1 + (2,3) U12_A(x1) = (7,6) tt_A() = (6,5) U11_A(x1,x2) = (8,7) isNat_A(x1) = (9,8) U21_A(x1) = (8,9) U42_A(x1,x2,x3) = (5,4) s_A(x1) = (4,3) plus_A(x1,x2) = (3,0) U31_A(x1,x2) = x2 + (4,4) U41_A(x1,x2,x3) = (9,9) n__0_A() = (0,0) n__plus_A(x1,x2) = (3,0) |0|_A() = (1,0) precedence: activate = U11 = U42 = |0| > tt = n__0 > U41 > s > isNat# = n__s = U12 = isNat = U21 = plus = U31 = n__plus partial status: pi(isNat#) = [] pi(n__s) = [] pi(activate) = [] pi(U12) = [] pi(tt) = [] pi(U11) = [] pi(isNat) = [] pi(U21) = [] pi(U42) = [] pi(s) = [] pi(plus) = [] pi(U31) = [] pi(U41) = [] pi(n__0) = [] pi(n__plus) = [] pi(|0|) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.