YES We show the termination of the TRS R: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt(),V2) -> U13(isNat(activate(V2))) U13(tt()) -> tt() U21(tt(),V1) -> U22(isNat(activate(V1))) U22(tt()) -> tt() U31(tt(),N) -> activate(N) U41(tt(),M,N) -> s(plus(activate(N),activate(M))) and(tt(),X) -> activate(X) isNat(n__0()) -> tt() isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNatKind(n__0()) -> tt() isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) |0|() -> n__0() plus(X1,X2) -> n__plus(X1,X2) isNatKind(X) -> n__isNatKind(X) s(X) -> n__s(X) and(X1,X2) -> n__and(X1,X2) activate(n__0()) -> |0|() activate(n__plus(X1,X2)) -> plus(X1,X2) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__s(X)) -> s(X) activate(n__and(X1,X2)) -> and(X1,X2) activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) p2: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p3: U11#(tt(),V1,V2) -> activate#(V1) p4: U11#(tt(),V1,V2) -> activate#(V2) p5: U12#(tt(),V2) -> U13#(isNat(activate(V2))) p6: U12#(tt(),V2) -> isNat#(activate(V2)) p7: U12#(tt(),V2) -> activate#(V2) p8: U21#(tt(),V1) -> U22#(isNat(activate(V1))) p9: U21#(tt(),V1) -> isNat#(activate(V1)) p10: U21#(tt(),V1) -> activate#(V1) p11: U31#(tt(),N) -> activate#(N) p12: U41#(tt(),M,N) -> s#(plus(activate(N),activate(M))) p13: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p14: U41#(tt(),M,N) -> activate#(N) p15: U41#(tt(),M,N) -> activate#(M) p16: and#(tt(),X) -> activate#(X) p17: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p18: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p19: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p20: isNat#(n__plus(V1,V2)) -> activate#(V1) p21: isNat#(n__plus(V1,V2)) -> activate#(V2) p22: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p23: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p24: isNat#(n__s(V1)) -> activate#(V1) p25: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p26: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p27: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p28: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p29: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p30: isNatKind#(n__s(V1)) -> activate#(V1) p31: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p32: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p33: plus#(N,|0|()) -> isNat#(N) p34: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p35: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p36: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p37: plus#(N,s(M)) -> isNat#(M) p38: plus#(N,s(M)) -> isNat#(N) p39: activate#(n__0()) -> |0|#() p40: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p41: activate#(n__isNatKind(X)) -> isNatKind#(X) p42: activate#(n__s(X)) -> s#(X) p43: activate#(n__and(X1,X2)) -> and#(X1,X2) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p6, p7, p9, p10, p11, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p40, p41, p43} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) p2: U12#(tt(),V2) -> activate#(V2) p3: activate#(n__and(X1,X2)) -> and#(X1,X2) p4: and#(tt(),X) -> activate#(X) p5: activate#(n__isNatKind(X)) -> isNatKind#(X) p6: isNatKind#(n__s(V1)) -> activate#(V1) p7: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p8: plus#(N,s(M)) -> isNat#(N) p9: isNat#(n__s(V1)) -> activate#(V1) p10: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p13: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p14: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p15: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p16: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p17: U21#(tt(),V1) -> activate#(V1) p18: U21#(tt(),V1) -> isNat#(activate(V1)) p19: isNat#(n__plus(V1,V2)) -> activate#(V2) p20: isNat#(n__plus(V1,V2)) -> activate#(V1) p21: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p22: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p23: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p24: U11#(tt(),V1,V2) -> activate#(V2) p25: U11#(tt(),V1,V2) -> activate#(V1) p26: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p27: plus#(N,s(M)) -> isNat#(M) p28: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p29: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p30: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p31: U41#(tt(),M,N) -> activate#(M) p32: U41#(tt(),M,N) -> activate#(N) p33: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p34: plus#(N,|0|()) -> isNat#(N) p35: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p36: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p37: U31#(tt(),N) -> activate#(N) p38: U12#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (20,76) tt_A() = (3,66) U12#_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (5,21) isNat_A(x1) = (21,70) activate_A(x1) = x1 + (0,25) activate#_A(x1) = ((1,0),(0,0)) x1 + (4,75) n__and_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (2,1) and#_A(x1,x2) = ((1,0),(0,0)) x2 + (5,86) n__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (22,72) isNatKind#_A(x1) = ((1,0),(1,0)) x1 + (23,73) n__s_A(x1) = ((1,0),(0,0)) x1 + (51,34) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (46,34) plus#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (43,1) s_A(x1) = ((1,0),(0,0)) x1 + (51,35) isNat#_A(x1) = x1 + (2,40) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (22,95) U21#_A(x1,x2) = ((1,0),(1,1)) x2 + (5,76) and_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (2,24) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (52,76) |0|_A() = (1,37) U31#_A(x1,x2) = ((1,0),(1,0)) x2 + (5,76) U13_A(x1) = (4,67) U12_A(x1,x2) = (5,68) U22_A(x1) = (4,67) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (2,74) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (97,36) plus_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (46,36) U11_A(x1,x2,x3) = (6,69) U21_A(x1,x2) = (21,70) n__0_A() = (1,36) precedence: U12# > U31# > activate > isNatKind# = and > isNatKind > |0| = U31 = n__0 > tt = isNat = U13 = U12 = U11 > plus# > and# > U11# = activate# = isNat# = U21# = U21 > U41# > n__plus = plus > U41 > s > n__s > n__isNatKind > n__and > U22 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNat) = [] pi(activate) = [] pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(isNatKind) = [1] pi(U21#) = [] pi(and) = [] pi(U41#) = [] pi(|0|) = [] pi(U31#) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [2] 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: U12#(tt(),V2) -> activate#(V2) p2: activate#(n__and(X1,X2)) -> and#(X1,X2) p3: and#(tt(),X) -> activate#(X) p4: activate#(n__isNatKind(X)) -> isNatKind#(X) p5: isNatKind#(n__s(V1)) -> activate#(V1) p6: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p7: plus#(N,s(M)) -> isNat#(N) p8: isNat#(n__s(V1)) -> activate#(V1) p9: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p10: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p12: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p13: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p14: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p15: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p16: U21#(tt(),V1) -> activate#(V1) p17: U21#(tt(),V1) -> isNat#(activate(V1)) p18: isNat#(n__plus(V1,V2)) -> activate#(V2) p19: isNat#(n__plus(V1,V2)) -> activate#(V1) p20: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p21: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p22: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p23: U11#(tt(),V1,V2) -> activate#(V2) p24: U11#(tt(),V1,V2) -> activate#(V1) p25: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p26: plus#(N,s(M)) -> isNat#(M) p27: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p28: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p29: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p30: U41#(tt(),M,N) -> activate#(M) p31: U41#(tt(),M,N) -> activate#(N) p32: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p33: plus#(N,|0|()) -> isNat#(N) p34: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p35: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p36: U31#(tt(),N) -> activate#(N) p37: U12#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__and(X1,X2)) -> and#(X1,X2) p2: and#(tt(),X) -> activate#(X) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p5: U31#(tt(),N) -> activate#(N) p6: activate#(n__isNatKind(X)) -> isNatKind#(X) p7: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p8: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p11: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__s(V1)) -> activate#(V1) p13: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p14: plus#(N,|0|()) -> isNat#(N) p15: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p16: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p17: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p18: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p19: isNat#(n__plus(V1,V2)) -> activate#(V1) p20: isNat#(n__plus(V1,V2)) -> activate#(V2) p21: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p22: U21#(tt(),V1) -> isNat#(activate(V1)) p23: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p24: isNat#(n__s(V1)) -> activate#(V1) p25: U21#(tt(),V1) -> activate#(V1) p26: U11#(tt(),V1,V2) -> activate#(V1) p27: U11#(tt(),V1,V2) -> activate#(V2) p28: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p29: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p30: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p31: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p32: plus#(N,s(M)) -> isNat#(M) p33: plus#(N,s(M)) -> isNat#(N) p34: U41#(tt(),M,N) -> activate#(N) p35: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (5,75) n__and_A(x1,x2) = x2 + (8,0) and#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (10,84) tt_A() = (2,19) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (13,19) plus#_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (17,1) |0|_A() = (1,78) U31#_A(x1,x2) = x2 + (6,81) and_A(x1,x2) = ((1,0),(1,1)) x2 + (8,18) isNat_A(x1) = (5,22) n__isNatKind_A(x1) = x1 + (4,24) isNatKind#_A(x1) = x1 + (5,55) isNatKind_A(x1) = x1 + (4,50) activate_A(x1) = ((1,0),(1,1)) x1 + (0,23) n__s_A(x1) = ((1,0),(0,0)) x1 + (6,24) isNat#_A(x1) = ((1,0),(0,0)) x1 + (3,77) U11#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (6,78) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (7,76) s_A(x1) = ((1,0),(0,0)) x1 + (6,25) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,1)) x3 + (18,76) U13_A(x1) = (3,20) U12_A(x1,x2) = ((0,0),(1,0)) x2 + (4,21) U22_A(x1) = (3,26) 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),(0,0)) x3 + (19,24) plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (13,20) U11_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (4,22) U21_A(x1,x2) = (4,25) n__0_A() = (1,55) precedence: |0| = activate = U41# = U31 = U41 = plus > isNat = U11# > s > activate# = and# = n__plus = plus# = isNatKind# = isNat# = U21# > n__s = n__0 > tt = and = n__isNatKind = isNatKind = U13 = U12 = U22 = U11 = U21 > U31# > n__and partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__plus) = [2] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [2] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(isNatKind) = [] pi(activate) = [] pi(n__s) = [] pi(isNat#) = [] pi(U11#) = [] pi(U21#) = [] pi(s) = [] pi(U41#) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p15 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__and(X1,X2)) -> and#(X1,X2) p2: and#(tt(),X) -> activate#(X) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p5: U31#(tt(),N) -> activate#(N) p6: activate#(n__isNatKind(X)) -> isNatKind#(X) p7: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p8: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p11: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__s(V1)) -> activate#(V1) p13: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p14: plus#(N,|0|()) -> isNat#(N) p15: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p17: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p18: isNat#(n__plus(V1,V2)) -> activate#(V1) p19: isNat#(n__plus(V1,V2)) -> activate#(V2) p20: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p21: U21#(tt(),V1) -> isNat#(activate(V1)) p22: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p23: isNat#(n__s(V1)) -> activate#(V1) p24: U21#(tt(),V1) -> activate#(V1) p25: U11#(tt(),V1,V2) -> activate#(V1) p26: U11#(tt(),V1,V2) -> activate#(V2) p27: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p28: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p29: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p30: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p31: plus#(N,s(M)) -> isNat#(M) p32: plus#(N,s(M)) -> isNat#(N) p33: U41#(tt(),M,N) -> activate#(N) p34: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, p16, p17, p18, p19, p20, p21, p22, p23, p24, p27, p28, p29, p30, p31, p32, p33, p34} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__and(X1,X2)) -> and#(X1,X2) p2: and#(tt(),X) -> activate#(X) p3: activate#(n__isNatKind(X)) -> isNatKind#(X) p4: isNatKind#(n__s(V1)) -> activate#(V1) p5: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p6: plus#(N,s(M)) -> isNat#(N) p7: isNat#(n__s(V1)) -> activate#(V1) p8: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p12: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p13: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p14: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p15: U21#(tt(),V1) -> activate#(V1) p16: U21#(tt(),V1) -> isNat#(activate(V1)) p17: isNat#(n__plus(V1,V2)) -> activate#(V2) p18: isNat#(n__plus(V1,V2)) -> activate#(V1) p19: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p20: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p21: plus#(N,s(M)) -> isNat#(M) p22: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p23: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p24: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p25: U41#(tt(),M,N) -> activate#(M) p26: U41#(tt(),M,N) -> activate#(N) p27: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p28: plus#(N,|0|()) -> isNat#(N) p29: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p30: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p31: U31#(tt(),N) -> activate#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (2,46) n__and_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (39,2) and#_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (16,1) tt_A() = (1,57) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (5,1) isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (4,48) n__s_A(x1) = ((1,0),(1,0)) x1 + (90,47) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (45,0) plus#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (23,200) s_A(x1) = ((1,0),(1,0)) x1 + (90,48) isNat#_A(x1) = ((1,0),(1,1)) x1 + (46,1) activate_A(x1) = x1 + (0,95) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (5,34) U21#_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (89,44) isNat_A(x1) = ((0,0),(1,0)) x1 + (4,95) and_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (39,38) U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(0,0)) x3 + (24,391) |0|_A() = (24,40) U31#_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (25,46) U13_A(x1) = (1,57) U12_A(x1,x2) = (2,96) U22_A(x1) = (2,58) U31_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (68,46) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (135,94) plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (45,55) U11_A(x1,x2,x3) = (3,97) U21_A(x1,x2) = ((0,0),(1,0)) x2 + (3,59) n__0_A() = (24,1) precedence: U31 > plus > U41 > activate > U21# > |0| = n__0 > U12 > U13 > isNatKind# > activate# = U31# > plus# = isNat# = isNatKind = and = U41# > n__and > and# > isNat = U11 > n__isNatKind > tt = n__s = n__plus = s = U22 = U21 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(activate) = [1] pi(isNatKind) = [] pi(U21#) = [2] pi(isNat) = [] pi(and) = [] pi(U41#) = [] pi(|0|) = [] pi(U31#) = [2] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [2] 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: and#(tt(),X) -> activate#(X) p2: activate#(n__isNatKind(X)) -> isNatKind#(X) p3: isNatKind#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,s(M)) -> isNat#(N) p6: isNat#(n__s(V1)) -> activate#(V1) p7: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p11: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p13: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p14: U21#(tt(),V1) -> activate#(V1) p15: U21#(tt(),V1) -> isNat#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> activate#(V2) p17: isNat#(n__plus(V1,V2)) -> activate#(V1) p18: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p19: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p20: plus#(N,s(M)) -> isNat#(M) p21: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p22: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p23: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p24: U41#(tt(),M,N) -> activate#(M) p25: U41#(tt(),M,N) -> activate#(N) p26: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p27: plus#(N,|0|()) -> isNat#(N) p28: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p29: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p30: U31#(tt(),N) -> activate#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, p23, p24, p25, p26, p27, p28, p29, p30} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(tt(),X) -> activate#(X) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p4: U31#(tt(),N) -> activate#(N) p5: activate#(n__isNatKind(X)) -> isNatKind#(X) p6: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p7: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p10: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__s(V1)) -> activate#(V1) p12: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p13: plus#(N,|0|()) -> isNat#(N) p14: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p15: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> activate#(V1) p17: isNat#(n__plus(V1,V2)) -> activate#(V2) p18: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p19: U21#(tt(),V1) -> isNat#(activate(V1)) p20: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p21: isNat#(n__s(V1)) -> activate#(V1) p22: U21#(tt(),V1) -> activate#(V1) p23: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p24: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p25: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p26: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p27: plus#(N,s(M)) -> isNat#(M) p28: plus#(N,s(M)) -> isNat#(N) p29: U41#(tt(),M,N) -> activate#(N) p30: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: and#_A(x1,x2) = ((1,0),(0,0)) x2 + (2,7) tt_A() = (0,3) activate#_A(x1) = ((1,0),(0,0)) x1 + (2,5) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (35,1) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (36,4) |0|_A() = (0,2) U31#_A(x1,x2) = ((1,0),(0,0)) x2 + (3,3) and_A(x1,x2) = x1 + x2 + (9,20) isNat_A(x1) = (5,15) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (0,14) isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (1,7) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (0,16) activate_A(x1) = x1 + (0,20) n__s_A(x1) = ((1,0),(0,0)) x1 + (3,6) isNat#_A(x1) = ((1,0),(0,0)) x1 + (36,4) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (36,21) s_A(x1) = ((1,0),(0,0)) x1 + (3,8) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (39,4) n__and_A(x1,x2) = x1 + x2 + (9,0) U13_A(x1) = (1,4) U12_A(x1,x2) = (5,5) U22_A(x1) = (1,15) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (1,1) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (38,12) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (35,2) U11_A(x1,x2,x3) = (5,6) U21_A(x1,x2) = (4,14) n__0_A() = (0,1) precedence: U21# = U41 > n__plus = U31# = and = isNat = isNatKind = activate = s = U13 = U12 = plus = U11 > n__and > |0| = n__isNatKind = U22 = U31 > n__s = U21 > tt > and# = activate# = plus# = isNatKind# = isNat# = U41# = n__0 partial status: pi(and#) = [] pi(tt) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(isNatKind) = [] pi(activate) = [] pi(n__s) = [] pi(isNat#) = [] pi(U21#) = [] pi(s) = [] pi(U41#) = [] pi(n__and) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] 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: and#(tt(),X) -> activate#(X) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: U31#(tt(),N) -> activate#(N) p4: activate#(n__isNatKind(X)) -> isNatKind#(X) p5: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p6: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p9: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p10: isNatKind#(n__s(V1)) -> activate#(V1) p11: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p12: plus#(N,|0|()) -> isNat#(N) p13: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p14: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p15: isNat#(n__plus(V1,V2)) -> activate#(V1) p16: isNat#(n__plus(V1,V2)) -> activate#(V2) p17: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p18: U21#(tt(),V1) -> isNat#(activate(V1)) p19: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p20: isNat#(n__s(V1)) -> activate#(V1) p21: U21#(tt(),V1) -> activate#(V1) p22: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p23: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p24: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p25: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p26: plus#(N,s(M)) -> isNat#(M) p27: plus#(N,s(M)) -> isNat#(N) p28: U41#(tt(),M,N) -> activate#(N) p29: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: and#(tt(),X) -> activate#(X) p2: activate#(n__isNatKind(X)) -> isNatKind#(X) p3: isNatKind#(n__s(V1)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,s(M)) -> isNat#(N) p6: isNat#(n__s(V1)) -> activate#(V1) p7: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p11: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p13: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p14: U21#(tt(),V1) -> activate#(V1) p15: U21#(tt(),V1) -> isNat#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> activate#(V2) p17: isNat#(n__plus(V1,V2)) -> activate#(V1) p18: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p19: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p20: plus#(N,s(M)) -> isNat#(M) p21: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p22: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p23: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p24: U41#(tt(),M,N) -> activate#(M) p25: U41#(tt(),M,N) -> activate#(N) p26: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p27: plus#(N,|0|()) -> isNat#(N) p28: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: and#_A(x1,x2) = ((1,0),(0,0)) x2 + (5,52) tt_A() = (12,58) activate#_A(x1) = ((1,0),(0,0)) x1 + (4,26) n__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (9,35) isNatKind#_A(x1) = ((1,0),(1,1)) x1 + (8,36) n__s_A(x1) = x1 + (49,25) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (15,1) plus#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (2,57) s_A(x1) = x1 + (49,59) isNat#_A(x1) = ((1,0),(1,1)) x1 + (1,10) activate_A(x1) = x1 + (0,47) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (9,38) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (48,84) isNat_A(x1) = ((1,0),(0,0)) x1 + (15,54) and_A(x1,x2) = ((1,0),(1,0)) x2 + (1,46) n__and_A(x1,x2) = ((1,0),(1,0)) x2 + (1,45) U41#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (5,58) |0|_A() = (13,9) U13_A(x1) = (13,45) U12_A(x1,x2) = (16,46) U22_A(x1) = ((0,0),(1,0)) x1 + (13,47) U31_A(x1,x2) = x2 + (14,48) U41_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(0,0)) x3 + (64,119) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (15,12) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (5,53) U21_A(x1,x2) = (14,1) n__0_A() = (13,8) precedence: activate = and = |0| = U31 = plus > isNatKind = U13 > isNat > U41 > n__and > U22 = U21 > n__0 > n__s = s = U21# > isNat# > plus# > tt > activate# = U41# > U12 > n__plus > and# > isNatKind# > n__isNatKind > U11 partial status: pi(and#) = [] pi(tt) = [] pi(activate#) = [] pi(n__isNatKind) = [1] pi(isNatKind#) = [1] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [1] pi(activate) = [] pi(isNatKind) = [1] pi(U21#) = [] pi(isNat) = [] pi(and) = [] pi(n__and) = [] pi(U41#) = [] pi(|0|) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] 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: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__s(V1)) -> activate#(V1) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,s(M)) -> isNat#(N) p5: isNat#(n__s(V1)) -> activate#(V1) p6: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p10: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p12: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p13: U21#(tt(),V1) -> activate#(V1) p14: U21#(tt(),V1) -> isNat#(activate(V1)) p15: isNat#(n__plus(V1,V2)) -> activate#(V2) p16: isNat#(n__plus(V1,V2)) -> activate#(V1) p17: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p18: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p19: plus#(N,s(M)) -> isNat#(M) p20: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p21: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p22: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p23: U41#(tt(),M,N) -> activate#(M) p24: U41#(tt(),M,N) -> activate#(N) p25: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p26: plus#(N,|0|()) -> isNat#(N) p27: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p12, p13, p14, p15, p16, p17, p19, p22, p23, p24, p25, p26} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,|0|()) -> isNat#(N) p6: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__s(V1)) -> activate#(V1) p10: isNat#(n__plus(V1,V2)) -> activate#(V1) p11: isNat#(n__plus(V1,V2)) -> activate#(V2) p12: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p13: U21#(tt(),V1) -> isNat#(activate(V1)) p14: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p15: isNat#(n__s(V1)) -> activate#(V1) p16: U21#(tt(),V1) -> activate#(V1) p17: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p18: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p19: plus#(N,s(M)) -> isNat#(M) p20: plus#(N,s(M)) -> isNat#(N) p21: U41#(tt(),M,N) -> activate#(N) p22: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (5,31) n__isNatKind_A(x1) = x1 + (14,1) isNatKind#_A(x1) = ((1,0),(1,1)) x1 + (12,6) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (158,30) activate_A(x1) = x1 + (0,28) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (5,31) |0|_A() = (3,42) isNat#_A(x1) = ((1,0),(0,0)) x1 + (7,41) n__s_A(x1) = ((1,0),(0,0)) x1 + (6,16) U21#_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (8,25) isNatKind_A(x1) = x1 + (14,12) tt_A() = (4,27) s_A(x1) = ((1,0),(0,0)) x1 + (6,28) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,60) and_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (1,28) isNat_A(x1) = x1 + (66,66) n__and_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (1,0) U13_A(x1) = (5,28) U12_A(x1,x2) = (6,29) U22_A(x1) = ((1,0),(0,0)) x1 + (1,28) U31_A(x1,x2) = x2 + (4,27) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (164,91) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (158,57) U11_A(x1,x2,x3) = x1 + (61,3) U21_A(x1,x2) = x2 + (68,29) n__0_A() = (3,15) precedence: isNat > U12 = U11 > U13 > n__isNatKind = activate = |0| = isNatKind = tt = and = n__and > U21 > n__plus = U41 = plus > activate# = isNatKind# = plus# = isNat# = n__s = U21# = s = U41# = U31 > n__0 > U22 partial status: pi(activate#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__plus) = [] pi(activate) = [] pi(plus#) = [] pi(|0|) = [] pi(isNat#) = [] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(tt) = [] pi(s) = [] pi(U41#) = [] pi(and) = [] pi(isNat) = [] pi(n__and) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] pi(U11) = [1] pi(U21) = [2] pi(n__0) = [] The next rules are strictly ordered: p21 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,|0|()) -> isNat#(N) p6: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__s(V1)) -> activate#(V1) p10: isNat#(n__plus(V1,V2)) -> activate#(V1) p11: isNat#(n__plus(V1,V2)) -> activate#(V2) p12: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p13: U21#(tt(),V1) -> isNat#(activate(V1)) p14: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p15: isNat#(n__s(V1)) -> activate#(V1) p16: U21#(tt(),V1) -> activate#(V1) p17: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p18: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p19: plus#(N,s(M)) -> isNat#(M) p20: plus#(N,s(M)) -> isNat#(N) p21: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__s(V1)) -> activate#(V1) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,s(M)) -> isNat#(N) p5: isNat#(n__s(V1)) -> activate#(V1) p6: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p10: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p11: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p12: U21#(tt(),V1) -> activate#(V1) p13: U21#(tt(),V1) -> isNat#(activate(V1)) p14: isNat#(n__plus(V1,V2)) -> activate#(V2) p15: isNat#(n__plus(V1,V2)) -> activate#(V1) p16: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p17: plus#(N,s(M)) -> isNat#(M) p18: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p19: U41#(tt(),M,N) -> activate#(M) p20: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p21: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (1,41) n__isNatKind_A(x1) = x1 + (41,0) isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (1,81) n__s_A(x1) = ((1,0),(0,0)) x1 + (28,2) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (30,0) plus#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (13,53) s_A(x1) = ((1,0),(0,0)) x1 + (28,3) isNat#_A(x1) = ((1,0),(1,0)) x1 + (26,52) activate_A(x1) = x1 + (0,39) U21#_A(x1,x2) = ((1,0),(1,1)) x2 + (27,40) isNatKind_A(x1) = x1 + (41,38) tt_A() = (12,42) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,1)) x3 + (29,54) and_A(x1,x2) = x2 + (18,55) isNat_A(x1) = ((0,0),(1,0)) x1 + (42,46) n__and_A(x1,x2) = x2 + (18,54) |0|_A() = (13,5) U13_A(x1) = (13,0) U12_A(x1,x2) = (14,0) U22_A(x1) = (13,43) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (14,40) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (58,4) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (30,5) U11_A(x1,x2,x3) = (31,40) U21_A(x1,x2) = ((0,0),(1,0)) x1 + (14,32) n__0_A() = (13,5) precedence: activate = isNatKind = and = n__and = |0| = U11 = U21 > U13 = U12 > n__isNatKind = n__s = s = tt = isNat = U22 = U41 = plus = n__0 > activate# = isNatKind# = n__plus = plus# = isNat# = U21# = U41# > U31 partial status: pi(activate#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(activate) = [] pi(U21#) = [2] pi(isNatKind) = [] pi(tt) = [] pi(U41#) = [3] pi(and) = [] pi(isNat) = [] pi(n__and) = [] pi(|0|) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] 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: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,s(M)) -> isNat#(N) p4: isNat#(n__s(V1)) -> activate#(V1) p5: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p6: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p9: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p10: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p11: U21#(tt(),V1) -> activate#(V1) p12: U21#(tt(),V1) -> isNat#(activate(V1)) p13: isNat#(n__plus(V1,V2)) -> activate#(V2) p14: isNat#(n__plus(V1,V2)) -> activate#(V1) p15: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p16: plus#(N,s(M)) -> isNat#(M) p17: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p18: U41#(tt(),M,N) -> activate#(M) p19: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p20: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,|0|()) -> isNat#(N) p6: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNat#(n__plus(V1,V2)) -> activate#(V1) p10: isNat#(n__plus(V1,V2)) -> activate#(V2) p11: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p12: U21#(tt(),V1) -> isNat#(activate(V1)) p13: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p14: isNat#(n__s(V1)) -> activate#(V1) p15: U21#(tt(),V1) -> activate#(V1) p16: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p17: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p18: plus#(N,s(M)) -> isNat#(M) p19: plus#(N,s(M)) -> isNat#(N) p20: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = x1 + (27,33) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (2,4) isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (29,33) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (0,4) activate_A(x1) = x1 + (0,12) plus#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (26,36) |0|_A() = (9,4) isNat#_A(x1) = ((1,0),(1,0)) x1 + (29,34) n__s_A(x1) = ((1,0),(0,0)) x1 + (31,11) U21#_A(x1,x2) = ((1,0),(1,0)) x2 + (30,35) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (2,10) tt_A() = (10,1) s_A(x1) = ((1,0),(0,0)) x1 + (31,22) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (32,35) and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (0,3) isNat_A(x1) = (30,21) n__and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (0,1) U13_A(x1) = (11,0) U12_A(x1,x2) = (12,2) U22_A(x1) = (11,2) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (8,17) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (31,23) plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (0,12) U11_A(x1,x2,x3) = (13,3) U21_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (12,10) n__0_A() = (9,2) precedence: isNat = U11 = U21 > activate# = isNatKind# = plus# = isNat# = U21# = U41# > activate = isNatKind = tt = and = U13 = U31 = plus > |0| > n__and > n__isNatKind > n__plus > n__s = s = U22 = U41 > U12 = n__0 partial status: pi(activate#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__plus) = [2] pi(activate) = [1] pi(plus#) = [] pi(|0|) = [] pi(isNat#) = [] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(tt) = [] pi(s) = [] pi(U41#) = [] pi(and) = [] pi(isNat) = [] pi(n__and) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] 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__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,|0|()) -> isNat#(N) p5: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p6: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p7: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNat#(n__plus(V1,V2)) -> activate#(V1) p9: isNat#(n__plus(V1,V2)) -> activate#(V2) p10: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p11: U21#(tt(),V1) -> isNat#(activate(V1)) p12: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p13: isNat#(n__s(V1)) -> activate#(V1) p14: U21#(tt(),V1) -> activate#(V1) p15: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p16: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p17: plus#(N,s(M)) -> isNat#(M) p18: plus#(N,s(M)) -> isNat#(N) p19: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,s(M)) -> isNat#(N) p6: isNat#(n__s(V1)) -> activate#(V1) p7: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p9: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p10: U21#(tt(),V1) -> activate#(V1) p11: U21#(tt(),V1) -> isNat#(activate(V1)) p12: isNat#(n__plus(V1,V2)) -> activate#(V2) p13: isNat#(n__plus(V1,V2)) -> activate#(V1) p14: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p15: plus#(N,s(M)) -> isNat#(M) p16: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p17: U41#(tt(),M,N) -> activate#(M) p18: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p19: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (2,1) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (2,3) isNatKind#_A(x1) = x1 + (1,2) n__s_A(x1) = ((1,0),(0,0)) x1 + (8,24) activate_A(x1) = x1 + (0,23) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (46,24) plus#_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (3,72) s_A(x1) = ((1,0),(0,0)) x1 + (8,25) isNat#_A(x1) = ((1,0),(1,1)) x1 + (2,106) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (3,130) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (2,14) tt_A() = (1,13) U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (9,119) and_A(x1,x2) = ((1,0),(0,0)) x2 + (5,59) isNat_A(x1) = ((0,0),(1,0)) x1 + (10,59) n__and_A(x1,x2) = ((1,0),(0,0)) x2 + (5,57) |0|_A() = (0,35) U13_A(x1) = ((1,0),(0,0)) x1 + (0,14) U12_A(x1,x2) = (10,15) U22_A(x1) = (2,14) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (1,36) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (54,26) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (46,25) U11_A(x1,x2,x3) = (10,16) U21_A(x1,x2) = (3,25) n__0_A() = (0,13) precedence: activate = isNatKind = tt = and = isNat = n__and = |0| = U13 = U12 = U11 = U21 > n__isNatKind > n__plus = U31 = U41 = plus > n__s = s > n__0 > isNatKind# > isNat# = U21# = U22 > U41# > activate# = plus# partial status: pi(activate#) = [1] pi(n__isNatKind) = [] pi(isNatKind#) = [1] pi(n__s) = [] pi(activate) = [] pi(n__plus) = [] pi(plus#) = [1, 2] pi(s) = [] pi(isNat#) = [1] pi(U21#) = [] pi(isNatKind) = [] pi(tt) = [] pi(U41#) = [2, 3] pi(and) = [] pi(isNat) = [] pi(n__and) = [] pi(|0|) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,s(M)) -> isNat#(N) p6: isNat#(n__s(V1)) -> activate#(V1) p7: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p9: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p10: U21#(tt(),V1) -> isNat#(activate(V1)) p11: isNat#(n__plus(V1,V2)) -> activate#(V2) p12: isNat#(n__plus(V1,V2)) -> activate#(V1) p13: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p14: plus#(N,s(M)) -> isNat#(M) p15: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p16: U41#(tt(),M,N) -> activate#(M) p17: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p18: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p4: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p5: plus#(N,|0|()) -> isNat#(N) p6: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNat#(n__plus(V1,V2)) -> activate#(V1) p9: isNat#(n__plus(V1,V2)) -> activate#(V2) p10: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p11: U21#(tt(),V1) -> isNat#(activate(V1)) p12: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p13: isNat#(n__s(V1)) -> activate#(V1) p14: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p15: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p16: plus#(N,s(M)) -> isNat#(M) p17: plus#(N,s(M)) -> isNat#(N) p18: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: activate#_A(x1) = x1 + (1,166) n__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (10,119) isNatKind#_A(x1) = ((1,0),(1,1)) x1 + (1,118) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (11,38) activate_A(x1) = x1 + (0,30) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (1,205) |0|_A() = (22,57) isNat#_A(x1) = ((1,0),(1,1)) x1 + (3,154) n__s_A(x1) = ((1,0),(1,0)) x1 + (4,147) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (5,185) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (10,148) tt_A() = (7,165) s_A(x1) = ((1,0),(1,0)) x1 + (4,153) U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,236) and_A(x1,x2) = x2 + (11,31) isNat_A(x1) = x1 + (6,139) n__and_A(x1,x2) = x2 + (11,2) U13_A(x1) = (8,166) U12_A(x1,x2) = (9,167) U22_A(x1) = (8,165) U31_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (23,98) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (15,165) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (11,39) U11_A(x1,x2,x3) = ((1,0),(1,0)) x2 + x3 + (9,168) U21_A(x1,x2) = (9,146) n__0_A() = (22,27) precedence: U13 > U12 > isNat = U21 > isNatKind# = U11 > n__isNatKind = isNatKind > U31 > n__and > activate = s > |0| = and > plus# = U41# > U41 > plus > tt > activate# > n__plus > isNat# > n__s = U21# = U22 = n__0 partial status: pi(activate#) = [1] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__plus) = [1, 2] pi(activate) = [1] pi(plus#) = [] pi(|0|) = [] pi(isNat#) = [1] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(tt) = [] pi(s) = [] pi(U41#) = [] pi(and) = [] pi(isNat) = [1] pi(n__and) = [2] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [1, 2] pi(U11) = [3] 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__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,|0|()) -> isNat#(N) p5: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p6: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNat#(n__plus(V1,V2)) -> activate#(V1) p8: isNat#(n__plus(V1,V2)) -> activate#(V2) p9: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p10: U21#(tt(),V1) -> isNat#(activate(V1)) p11: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p12: isNat#(n__s(V1)) -> activate#(V1) p13: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p14: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p15: plus#(N,s(M)) -> isNat#(M) p16: plus#(N,s(M)) -> isNat#(N) p17: U41#(tt(),M,N) -> activate#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p3, p4, p7, p8, p9, p10, p12, p13, p14, p15, p16, p17} {p2, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,s(M)) -> isNat#(N) p4: isNat#(n__s(V1)) -> activate#(V1) p5: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p6: U21#(tt(),V1) -> isNat#(activate(V1)) p7: isNat#(n__plus(V1,V2)) -> activate#(V2) p8: isNat#(n__plus(V1,V2)) -> activate#(V1) p9: plus#(N,s(M)) -> isNat#(M) p10: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p11: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p12: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (27,23) tt_A() = (19,4) activate#_A(x1) = ((1,0),(1,0)) x1 + (13,24) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (14,45) plus#_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (26,1) s_A(x1) = ((1,0),(0,0)) x1 + (23,19) isNat#_A(x1) = x1 + (0,23) n__s_A(x1) = ((1,0),(0,0)) x1 + (23,5) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (23,1) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (15,35) activate_A(x1) = ((1,0),(1,1)) x1 + (0,21) and_A(x1,x2) = ((1,0),(1,1)) x2 + (1,33) isNat_A(x1) = x1 + (22,2) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 + (15,0) n__and_A(x1,x2) = ((1,0),(1,1)) x2 + (1,32) |0|_A() = (23,49) U13_A(x1) = (20,5) U12_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (2,1) U22_A(x1) = (20,5) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (24,47) U41_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (37,1) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (14,46) U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (6,28) U21_A(x1,x2) = (21,6) n__0_A() = (23,6) precedence: U41# = activate# = n__plus = plus# = isNatKind = activate = and = isNat = n__isNatKind = n__and = |0| = U31 = plus = U11 > U12 = U41 > U22 = U21 > tt = U13 > s = n__s = U21# > isNat# = n__0 partial status: pi(U41#) = [] pi(tt) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [1] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(activate) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(n__and) = [] pi(|0|) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] 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: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: isNat#(n__s(V1)) -> activate#(V1) p4: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p5: U21#(tt(),V1) -> isNat#(activate(V1)) p6: isNat#(n__plus(V1,V2)) -> activate#(V2) p7: isNat#(n__plus(V1,V2)) -> activate#(V1) p8: plus#(N,s(M)) -> isNat#(M) p9: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p10: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p11: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,|0|()) -> isNat#(N) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: isNat#(n__plus(V1,V2)) -> activate#(V2) p6: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p7: U21#(tt(),V1) -> isNat#(activate(V1)) p8: isNat#(n__s(V1)) -> activate#(V1) p9: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p10: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p11: plus#(N,s(M)) -> isNat#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U41#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (12,18) tt_A() = (1,7) activate#_A(x1) = ((0,0),(1,0)) x1 + (12,1) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (15,2) plus#_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (12,6) |0|_A() = (2,2) isNat#_A(x1) = ((0,0),(1,0)) x1 + (12,3) n__s_A(x1) = ((1,0),(0,0)) x1 + (13,10) U21#_A(x1,x2) = ((0,0),(1,0)) x2 + (12,4) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (14,25) activate_A(x1) = ((1,0),(1,1)) x1 + (0,17) s_A(x1) = ((1,0),(0,0)) x1 + (13,11) and_A(x1,x2) = ((1,0),(0,0)) x2 + (15,20) isNat_A(x1) = x1 + (11,14) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 + (14,20) n__and_A(x1,x2) = ((1,0),(0,0)) x2 + (15,0) U13_A(x1) = x1 + (1,1) U12_A(x1,x2) = ((1,0),(0,0)) x2 + (13,0) U22_A(x1) = (2,8) U31_A(x1,x2) = x2 + (2,14) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (28,12) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (15,13) U11_A(x1,x2,x3) = ((1,0),(0,0)) x3 + (14,1) U21_A(x1,x2) = (3,9) n__0_A() = (2,1) precedence: U41# = activate# = plus# = isNat# = U21# > |0| = activate = and = n__and > s = U41 = plus > U11 > tt = isNatKind = isNat = n__isNatKind = U22 = U21 > U12 > U13 > n__plus = n__s = U31 = n__0 partial status: pi(U41#) = [] pi(tt) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(isNat#) = [] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(activate) = [] pi(s) = [] pi(and) = [] pi(isNat) = [1] pi(n__isNatKind) = [] pi(n__and) = [] pi(U13) = [1] pi(U12) = [] pi(U22) = [] pi(U31) = [2] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,|0|()) -> isNat#(N) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: isNat#(n__plus(V1,V2)) -> activate#(V2) p6: U21#(tt(),V1) -> isNat#(activate(V1)) p7: isNat#(n__s(V1)) -> activate#(V1) p8: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p9: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p10: plus#(N,s(M)) -> isNat#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,s(M)) -> isNat#(M) p4: isNat#(n__s(V1)) -> activate#(V1) p5: isNat#(n__plus(V1,V2)) -> activate#(V2) p6: isNat#(n__plus(V1,V2)) -> activate#(V1) p7: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p8: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p9: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (47,75) tt_A() = (1,0) activate#_A(x1) = ((1,0),(1,1)) x1 + (3,13) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (3,13) plus#_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,30) s_A(x1) = x1 + (46,32) isNat#_A(x1) = ((1,0),(1,1)) x1 + (1,107) n__s_A(x1) = x1 + (46,11) and_A(x1,x2) = ((1,0),(0,0)) x2 + (1,23) isNat_A(x1) = x1 + (0,109) n__isNatKind_A(x1) = x1 + (50,0) n__and_A(x1,x2) = ((1,0),(0,0)) x2 + (1,1) activate_A(x1) = x1 + (0,22) |0|_A() = (52,24) U13_A(x1) = (2,22) U12_A(x1,x2) = ((1,0),(1,0)) x1 + (2,22) U22_A(x1) = (2,0) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (1,109) U41_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (49,111) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (3,34) U11_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (2,22) U21_A(x1,x2) = x2 + (3,23) isNatKind_A(x1) = x1 + (50,10) n__0_A() = (52,24) precedence: n__plus = U31 = U41 = plus > and = activate = U13 = U12 = U11 = isNatKind > |0| > s = isNat = n__isNatKind = U22 = U21 > tt > U41# > activate# = plus# = isNat# = n__s > n__and = n__0 partial status: pi(U41#) = [] pi(tt) = [] pi(activate#) = [1] pi(n__plus) = [1, 2] pi(plus#) = [2] pi(s) = [1] pi(isNat#) = [1] pi(n__s) = [1] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [1] pi(n__and) = [] pi(activate) = [] pi(|0|) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [1, 2] pi(U11) = [] pi(U21) = [] pi(isNatKind) = [] 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: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,s(M)) -> isNat#(M) p4: isNat#(n__plus(V1,V2)) -> activate#(V2) p5: isNat#(n__plus(V1,V2)) -> activate#(V1) p6: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p7: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p8: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U41#(tt(),M,N) -> activate#(M) p2: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p3: plus#(N,|0|()) -> isNat#(N) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: isNat#(n__plus(V1,V2)) -> activate#(V2) p6: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p7: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p8: plus#(N,s(M)) -> isNat#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(0,0)) x3 + (19,4) tt_A() = (6,11) activate#_A(x1) = ((1,0),(1,0)) x1 + (7,0) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (17,0) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (18,2) |0|_A() = (10,1) isNat#_A(x1) = x1 + (9,2) s_A(x1) = x1 + (8,1) and_A(x1,x2) = ((1,0),(1,1)) x2 isNat_A(x1) = ((1,0),(1,0)) x1 + (2,10) n__isNatKind_A(x1) = (16,0) n__and_A(x1,x2) = x2 activate_A(x1) = ((1,0),(1,1)) x1 U13_A(x1) = (7,12) U12_A(x1,x2) = (8,1) U22_A(x1) = ((0,0),(1,0)) x1 + (6,6) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (11,2) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (25,3) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (17,1) U11_A(x1,x2,x3) = ((0,0),(1,0)) x1 + (18,3) U21_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (7,3) isNatKind_A(x1) = (16,16) n__0_A() = (10,1) n__s_A(x1) = x1 + (8,0) precedence: U41# = tt = s = and = isNat = activate = U13 = U12 = U31 = U41 = U11 = U21 = isNatKind > |0| = U22 > n__plus = plus > activate# = plus# > n__isNatKind = n__and > isNat# = n__0 > n__s partial status: pi(U41#) = [] pi(tt) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(isNat#) = [1] pi(s) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(n__and) = [] pi(activate) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] pi(isNatKind) = [] pi(n__0) = [] 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: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> activate#(V1) p4: isNat#(n__plus(V1,V2)) -> activate#(V2) p5: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p6: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p7: plus#(N,s(M)) -> isNat#(M) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p2: plus#(N,s(M)) -> isNat#(M) p3: isNat#(n__plus(V1,V2)) -> activate#(V2) p4: isNat#(n__plus(V1,V2)) -> activate#(V1) p5: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p6: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p7: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (7,2) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (0,81) plus#_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (2,1) s_A(x1) = ((1,0),(0,0)) x1 + (9,49) isNat#_A(x1) = x1 + (8,7) U41#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + x3 + (10,36) and_A(x1,x2) = x2 + (0,35) isNat_A(x1) = ((1,0),(1,0)) x1 + (21,24) n__isNatKind_A(x1) = x1 + (12,11) n__and_A(x1,x2) = x2 + (0,2) tt_A() = (18,2) activate_A(x1) = x1 + (0,34) |0|_A() = (7,6) U13_A(x1) = (19,1) U12_A(x1,x2) = ((1,0),(0,0)) x1 + (4,3) U22_A(x1) = (19,2) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (6,35) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (9,50) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (0,82) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (8,4) U21_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (20,5) isNatKind_A(x1) = x1 + (12,12) n__0_A() = (7,5) n__s_A(x1) = ((1,0),(0,0)) x1 + (9,16) precedence: U11 > U13 = U12 > n__plus = and = tt = activate = |0| = U22 = U31 = U41 = plus = isNatKind > activate# = plus# = U41# > isNat# > n__and > n__isNatKind > s = isNat = U21 = n__0 = n__s partial status: pi(activate#) = [] pi(n__plus) = [2] pi(plus#) = [] pi(s) = [] pi(isNat#) = [1] pi(U41#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [1] pi(n__and) = [] pi(tt) = [] pi(activate) = [1] pi(|0|) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [2] pi(U11) = [] pi(U21) = [] pi(isNatKind) = [] pi(n__0) = [] 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: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p2: isNat#(n__plus(V1,V2)) -> activate#(V2) p3: isNat#(n__plus(V1,V2)) -> activate#(V1) p4: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p5: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p6: plus#(N,|0|()) -> isNat#(N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> activate#(V1) p4: isNat#(n__plus(V1,V2)) -> activate#(V2) p5: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p6: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (1,1) n__plus_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (9,3) plus#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (10,9) |0|_A() = (0,14) isNat#_A(x1) = ((1,0),(1,0)) x1 s_A(x1) = ((1,0),(0,0)) x1 + (12,0) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (11,9) and_A(x1,x2) = ((1,0),(0,0)) x2 + (9,12) isNat_A(x1) = x1 + (4,8) n__isNatKind_A(x1) = x1 + (1,0) n__and_A(x1,x2) = ((1,0),(0,0)) x2 + (9,0) tt_A() = (0,0) activate_A(x1) = x1 + (0,12) U13_A(x1) = (0,0) U12_A(x1,x2) = (1,0) U22_A(x1) = ((0,0),(1,0)) x1 + (1,1) U31_A(x1,x2) = x2 + (1,13) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (21,11) plus_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (9,14) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (2,1) U21_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (13,6) isNatKind_A(x1) = x1 + (1,12) n__0_A() = (0,3) n__s_A(x1) = ((1,0),(0,0)) x1 + (12,0) precedence: isNat = U13 > activate# = plus# = isNat# = U41# > n__plus = |0| = and = activate = U12 = U31 = U41 = plus = U11 = isNatKind > s = U22 = U21 = n__s > n__and = tt > n__0 > n__isNatKind partial status: pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(isNat#) = [] pi(s) = [] pi(U41#) = [] pi(and) = [] pi(isNat) = [1] pi(n__isNatKind) = [] pi(n__and) = [] pi(tt) = [] pi(activate) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] pi(isNatKind) = [] pi(n__0) = [] pi(n__s) = [] 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#(X1,X2) p2: plus#(N,|0|()) -> isNat#(N) p3: isNat#(n__plus(V1,V2)) -> activate#(V2) p4: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p5: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p2: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p3: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p4: plus#(N,|0|()) -> isNat#(N) p5: isNat#(n__plus(V1,V2)) -> activate#(V2) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 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 + (1,45) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (49,44) plus#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (8,139) s_A(x1) = ((1,0),(0,0)) x1 + (5,82) U41#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (9,225) and_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + (39,1) isNat_A(x1) = ((1,0),(0,0)) x1 + (7,141) n__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (9,58) n__and_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + (39,1) tt_A() = (8,72) activate_A(x1) = ((1,0),(1,1)) x1 + (0,82) |0|_A() = (10,2) isNat#_A(x1) = x1 + (9,3) U13_A(x1) = ((0,0),(1,0)) x1 + (9,66) U12_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (10,132) U22_A(x1) = (9,73) U31_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (11,1) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (54,83) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (49,45) U11_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (50,142) U21_A(x1,x2) = ((1,0),(1,0)) x1 + (2,73) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (9,60) n__0_A() = (10,1) n__s_A(x1) = ((1,0),(0,0)) x1 + (5,81) precedence: U41# > activate# = plus# = and = n__and = isNat# > U31 > activate = |0| = plus > U41 = U11 > isNat = n__isNatKind = tt = U13 = U12 = U22 = U21 = isNatKind > n__plus = s = n__0 = n__s partial status: pi(activate#) = [1] pi(n__plus) = [1, 2] pi(plus#) = [1, 2] pi(s) = [] pi(U41#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [1] pi(n__and) = [] pi(tt) = [] pi(activate) = [1] pi(|0|) = [] pi(isNat#) = [1] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [1] pi(U11) = [] pi(U21) = [] pi(isNatKind) = [1] pi(n__0) = [] 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#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p2: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p3: plus#(N,|0|()) -> isNat#(N) p4: isNat#(n__plus(V1,V2)) -> activate#(V2) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p2: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: plus#_A(x1,x2) = ((1,0),(1,0)) x2 + (2,19) s_A(x1) = ((1,0),(0,0)) x1 + (21,21) U41#_A(x1,x2,x3) = ((1,0),(1,0)) x2 + (23,22) and_A(x1,x2) = ((1,0),(1,1)) x2 + (8,2) isNat_A(x1) = ((1,0),(1,0)) x1 + (12,39) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 + (15,22) n__and_A(x1,x2) = ((1,0),(1,1)) x2 + (8,1) tt_A() = (1,20) activate_A(x1) = x1 + (0,19) U13_A(x1) = (1,20) U12_A(x1,x2) = ((0,0),(1,0)) x1 + (2,20) U22_A(x1) = (2,17) U31_A(x1,x2) = x2 + (1,20) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (35,22) plus_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (14,42) U11_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + (2,13) U21_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (22,17) isNatKind_A(x1) = ((1,0),(0,0)) x1 + (15,40) n__0_A() = (0,1) n__plus_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (14,41) n__s_A(x1) = ((1,0),(0,0)) x1 + (21,3) |0|_A() = (0,2) precedence: and = activate = U31 = U41 = plus = isNatKind > U22 > U12 = U11 > tt = U13 > s > plus# = U41# = isNat > n__isNatKind = n__and = |0| > n__0 = n__plus > U21 = n__s partial status: pi(plus#) = [] pi(s) = [] pi(U41#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(n__and) = [] pi(tt) = [] pi(activate) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] pi(isNatKind) = [] pi(n__0) = [] pi(n__plus) = [1] pi(n__s) = [] 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: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p2: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNatKind#_A(x1) = x1 + (1,25) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (8,24) activate_A(x1) = ((1,0),(1,1)) x1 n__s_A(x1) = ((1,0),(0,0)) x1 + (21,1) U13_A(x1) = (2,11) tt_A() = (1,10) U12_A(x1,x2) = (3,12) isNat_A(x1) = x1 + (5,1) U22_A(x1) = ((0,0),(1,0)) x1 + (2,10) U11_A(x1,x2,x3) = ((0,0),(1,0)) x3 + (4,13) U21_A(x1,x2) = (3,0) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (9,1) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (29,30) s_A(x1) = ((1,0),(1,0)) x1 + (21,21) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (8,31) n__0_A() = (8,0) and_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (5,2) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (4,3) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 + (4,0) |0|_A() = (8,2) n__and_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (5,1) precedence: activate = tt = isNat = U22 = U21 = U31 = and = isNatKind = n__and > U11 > n__isNatKind > n__plus = U41 = s = plus > isNatKind# = n__s = U12 = n__0 = |0| > U13 partial status: pi(isNatKind#) = [1] pi(n__plus) = [] pi(activate) = [] pi(n__s) = [] pi(U13) = [] pi(tt) = [] pi(U12) = [] pi(isNat) = [] pi(U22) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(s) = [] pi(plus) = [2] pi(n__0) = [] pi(and) = [] pi(isNatKind) = [] pi(n__isNatKind) = [] pi(|0|) = [] pi(n__and) = [] 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: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) r2: U12(tt(),V2) -> U13(isNat(activate(V2))) r3: U13(tt()) -> tt() r4: U21(tt(),V1) -> U22(isNat(activate(V1))) r5: U22(tt()) -> tt() r6: U31(tt(),N) -> activate(N) r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M))) r8: and(tt(),X) -> activate(X) r9: isNat(n__0()) -> tt() r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r12: isNatKind(n__0()) -> tt() r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N) r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) r17: |0|() -> n__0() r18: plus(X1,X2) -> n__plus(X1,X2) r19: isNatKind(X) -> n__isNatKind(X) r20: s(X) -> n__s(X) r21: and(X1,X2) -> n__and(X1,X2) r22: activate(n__0()) -> |0|() r23: activate(n__plus(X1,X2)) -> plus(X1,X2) r24: activate(n__isNatKind(X)) -> isNatKind(X) r25: activate(n__s(X)) -> s(X) r26: activate(n__and(X1,X2)) -> and(X1,X2) r27: 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, r19, r20, r21, r22, r23, r24, r25, r26, r27 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNatKind#_A(x1) = ((1,0),(1,1)) x1 + (1,2) n__s_A(x1) = ((1,0),(0,0)) x1 + (24,9) activate_A(x1) = x1 + (0,8) U13_A(x1) = (6,7) tt_A() = (5,6) U12_A(x1,x2) = (7,1) isNat_A(x1) = (9,11) U22_A(x1) = ((0,0),(1,0)) x1 + (6,2) U11_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (8,12) U21_A(x1,x2) = ((0,0),(1,0)) x2 + (7,1) U31_A(x1,x2) = x2 + (11,23) U41_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (30,6) s_A(x1) = ((1,0),(0,0)) x1 + (24,10) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (6,12) n__0_A() = (10,1) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (6,5) and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (1,4) isNatKind_A(x1) = ((1,0),(0,0)) x1 + (1,7) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 + (1,1) |0|_A() = (10,8) n__and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (1,3) precedence: n__s = activate = tt = isNat = U11 = U21 = U31 = U41 = s = plus = n__plus = and = isNatKind = n__isNatKind > isNatKind# = U22 = n__0 = |0| > U13 = U12 = n__and partial status: pi(isNatKind#) = [1] pi(n__s) = [] pi(activate) = [] pi(U13) = [] pi(tt) = [] pi(U12) = [] pi(isNat) = [] pi(U22) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(s) = [] pi(plus) = [] pi(n__0) = [] pi(n__plus) = [] pi(and) = [] pi(isNatKind) = [] pi(n__isNatKind) = [] pi(|0|) = [] pi(n__and) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.