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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U11#_A(x1,x2) = ((0,0),(1,0)) x2 + (5,6) tt_A() = (6,8) isNat#_A(x1) = ((0,0),(1,0)) x1 + (5,2) activate_A(x1) = x1 + (0,12) n__s_A(x1) = ((1,0),(0,0)) x1 + (4,5) activate#_A(x1) = ((0,0),(1,0)) x1 + (5,6) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,1) plus#_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (5,3) s_A(x1) = ((1,0),(0,0)) x1 + (4,7) isNat_A(x1) = ((1,0),(1,0)) x1 + (7,4) U41#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (5,7) U42#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (5,6) |0|_A() = (6,10) U31#_A(x1,x2) = ((0,0),(1,0)) x2 + (5,7) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (8,9) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,12) U12_A(x1) = (7,1) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (7,11) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (8,10) U11_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (2,5) U21_A(x1) = (7,8) n__0_A() = (6,9) precedence: activate = n__s = n__plus = s = |0| = U42 = plus = U31 = U41 > plus# > U41# > U42# > U31# > U11# = isNat# > U12 > tt = isNat = U11 = U21 = n__0 > activate# partial status: pi(U11#) = [] 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#) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p24 We remove them from the problem. -- SCC decomposition. 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) 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, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V2) -> isNat#(activate(V2)) p2: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p3: U11#(tt(),V2) -> activate#(V2) p4: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p5: plus#(N,|0|()) -> isNat#(N) p6: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p7: isNat#(n__plus(V1,V2)) -> activate#(V1) p8: activate#(n__plus(X1,X2)) -> activate#(X1) p9: activate#(n__plus(X1,X2)) -> activate#(X2) p10: activate#(n__s(X)) -> activate#(X) p11: isNat#(n__plus(V1,V2)) -> activate#(V2) p12: isNat#(n__s(V1)) -> isNat#(activate(V1)) p13: isNat#(n__s(V1)) -> activate#(V1) p14: plus#(N,s(M)) -> U41#(isNat(M),M,N) p15: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p16: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p17: plus#(N,s(M)) -> isNat#(M) p18: U42#(tt(),M,N) -> activate#(N) p19: U42#(tt(),M,N) -> activate#(M) p20: U41#(tt(),M,N) -> isNat#(activate(N)) p21: U41#(tt(),M,N) -> activate#(N) p22: U41#(tt(),M,N) -> activate#(M) 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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U11#_A(x1,x2) = ((1,0),(1,0)) x2 + (26,5) tt_A() = (36,29) isNat#_A(x1) = x1 + (7,0) activate_A(x1) = ((1,0),(1,1)) x1 + (0,4) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (27,0) isNat_A(x1) = (39,41) activate#_A(x1) = ((1,0),(1,1)) x1 + (7,28) plus#_A(x1,x2) = x1 + x2 + (26,46) |0|_A() = (40,0) n__s_A(x1) = ((1,0),(1,0)) x1 + (8,0) s_A(x1) = ((1,0),(1,0)) x1 + (8,0) U41#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (33,6) U42#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (33,30) U42_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (35,28) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (27,22) U12_A(x1) = (37,30) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (41,5) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (35,29) U11_A(x1,x2) = ((0,0),(1,0)) x1 + (38,1) U21_A(x1) = (37,30) n__0_A() = (40,0) precedence: U11# = plus# = U41# = U42# > U31 > tt = activate = n__plus = isNat = activate# = |0| = n__s = s = U42 = plus = U12 = U41 = U11 = U21 = n__0 > isNat# partial status: pi(U11#) = [] pi(tt) = [] pi(isNat#) = [1] pi(activate) = [1] pi(n__plus) = [] pi(isNat) = [] pi(activate#) = [1] pi(plus#) = [] pi(|0|) = [] pi(n__s) = [] pi(s) = [] pi(U41#) = [] pi(U42#) = [] pi(U42) = [] pi(plus) = [1] pi(U12) = [] pi(U31) = [2] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] 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: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p2: U11#(tt(),V2) -> activate#(V2) p3: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p4: plus#(N,|0|()) -> isNat#(N) p5: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p6: isNat#(n__plus(V1,V2)) -> activate#(V1) p7: activate#(n__plus(X1,X2)) -> activate#(X1) p8: activate#(n__plus(X1,X2)) -> activate#(X2) p9: activate#(n__s(X)) -> activate#(X) 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,s(M)) -> U41#(isNat(M),M,N) p14: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p15: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p16: plus#(N,s(M)) -> isNat#(M) p17: U42#(tt(),M,N) -> activate#(N) p18: U42#(tt(),M,N) -> activate#(M) p19: U41#(tt(),M,N) -> isNat#(activate(N)) p20: U41#(tt(),M,N) -> activate#(N) p21: U41#(tt(),M,N) -> activate#(M) 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, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p2: U11#(tt(),V2) -> activate#(V2) 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)) -> activate#(V1) 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: plus#(N,s(M)) -> U41#(isNat(M),M,N) p14: U41#(tt(),M,N) -> activate#(M) p15: U41#(tt(),M,N) -> activate#(N) p16: U41#(tt(),M,N) -> isNat#(activate(N)) p17: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p18: U42#(tt(),M,N) -> activate#(M) p19: U42#(tt(),M,N) -> activate#(N) p20: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p21: plus#(N,|0|()) -> isNat#(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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = ((1,0),(0,0)) x1 + (5,13) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (6,0) U11#_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (2,2) isNat_A(x1) = (7,10) activate_A(x1) = x1 + (0,8) tt_A() = (2,12) activate#_A(x1) = ((1,0),(0,0)) x1 + (3,13) n__s_A(x1) = ((1,0),(0,0)) x1 + (4,3) plus#_A(x1,x2) = x1 + x2 + (1,11) s_A(x1) = ((1,0),(0,0)) x1 + (4,4) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (5,14) U42#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (4,5) |0|_A() = (8,2) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (10,5) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (6,7) U12_A(x1) = (3,13) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (9,1) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (10,6) U11_A(x1,x2) = (4,9) U21_A(x1) = (3,13) n__0_A() = (8,2) precedence: tt = U12 = U11 > isNat# = U11# = activate# = plus# = U41# = U42# > activate = n__s = s = |0| = U42 = n__0 > U21 > isNat > n__plus = plus = U31 = U41 partial status: pi(isNat#) = [] pi(n__plus) = [] pi(U11#) = [] pi(isNat) = [] pi(activate) = [] pi(tt) = [] pi(activate#) = [] pi(n__s) = [] pi(plus#) = [] pi(s) = [] pi(U41#) = [] pi(U42#) = [] pi(|0|) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p9 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p2: U11#(tt(),V2) -> activate#(V2) 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)) -> 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: plus#(N,s(M)) -> U41#(isNat(M),M,N) p13: U41#(tt(),M,N) -> activate#(M) p14: U41#(tt(),M,N) -> activate#(N) p15: U41#(tt(),M,N) -> isNat#(activate(N)) p16: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p17: U42#(tt(),M,N) -> activate#(M) p18: U42#(tt(),M,N) -> activate#(N) p19: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p20: plus#(N,|0|()) -> isNat#(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: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNat#(n__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p2: U11#(tt(),V2) -> activate#(V2) p3: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p4: plus#(N,|0|()) -> isNat#(N) p5: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p6: isNat#(n__plus(V1,V2)) -> activate#(V1) p7: activate#(n__plus(X1,X2)) -> activate#(X1) p8: activate#(n__plus(X1,X2)) -> activate#(X2) p9: activate#(n__s(X)) -> activate#(X) p10: isNat#(n__plus(V1,V2)) -> activate#(V2) p11: isNat#(n__s(V1)) -> activate#(V1) p12: plus#(N,s(M)) -> U41#(isNat(M),M,N) p13: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p14: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p15: plus#(N,s(M)) -> isNat#(M) p16: U42#(tt(),M,N) -> activate#(N) p17: U42#(tt(),M,N) -> activate#(M) p18: U41#(tt(),M,N) -> isNat#(activate(N)) p19: U41#(tt(),M,N) -> activate#(N) p20: U41#(tt(),M,N) -> activate#(M) 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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = ((1,0),(1,0)) x1 + (6,6) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (0,7) U11#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (0,1) isNat_A(x1) = ((1,0),(0,0)) x1 + (4,21) activate_A(x1) = x1 + (0,8) tt_A() = (1,2) activate#_A(x1) = ((1,0),(1,0)) x1 plus#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 |0|_A() = (7,2) n__s_A(x1) = ((1,0),(0,0)) x1 + (8,9) s_A(x1) = ((1,0),(0,0)) x1 + (8,10) U41#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (8,7) U42#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (2,7) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (8,11) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (0,12) U12_A(x1) = (2,3) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (6,18) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (8,12) U11_A(x1,x2) = (3,20) U21_A(x1) = (2,1) n__0_A() = (7,1) precedence: isNat# > U11# > activate# = plus# = U41# = U42# > U31 > activate = U42 = plus = U41 > s > isNat > |0| = U21 = n__0 > n__plus = tt = n__s = U12 = U11 partial status: pi(isNat#) = [] pi(n__plus) = [] pi(U11#) = [] pi(isNat) = [] pi(activate) = [1] pi(tt) = [] pi(activate#) = [] pi(plus#) = [] pi(|0|) = [] pi(n__s) = [] pi(s) = [] pi(U41#) = [] pi(U42#) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__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__plus(V1,V2)) -> U11#(isNat(activate(V1)),activate(V2)) p2: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p3: plus#(N,|0|()) -> isNat#(N) p4: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p5: isNat#(n__plus(V1,V2)) -> activate#(V1) p6: activate#(n__plus(X1,X2)) -> activate#(X1) p7: activate#(n__plus(X1,X2)) -> activate#(X2) p8: activate#(n__s(X)) -> activate#(X) p9: isNat#(n__plus(V1,V2)) -> activate#(V2) p10: isNat#(n__s(V1)) -> activate#(V1) p11: plus#(N,s(M)) -> U41#(isNat(M),M,N) p12: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p13: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p14: plus#(N,s(M)) -> isNat#(M) p15: U42#(tt(),M,N) -> activate#(N) p16: U42#(tt(),M,N) -> activate#(M) p17: U41#(tt(),M,N) -> isNat#(activate(N)) p18: U41#(tt(),M,N) -> activate#(N) p19: U41#(tt(),M,N) -> activate#(M) 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, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,s(M)) -> isNat#(M) p3: isNat#(n__s(V1)) -> activate#(V1) p4: activate#(n__s(X)) -> activate#(X) p5: activate#(n__plus(X1,X2)) -> activate#(X2) p6: activate#(n__plus(X1,X2)) -> activate#(X1) p7: isNat#(n__plus(V1,V2)) -> activate#(V2) p8: isNat#(n__plus(V1,V2)) -> activate#(V1) p9: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p10: plus#(N,s(M)) -> U41#(isNat(M),M,N) p11: U41#(tt(),M,N) -> activate#(M) p12: U41#(tt(),M,N) -> activate#(N) p13: U41#(tt(),M,N) -> isNat#(activate(N)) p14: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p15: U42#(tt(),M,N) -> activate#(M) p16: U42#(tt(),M,N) -> activate#(N) p17: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p18: plus#(N,|0|()) -> isNat#(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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = ((1,0),(0,0)) x1 + (10,14) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (6,24) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (10,12) activate_A(x1) = x1 + (0,2) s_A(x1) = ((1,0),(0,0)) x1 + (6,16) isNat#_A(x1) = ((1,0),(0,0)) x1 + (4,28) n__s_A(x1) = ((1,0),(0,0)) x1 + (6,15) U41#_A(x1,x2,x3) = x2 + ((1,0),(0,0)) x3 + (15,27) isNat_A(x1) = (6,23) tt_A() = (3,21) U42#_A(x1,x2,x3) = x1 + x2 + ((1,0),(0,0)) x3 + (8,1) |0|_A() = (1,16) U42_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (12,14) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (6,25) U12_A(x1) = (4,20) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (2,26) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (12,21) U11_A(x1,x2) = ((0,0),(1,0)) x2 + (5,1) U21_A(x1) = (6,22) n__0_A() = (1,15) precedence: activate = plus = U12 = U31 > |0| > U42 = U41 > activate# = n__plus = plus# = s = isNat# = n__s = U41# = isNat = tt = U42# = U11 = U21 > n__0 partial status: pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [] pi(s) = [] pi(isNat#) = [] pi(n__s) = [] pi(U41#) = [] pi(isNat) = [] pi(tt) = [] pi(U42#) = [] pi(|0|) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] 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: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,s(M)) -> isNat#(M) p3: isNat#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> activate#(X2) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: isNat#(n__plus(V1,V2)) -> activate#(V2) p7: isNat#(n__plus(V1,V2)) -> activate#(V1) p8: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p9: plus#(N,s(M)) -> U41#(isNat(M),M,N) p10: U41#(tt(),M,N) -> activate#(M) p11: U41#(tt(),M,N) -> activate#(N) p12: U41#(tt(),M,N) -> isNat#(activate(N)) p13: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p14: U42#(tt(),M,N) -> activate#(M) p15: U42#(tt(),M,N) -> activate#(N) p16: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p17: plus#(N,|0|()) -> isNat#(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: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: activate#(n__plus(X1,X2)) -> activate#(X2) p7: isNat#(n__plus(V1,V2)) -> activate#(V2) p8: isNat#(n__s(V1)) -> activate#(V1) p9: plus#(N,s(M)) -> U41#(isNat(M),M,N) p10: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p11: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p12: plus#(N,s(M)) -> isNat#(M) p13: U42#(tt(),M,N) -> activate#(N) p14: U42#(tt(),M,N) -> activate#(M) p15: U41#(tt(),M,N) -> isNat#(activate(N)) p16: U41#(tt(),M,N) -> activate#(N) p17: U41#(tt(),M,N) -> activate#(M) 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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = ((1,0),(1,1)) x1 + (10,2) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (10,16) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (0,20) activate_A(x1) = ((1,0),(1,1)) x1 + (0,9) |0|_A() = (13,11) isNat#_A(x1) = ((1,0),(1,1)) x1 + (1,32) n__s_A(x1) = ((1,0),(0,0)) x1 + (13,11) s_A(x1) = ((1,0),(0,0)) x1 + (13,33) U41#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + x2 + x3 + (12,43) isNat_A(x1) = ((1,0),(1,1)) x1 + (11,1) tt_A() = (12,1) U42#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (11,30) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (23,34) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (10,17) U12_A(x1) = (13,2) U31_A(x1,x2) = ((1,0),(1,0)) x2 + (1,10) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (23,35) U11_A(x1,x2) = ((1,0),(0,0)) x1 + (10,11) U21_A(x1) = (14,2) n__0_A() = (13,2) precedence: n__s > activate# = n__plus = plus# = U41# = U42# > activate = s = U42 = plus = U31 = U41 > isNat > U11 > U12 > |0| > tt = U21 > n__0 > isNat# partial status: pi(activate#) = [] pi(n__plus) = [1, 2] pi(plus#) = [] pi(activate) = [1] pi(|0|) = [] pi(isNat#) = [1] pi(n__s) = [] pi(s) = [] pi(U41#) = [] pi(isNat) = [] pi(tt) = [] pi(U42#) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] 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: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: activate#(n__plus(X1,X2)) -> activate#(X2) p7: isNat#(n__s(V1)) -> activate#(V1) p8: plus#(N,s(M)) -> U41#(isNat(M),M,N) p9: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p10: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p11: plus#(N,s(M)) -> isNat#(M) p12: U42#(tt(),M,N) -> activate#(N) p13: U42#(tt(),M,N) -> activate#(M) p14: U41#(tt(),M,N) -> isNat#(activate(N)) p15: U41#(tt(),M,N) -> activate#(N) p16: U41#(tt(),M,N) -> activate#(M) 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, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,s(M)) -> isNat#(M) p3: isNat#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> activate#(X2) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: isNat#(n__plus(V1,V2)) -> activate#(V1) p7: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p8: plus#(N,s(M)) -> U41#(isNat(M),M,N) p9: U41#(tt(),M,N) -> activate#(M) p10: U41#(tt(),M,N) -> activate#(N) p11: U41#(tt(),M,N) -> isNat#(activate(N)) p12: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p13: U42#(tt(),M,N) -> activate#(M) p14: U42#(tt(),M,N) -> activate#(N) p15: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p16: plus#(N,|0|()) -> isNat#(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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = ((0,0),(1,0)) x1 + (1,2) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (3,1) plus#_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (1,5) activate_A(x1) = x1 + (0,11) s_A(x1) = ((1,0),(0,0)) x1 + (0,4) isNat#_A(x1) = ((0,0),(1,0)) x1 + (1,3) n__s_A(x1) = ((1,0),(0,0)) x1 + (0,3) U41#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (1,5) isNat_A(x1) = (4,12) tt_A() = (0,0) U42#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (1,5) |0|_A() = (14,4) U42_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (3,5) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (3,11) U12_A(x1) = (1,0) U31_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (11,12) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (3,10) U11_A(x1,x2) = (2,10) U21_A(x1) = ((0,0),(1,0)) x1 + (1,9) n__0_A() = (14,0) precedence: n__plus = activate = isNat = |0| = U42 = plus = U31 = U41 = U21 > tt = U12 > s > n__s = U11 > n__0 > activate# = plus# = isNat# = U41# = U42# partial status: pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [] pi(s) = [] pi(isNat#) = [] pi(n__s) = [] pi(U41#) = [] pi(isNat) = [] pi(tt) = [] pi(U42#) = [] pi(|0|) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p11 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,s(M)) -> isNat#(M) p3: isNat#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> activate#(X2) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: isNat#(n__plus(V1,V2)) -> activate#(V1) p7: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p8: plus#(N,s(M)) -> U41#(isNat(M),M,N) p9: U41#(tt(),M,N) -> activate#(M) p10: U41#(tt(),M,N) -> activate#(N) p11: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p12: U42#(tt(),M,N) -> activate#(M) p13: U42#(tt(),M,N) -> activate#(N) p14: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p15: plus#(N,|0|()) -> isNat#(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: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> isNat#(activate(V1)) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: activate#(n__plus(X1,X2)) -> activate#(X2) p7: isNat#(n__s(V1)) -> activate#(V1) p8: plus#(N,s(M)) -> U41#(isNat(M),M,N) p9: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p10: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p11: plus#(N,s(M)) -> isNat#(M) p12: U42#(tt(),M,N) -> activate#(N) p13: U42#(tt(),M,N) -> activate#(M) p14: U41#(tt(),M,N) -> activate#(N) p15: U41#(tt(),M,N) -> activate#(M) 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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = ((1,0),(1,0)) x1 + (18,5) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (19,26) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (20,25) activate_A(x1) = x1 + (0,56) |0|_A() = (25,54) isNat#_A(x1) = ((1,0),(1,1)) x1 + (26,49) n__s_A(x1) = ((1,0),(0,0)) x1 + (23,1) s_A(x1) = ((1,0),(0,0)) x1 + (23,2) U41#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (22,47) isNat_A(x1) = ((1,0),(0,0)) x1 + (41,53) tt_A() = (57,4) U42#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (21,0) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (42,3) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (19,27) U12_A(x1) = (58,3) U31_A(x1,x2) = x2 + (24,55) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (42,49) U11_A(x1,x2) = (59,53) U21_A(x1) = ((1,0),(0,0)) x1 + (0,52) n__0_A() = (25,3) precedence: activate = isNat = plus > U42 = U41 > n__s = s > U12 = U11 > activate# = n__plus = plus# = isNat# = U41# = U42# > |0| = tt > U31 = U21 = n__0 partial status: pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(activate) = [1] pi(|0|) = [] pi(isNat#) = [] pi(n__s) = [] pi(s) = [] pi(U41#) = [] pi(isNat) = [] pi(tt) = [] pi(U42#) = [] pi(U42) = [] pi(plus) = [] pi(U12) = [] pi(U31) = [2] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> activate#(X1) p5: activate#(n__plus(X1,X2)) -> activate#(X2) p6: isNat#(n__s(V1)) -> activate#(V1) p7: plus#(N,s(M)) -> U41#(isNat(M),M,N) p8: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p9: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p10: plus#(N,s(M)) -> isNat#(M) p11: U42#(tt(),M,N) -> activate#(N) p12: U42#(tt(),M,N) -> activate#(M) p13: U41#(tt(),M,N) -> activate#(N) p14: U41#(tt(),M,N) -> activate#(M) 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, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p2: plus#(N,s(M)) -> isNat#(M) p3: isNat#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> activate#(X2) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: isNat#(n__plus(V1,V2)) -> activate#(V1) p7: plus#(N,s(M)) -> U41#(isNat(M),M,N) p8: U41#(tt(),M,N) -> activate#(M) p9: U41#(tt(),M,N) -> activate#(N) p10: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p11: U42#(tt(),M,N) -> activate#(M) p12: U42#(tt(),M,N) -> activate#(N) p13: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p14: plus#(N,|0|()) -> isNat#(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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = x1 + (13,15) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (14,11) plus#_A(x1,x2) = x1 + x2 + (13,2) activate_A(x1) = ((1,0),(1,1)) x1 + (0,12) s_A(x1) = ((1,0),(0,0)) x1 + (27,14) isNat#_A(x1) = x1 + (2,13) n__s_A(x1) = ((1,0),(0,0)) x1 + (27,13) U41#_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (13,5) isNat_A(x1) = (16,10) tt_A() = (2,4) U42#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (14,13) |0|_A() = (1,12) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (41,37) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (14,12) U12_A(x1) = ((0,0),(1,0)) x1 + (3,1) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (2,1) U41_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (41,36) U11_A(x1,x2) = (13,9) U21_A(x1) = (16,5) n__0_A() = (1,3) precedence: U41# = U42# > |0| = U12 = U31 > activate# = n__plus = plus# = isNat# > activate = plus > U42 = U41 > s > n__s > isNat = tt = U21 > n__0 > U11 partial status: pi(activate#) = [1] pi(n__plus) = [1, 2] pi(plus#) = [1, 2] pi(activate) = [1] pi(s) = [] pi(isNat#) = [1] pi(n__s) = [] pi(U41#) = [] pi(isNat) = [] pi(tt) = [] pi(U42#) = [] pi(|0|) = [] pi(U42) = [] pi(plus) = [1] pi(U12) = [] pi(U31) = [] pi(U41) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] 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: plus#(N,s(M)) -> isNat#(M) p2: isNat#(n__s(V1)) -> activate#(V1) p3: activate#(n__plus(X1,X2)) -> activate#(X2) p4: activate#(n__plus(X1,X2)) -> activate#(X1) p5: isNat#(n__plus(V1,V2)) -> activate#(V1) p6: plus#(N,s(M)) -> U41#(isNat(M),M,N) p7: U41#(tt(),M,N) -> activate#(M) p8: U41#(tt(),M,N) -> activate#(N) p9: U41#(tt(),M,N) -> U42#(isNat(activate(N)),activate(M),activate(N)) p10: U42#(tt(),M,N) -> activate#(M) p11: U42#(tt(),M,N) -> activate#(N) p12: U42#(tt(),M,N) -> plus#(activate(N),activate(M)) p13: plus#(N,|0|()) -> isNat#(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, p9, p12} {p3, p4} -- 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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U42#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,3) tt_A() = (7,3) plus#_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (0,1) activate_A(x1) = ((1,0),(1,1)) x1 + (0,1) s_A(x1) = ((1,0),(0,0)) x1 + (9,4) U41#_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (2,0) isNat_A(x1) = ((0,0),(1,0)) x1 + (7,0) U42_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (15,5) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (6,7) U12_A(x1) = ((1,0),(0,0)) x1 + (0,4) U31_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (5,1) U41_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (8,6) U11_A(x1,x2) = (7,5) U21_A(x1) = ((1,0),(1,1)) x1 + (0,1) |0|_A() = (4,5) n__0_A() = (4,4) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (6,2) n__s_A(x1) = ((1,0),(0,0)) x1 + (9,0) precedence: activate > plus = U31 = n__plus > U42 = U41 > isNat > plus# > s > |0| > n__s > tt = U12 = U11 = U21 > n__0 > U42# = U41# 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) = [1] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [] 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: plus#(N,s(M)) -> U41#(isNat(M),M,N) p2: 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 estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> activate#(X2) p2: activate#(n__plus(X1,X2)) -> activate#(X1) 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: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = ((1,0),(0,0)) x1 n__plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (1,1) precedence: n__plus > activate# partial status: pi(activate#) = [] pi(n__plus) = [1] 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: activate#(n__plus(X1,X2)) -> activate#(X1) 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: activate#(n__plus(X1,X2)) -> activate#(X1) 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 monotone reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = ((1,0),(1,1)) x1 n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (1,1) precedence: activate# > n__plus partial status: pi(activate#) = [1] pi(n__plus) = [1, 2] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.