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: standard order interpretations: U11#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (19,0) tt_A() = (7,4) U12#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,0),(0,0)) x2 + (13,0) isNat_A(x1) = ((1,0),(0,0)) x1 + (6,5) activate_A(x1) = ((1,0),(1,1)) x1 activate#_A(x1) = ((1,0),(0,0)) x1 + (11,0) n__and_A(x1,x2) = ((0,1),(1,0)) x1 + ((1,0),(1,1)) x2 + (0,4) and#_A(x1,x2) = ((1,0),(0,0)) x2 + (11,0) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (11,0) n__s_A(x1) = ((1,0),(0,0)) x1 + (0,18) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (5,5) plus#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (16,0) s_A(x1) = ((1,0),(1,0)) x1 + (0,18) isNat#_A(x1) = ((1,0),(0,0)) x1 + (16,0) isNatKind_A(x1) = ((1,0),(1,0)) x1 U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (16,0) and_A(x1,x2) = ((0,1),(1,0)) x1 + ((1,0),(1,1)) x2 + (0,4) U41#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (16,0) |0|_A() = (12,4) U31#_A(x1,x2) = ((1,0),(0,0)) x2 + (11,0) U13_A(x1) = (8,4) U12_A(x1,x2) = ((0,0),(0,1)) x1 + (9,0) U22_A(x1) = (8,4) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (11,5) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (5,23) plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (5,5) U11_A(x1,x2,x3) = (10,5) U21_A(x1,x2) = ((0,1),(0,0)) x1 + (5,4) n__0_A() = (12,4) precedence: isNat = activate = U31 = U41 = plus > n__plus > U22 > n__and = and > tt = isNatKind = |0| = U13 = n__0 > n__isNatKind > s > U11# = U12# = activate# = and# = isNatKind# = plus# = isNat# = U21# = U41# = U31# > U12 = U11 > n__s = U21 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) = [] pi(U21#) = [] pi(and) = [] pi(U41#) = [] pi(|0|) = [] pi(U31#) = [] 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: 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: 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: {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, p31, p32, p33, p34, p35, p36, p37} -- 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) -> isNat#(activate(V2)) p3: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p4: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p5: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p6: and#(tt(),X) -> activate#(X) p7: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p8: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p9: U31#(tt(),N) -> activate#(N) p10: activate#(n__isNatKind(X)) -> isNatKind#(X) p11: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p13: activate#(n__and(X1,X2)) -> and#(X1,X2) p14: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p15: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p16: isNatKind#(n__s(V1)) -> activate#(V1) p17: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p18: plus#(N,|0|()) -> isNat#(N) 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: U21#(tt(),V1) -> isNat#(activate(V1)) p24: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p25: isNat#(n__s(V1)) -> activate#(V1) p26: U21#(tt(),V1) -> activate#(V1) 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) p35: U11#(tt(),V1,V2) -> activate#(V1) p36: U11#(tt(),V1,V2) -> activate#(V2) p37: U12#(tt(),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: standard order interpretations: U11#_A(x1,x2,x3) = ((1,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (23,98) tt_A() = (29,2) U12#_A(x1,x2) = ((0,0),(0,1)) x1 + ((1,1),(1,1)) x2 + (29,55) isNat_A(x1) = ((1,1),(0,1)) x1 + (4,3) activate_A(x1) = x1 + (8,16) isNat#_A(x1) = ((1,1),(1,1)) x1 + (4,33) n__plus_A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (167,0) and_A(x1,x2) = x2 + (8,41) isNatKind_A(x1) = ((0,0),(1,1)) x1 + (31,4) n__isNatKind_A(x1) = ((0,0),(1,1)) x1 + (23,3) and#_A(x1,x2) = ((1,1),(1,1)) x2 + (1,7) activate#_A(x1) = ((1,1),(1,1)) x1 + (1,0) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,5) |0|_A() = (26,2) U31#_A(x1,x2) = ((1,1),(1,1)) x2 + (25,3) isNatKind#_A(x1) = ((1,1),(1,1)) x1 + (27,0) n__and_A(x1,x2) = x2 + (0,33) n__s_A(x1) = x1 + (32,16) U21#_A(x1,x2) = ((1,1),(1,1)) x2 + (28,57) s_A(x1) = x1 + (40,32) U41#_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (50,53) U13_A(x1) = (30,3) U12_A(x1,x2) = (31,3) U22_A(x1) = (30,2) U31_A(x1,x2) = x2 + (27,16) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + x3 + (240,88) plus_A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (168,16) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (123,3) U21_A(x1,x2) = (31,19) n__0_A() = (25,1) precedence: U12# = U11 > U41# > plus# = U31# > and# > U11# = isNat# = n__plus = U21# = U31 = U41 = plus > U12 > isNat = U21 > |0| = n__0 > n__s > activate = and = isNatKind = n__isNatKind = n__and > U13 > tt > U22 > activate# = isNatKind# = s partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNat) = [1] pi(activate) = [] pi(isNat#) = [] pi(n__plus) = [] pi(and) = [] pi(isNatKind) = [] pi(n__isNatKind) = [] pi(and#) = [] pi(activate#) = [] pi(plus#) = [2] pi(|0|) = [] pi(U31#) = [] pi(isNatKind#) = [] pi(n__and) = [] pi(n__s) = [] pi(U21#) = [] pi(s) = [] pi(U41#) = [] 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: p2 We remove them from the problem. -- 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: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p3: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p4: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p5: and#(tt(),X) -> activate#(X) p6: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p7: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p8: U31#(tt(),N) -> activate#(N) p9: activate#(n__isNatKind(X)) -> isNatKind#(X) p10: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p12: activate#(n__and(X1,X2)) -> and#(X1,X2) p13: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p14: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p15: isNatKind#(n__s(V1)) -> activate#(V1) p16: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p17: plus#(N,|0|()) -> isNat#(N) 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: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) p27: U41#(tt(),M,N) -> plus#(activate(N),activate(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)) -> and#(isNat(M),n__isNatKind(M)) p30: plus#(N,s(M)) -> isNat#(M) p31: plus#(N,s(M)) -> isNat#(N) p32: U41#(tt(),M,N) -> activate#(N) p33: U41#(tt(),M,N) -> activate#(M) p34: U11#(tt(),V1,V2) -> activate#(V1) p35: U11#(tt(),V1,V2) -> activate#(V2) p36: U12#(tt(),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, 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: 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: 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) 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: standard order interpretations: U11#_A(x1,x2,x3) = ((0,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((0,1),(1,1)) x3 + (316,203) tt_A() = (149,202) U12#_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(1,1)) x2 + (1,37) isNat_A(x1) = x1 + (498,135) activate_A(x1) = x1 + (19,6) activate#_A(x1) = ((0,1),(0,1)) x1 + (202,1) n__and_A(x1,x2) = ((1,1),(0,1)) x2 + (109,2) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (203,3) n__isNatKind_A(x1) = ((1,1),(1,1)) x1 + (3,127) isNatKind#_A(x1) = ((1,1),(1,1)) x1 + (307,128) n__s_A(x1) = ((0,1),(1,0)) x1 + (21,91) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (123,165) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (366,1) s_A(x1) = ((0,1),(1,0)) x1 + (40,91) isNat#_A(x1) = ((1,1),(1,1)) x1 + (220,41) U21#_A(x1,x2) = ((1,1),(1,1)) x2 + (246,66) isNatKind_A(x1) = ((1,1),(1,1)) x1 + (21,128) and_A(x1,x2) = ((1,1),(0,1)) x2 + (128,8) U41#_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (497,92) |0|_A() = (4,129) U31#_A(x1,x2) = ((0,1),(0,1)) x2 + (203,130) U13_A(x1) = (150,203) U12_A(x1,x2) = ((0,0),(0,1)) x2 + (518,203) U22_A(x1) = (150,203) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (20,130) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (255,265) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (124,165) U11_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((0,1),(0,1)) x3 + (519,209) U21_A(x1,x2) = (518,203) n__0_A() = (0,129) precedence: U21# > U11# = isNat# > U12# > plus# = U31# > isNatKind# = U41# > activate = n__isNatKind = n__s = n__plus = s = isNatKind = |0| = U41 = plus > activate# > tt = and# = U13 > isNat > n__and = and = U12 = U31 = U11 = U21 = n__0 > U22 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNat) = [] pi(activate) = [] pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(n__isNatKind) = [1] pi(isNatKind#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(U21#) = [] pi(isNatKind) = [1] pi(and) = [2] pi(U41#) = [3] pi(|0|) = [] pi(U31#) = [] 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: p29 We remove them from the problem. -- 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: 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: 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: U41#(tt(),M,N) -> activate#(M) p30: U41#(tt(),M,N) -> activate#(N) p31: U41#(tt(),M,N) -> plus#(activate(N),activate(M)) p32: plus#(N,|0|()) -> isNat#(N) p33: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p34: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p35: 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, p32, p33, p34, p35} -- 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__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)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p9: activate#(n__and(X1,X2)) -> and#(X1,X2) p10: and#(tt(),X) -> activate#(X) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p12: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p13: isNatKind#(n__s(V1)) -> activate#(V1) p14: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p15: plus#(N,|0|()) -> isNat#(N) p16: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p17: U11#(tt(),V1,V2) -> isNat#(activate(V1)) 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: U21#(tt(),V1) -> isNat#(activate(V1)) p24: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p25: isNat#(n__s(V1)) -> activate#(V1) p26: U21#(tt(),V1) -> activate#(V1) p27: U11#(tt(),V1,V2) -> activate#(V1) p28: U11#(tt(),V1,V2) -> activate#(V2) 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) 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: standard order interpretations: U11#_A(x1,x2,x3) = ((1,1),(0,1)) x2 + ((0,1),(0,1)) x3 + (8,1) tt_A() = (0,0) U12#_A(x1,x2) = ((0,1),(0,1)) x2 + (8,1) isNat_A(x1) = ((1,0),(1,0)) x1 + (4,4) activate_A(x1) = x1 activate#_A(x1) = ((0,1),(0,1)) x1 + (8,0) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (6,4) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,1),(0,1)) x2 + (12,4) |0|_A() = (0,0) U31#_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,1),(0,1)) x2 + (8,0) and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (0,4) n__isNatKind_A(x1) = ((0,0),(0,1)) x1 isNatKind#_A(x1) = ((0,1),(0,1)) x1 + (7,0) n__and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (0,4) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (8,0) n__s_A(x1) = ((0,0),(0,1)) x1 + (3,4) isNat#_A(x1) = ((0,1),(0,1)) x1 + (4,0) isNatKind_A(x1) = ((0,0),(0,1)) x1 U21#_A(x1,x2) = ((0,1),(0,1)) x2 + (8,0) s_A(x1) = ((0,0),(0,1)) x1 + (3,4) U13_A(x1) = (1,1) U12_A(x1,x2) = (2,1) U22_A(x1) = (1,1) U31_A(x1,x2) = x2 U41_A(x1,x2,x3) = ((0,0),(0,1)) x2 + ((1,1),(1,1)) x3 + (7,8) plus_A(x1,x2) = ((1,1),(1,1)) x1 + x2 + (6,4) U11_A(x1,x2,x3) = ((0,0),(1,0)) x3 + (3,5) U21_A(x1,x2) = (2,5) n__0_A() = (0,0) precedence: U11# = tt = U12# = isNat = activate = activate# = n__plus = plus# = |0| = U31# = and = n__isNatKind = isNatKind# = n__and = and# = n__s = isNat# = isNatKind = U21# = s = U13 = U12 = U22 = U31 = U41 = plus = U11 = U21 = n__0 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNat) = [] pi(activate) = [] pi(activate#) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [] pi(and) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__and) = [] pi(and#) = [] pi(n__s) = [] pi(isNat#) = [] pi(isNatKind) = [] pi(U21#) = [] pi(s) = [] 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: U11#(tt(),V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) p2: U12#(tt(),V2) -> activate#(V2) 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)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p9: activate#(n__and(X1,X2)) -> and#(X1,X2) p10: and#(tt(),X) -> activate#(X) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p12: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p13: isNatKind#(n__s(V1)) -> activate#(V1) p14: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(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)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p29: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p30: plus#(N,s(M)) -> isNat#(M) p31: plus#(N,s(M)) -> 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, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31} -- 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: 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,|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: standard order interpretations: U11#_A(x1,x2,x3) = ((0,0),(0,1)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,1)) x3 + (213,98) tt_A() = (61,8) U12#_A(x1,x2) = ((1,0),(1,0)) x2 + (121,19) isNat_A(x1) = ((0,1),(1,0)) x1 + (62,1) activate_A(x1) = x1 + (4,9) activate#_A(x1) = ((1,0),(1,0)) x1 + (120,19) n__and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (290,15) and#_A(x1,x2) = ((1,0),(1,0)) x2 + (121,19) n__isNatKind_A(x1) = ((1,1),(1,0)) x1 + (1,225) isNatKind#_A(x1) = ((1,0),(1,0)) x1 + (2,20) n__s_A(x1) = x1 + (119,18) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (229,73) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (348,160) s_A(x1) = x1 + (123,27) isNat#_A(x1) = ((1,1),(1,1)) x1 + (49,93) U21#_A(x1,x2) = ((1,1),(1,1)) x2 + (121,106) isNatKind_A(x1) = ((1,1),(1,0)) x1 + (5,226) and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (293,24) |0|_A() = (63,1) U31#_A(x1,x2) = ((1,0),(1,1)) x2 + (121,224) U13_A(x1) = (61,9) U12_A(x1,x2) = ((0,1),(0,0)) x1 + (64,9) U22_A(x1) = (70,9) U31_A(x1,x2) = ((1,1),(0,1)) x2 + (64,9) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (379,127) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (230,74) U11_A(x1,x2,x3) = ((1,0),(0,0)) x2 + (70,9) U21_A(x1,x2) = (71,19) n__0_A() = (60,0) precedence: isNat > activate = n__isNatKind = |0| = U31 = plus = n__0 > U11# = U12# > activate# = isNatKind# = n__plus = plus# = isNat# = U21# = U31# = U11 > U22 = U21 > U41 > n__and = and# = n__s = s = isNatKind = and > tt = U13 = U12 partial status: pi(U11#) = [3] 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) = [2] pi(plus#) = [] pi(s) = [1] pi(isNat#) = [1] pi(U21#) = [] pi(isNatKind) = [] pi(and) = [] pi(|0|) = [] pi(U31#) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [2] 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: 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: 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: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p22: U11#(tt(),V1,V2) -> activate#(V2) p23: U11#(tt(),V1,V2) -> activate#(V1) p24: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p25: plus#(N,s(M)) -> isNat#(M) p26: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p27: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(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: {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: 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)) -> 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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p14: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p15: plus#(N,s(M)) -> isNat#(M) p16: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p17: U11#(tt(),V1,V2) -> isNat#(activate(V1)) 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: U21#(tt(),V1) -> isNat#(activate(V1)) p24: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p25: isNat#(n__s(V1)) -> activate#(V1) p26: U21#(tt(),V1) -> activate#(V1) p27: U11#(tt(),V1,V2) -> activate#(V1) p28: U11#(tt(),V1,V2) -> activate#(V2) p29: plus#(N,s(M)) -> 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: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 + (49,15) n__and_A(x1,x2) = x1 + x2 + (0,2) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (50,17) tt_A() = (1,157) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,1),(1,1)) x2 + (56,121) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (169,135) |0|_A() = (3,152) U31#_A(x1,x2) = ((1,1),(1,1)) x2 + (50,153) and_A(x1,x2) = x1 + x2 + (3,8) isNat_A(x1) = ((0,1),(1,0)) x1 + (0,157) n__isNatKind_A(x1) = ((1,1),(0,1)) x1 + (46,0) isNatKind#_A(x1) = ((0,1),(0,1)) x1 + (49,0) activate_A(x1) = x1 + (4,6) n__s_A(x1) = x1 + (22,15) s_A(x1) = x1 + (25,16) isNat#_A(x1) = ((1,1),(0,1)) x1 + (26,6) U11#_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(0,1)) x3 + (182,106) isNatKind_A(x1) = ((1,1),(0,1)) x1 + (47,6) U21#_A(x1,x2) = ((1,1),(0,1)) x2 + (53,15) U13_A(x1) = (2,158) U12_A(x1,x2) = (3,158) U22_A(x1) = (2,158) U31_A(x1,x2) = x2 + (5,153) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,0),(1,1)) x3 + (96,157) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,1),(1,1)) x2 + (56,121) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (4,161) U21_A(x1,x2) = ((0,1),(0,0)) x2 + (3,158) n__0_A() = (0,151) precedence: n__and = n__plus = plus > U11# > isNat# = U21# > activate# = and# = plus# = and = n__isNatKind = isNatKind# = activate = isNatKind = U31 > U31# > U41 > U13 > tt = isNat = U12 = U11 > s > |0| = n__0 > n__s = U22 = U21 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [] pi(and) = [2] pi(isNat) = [] pi(n__isNatKind) = [1] pi(isNatKind#) = [] pi(activate) = [1] pi(n__s) = [1] pi(s) = [1] pi(isNat#) = [1] pi(U11#) = [3] pi(isNatKind) = [1] pi(U21#) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [2] pi(U41) = [] pi(plus) = [] pi(U11) = [] pi(U21) = [] 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__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)) -> 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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p14: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p15: plus#(N,s(M)) -> isNat#(M) p16: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p17: U11#(tt(),V1,V2) -> isNat#(activate(V1)) 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__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)) -> 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, p21, p22, p23, p24, p25, p26, p27, p28} -- 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: 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#(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: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p20: U11#(tt(),V1,V2) -> activate#(V2) p21: U11#(tt(),V1,V2) -> activate#(V1) p22: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p23: plus#(N,s(M)) -> isNat#(M) p24: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M)) p25: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p26: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p27: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p28: 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: standard order interpretations: activate#_A(x1) = ((1,0),(1,0)) x1 + (37,0) n__and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (0,1) and#_A(x1,x2) = ((1,0),(1,0)) x2 + (37,0) tt_A() = (14,0) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (0,9) isNatKind#_A(x1) = ((1,0),(1,0)) x1 + (37,0) n__s_A(x1) = x1 + (0,62) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (18,19) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (16,0) s_A(x1) = x1 + (0,62) isNat#_A(x1) = ((1,1),(1,1)) x1 activate_A(x1) = x1 U21#_A(x1,x2) = ((1,1),(1,1)) x2 + (62,1) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (0,9) U11#_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,0)) x3 + (37,0) and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (0,1) isNat_A(x1) = ((0,0),(0,1)) x1 + (79,41) |0|_A() = (14,8) U31#_A(x1,x2) = ((1,0),(1,0)) x2 + (38,9) U13_A(x1) = (15,1) U12_A(x1,x2) = (16,1) U22_A(x1) = ((0,0),(0,1)) x1 + (15,0) U31_A(x1,x2) = ((1,1),(1,1)) x2 + (15,9) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (19,81) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (18,19) U11_A(x1,x2,x3) = ((0,0),(1,0)) x2 + (17,1) U21_A(x1,x2) = ((0,0),(0,1)) x2 + (16,41) n__0_A() = (14,8) precedence: activate# = n__and = and# = tt = n__isNatKind = isNatKind# = n__s = n__plus = plus# = s = isNat# = activate = U21# = isNatKind = U11# = and = isNat = |0| = U31# = U13 = U12 = U22 = U31 = U41 = plus = U11 = U21 = n__0 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) = [] pi(U21#) = [] pi(isNatKind) = [] pi(U11#) = [] pi(and) = [] pi(isNat) = [] pi(|0|) = [] pi(U31#) = [] 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: p24 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__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: 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#(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: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p20: U11#(tt(),V1,V2) -> activate#(V2) p21: U11#(tt(),V1,V2) -> activate#(V1) p22: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p23: plus#(N,s(M)) -> isNat#(M) p24: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p25: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p26: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p27: 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} -- 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)) -> 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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p14: plus#(N,s(M)) -> isNat#(M) 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__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)) -> 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: standard order interpretations: activate#_A(x1) = ((1,0),(1,0)) x1 + (155,0) n__and_A(x1,x2) = ((0,1),(0,0)) x1 + x2 + (0,14) and#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,0),(1,0)) x2 + (23,0) tt_A() = (222,133) n__plus_A(x1,x2) = ((1,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (58,98) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (212,0) |0|_A() = (224,223) U31#_A(x1,x2) = ((1,1),(1,1)) x2 + (225,0) and_A(x1,x2) = ((0,1),(0,0)) x1 + x2 + (0,14) isNat_A(x1) = ((0,1),(0,0)) x1 + (1,135) n__isNatKind_A(x1) = ((1,1),(0,0)) x1 + (0,122) isNatKind#_A(x1) = ((1,1),(1,0)) x1 activate_A(x1) = x1 + (46,14) n__s_A(x1) = x1 + (47,108) s_A(x1) = x1 + (74,122) isNat#_A(x1) = ((1,1),(1,1)) x1 + (163,146) U11#_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,0)) x3 + (2,0) isNatKind_A(x1) = ((1,1),(0,0)) x1 + (40,136) U21#_A(x1,x2) = ((1,1),(1,1)) x2 + (224,206) U13_A(x1) = ((0,1),(0,0)) x1 + (90,134) U12_A(x1,x2) = ((1,0),(0,0)) x1 + (4,134) U22_A(x1) = ((1,0),(0,0)) x1 + (78,134) U31_A(x1,x2) = x2 + (225,224) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(0,1)) x3 + (298,295) plus_A(x1,x2) = ((1,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (103,99) U11_A(x1,x2,x3) = ((0,1),(0,0)) x2 + (45,134) U21_A(x1,x2) = ((0,1),(0,0)) x2 + (94,134) n__0_A() = (223,222) precedence: U31 > isNat > U13 = U12 = U11 > activate# = and# = plus# = U31# = isNatKind# = isNat# = U11# = U21# > n__and = and = n__isNatKind = activate = isNatKind > |0| > plus > U41 > n__s = s = U22 = U21 > tt > n__0 > n__plus partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(activate) = [] pi(n__s) = [] pi(s) = [] pi(isNat#) = [] pi(U11#) = [] pi(isNatKind) = [] pi(U21#) = [] 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: p14 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)) -> 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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p14: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) 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__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p20: U21#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p22: isNat#(n__s(V1)) -> activate#(V1) p23: U21#(tt(),V1) -> activate#(V1) p24: U11#(tt(),V1,V2) -> activate#(V1) p25: U11#(tt(),V1,V2) -> activate#(V2) p26: plus#(N,s(M)) -> 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, p21, p22, p23, p24, p25, p26} -- 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: 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#(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: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p20: U11#(tt(),V1,V2) -> activate#(V2) p21: U11#(tt(),V1,V2) -> activate#(V1) p22: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p23: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p24: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p25: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p26: 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: standard order interpretations: activate#_A(x1) = ((1,0),(1,0)) x1 + (2,1) n__and_A(x1,x2) = ((0,1),(0,0)) x1 + x2 + (4,7) and#_A(x1,x2) = ((1,0),(1,0)) x2 + (5,1) tt_A() = (1,2) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (1,3) isNatKind#_A(x1) = ((1,0),(1,0)) x1 + (1,1) n__s_A(x1) = x1 + (22,0) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,0)) x2 + (7,3) plus#_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,0)) x2 + (1,2) s_A(x1) = x1 + (22,0) isNat#_A(x1) = ((1,0),(1,1)) x1 + (0,1) activate_A(x1) = x1 U21#_A(x1,x2) = ((1,0),(1,1)) x2 + (3,1) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (1,3) U11#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (2,1) and_A(x1,x2) = ((0,1),(0,0)) x1 + x2 + (4,7) isNat_A(x1) = ((0,1),(0,0)) x1 + (4,11) |0|_A() = (8,1) U31#_A(x1,x2) = ((1,0),(1,0)) x2 + (8,1) U13_A(x1) = (2,3) U12_A(x1,x2) = (3,3) U22_A(x1) = (2,3) U31_A(x1,x2) = x2 + (1,1) U41_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,1),(1,1)) x3 + (29,3) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,0)) x2 + (7,3) U11_A(x1,x2,x3) = (4,3) U21_A(x1,x2) = (3,11) n__0_A() = (8,1) precedence: n__and = n__isNatKind = activate = isNatKind = and = isNat = |0| = U31 = plus > U21 > U22 > tt > n__plus = U41 = U11 > isNatKind# > activate# = and# = plus# = isNat# = U21# = U11# > U31# > U12 > U13 > n__s = s = n__0 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__s) = [] pi(n__plus) = [1] pi(plus#) = [] pi(s) = [1] pi(isNat#) = [] pi(activate) = [] pi(U21#) = [] pi(isNatKind) = [] pi(U11#) = [] pi(and) = [] pi(isNat) = [] pi(|0|) = [] pi(U31#) = [] 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: p11 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__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)) -> isNatKind#(activate(V1)) 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#(V1) p16: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p17: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p18: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p19: U11#(tt(),V1,V2) -> activate#(V2) p20: U11#(tt(),V1,V2) -> activate#(V1) p21: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p22: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p23: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p24: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p25: 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} -- 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)) -> isNatKind#(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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p13: plus#(N,s(M)) -> isNat#(N) p14: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) 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__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p20: U21#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p22: isNat#(n__s(V1)) -> activate#(V1) p23: U21#(tt(),V1) -> activate#(V1) p24: U11#(tt(),V1,V2) -> activate#(V1) p25: U11#(tt(),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: standard order interpretations: activate#_A(x1) = ((1,0),(0,0)) x1 + (2,3) n__and_A(x1,x2) = ((1,1),(1,0)) x2 and#_A(x1,x2) = ((1,0),(0,0)) x2 + (2,3) tt_A() = (3,3) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 plus#_A(x1,x2) = ((1,0),(0,0)) x1 + (2,3) |0|_A() = (4,2) U31#_A(x1,x2) = ((1,0),(0,0)) x2 + (2,3) and_A(x1,x2) = ((1,1),(1,1)) x2 isNat_A(x1) = ((0,0),(1,0)) x1 + (7,7) n__isNatKind_A(x1) = ((1,0),(0,0)) x1 isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (2,3) activate_A(x1) = ((1,0),(1,1)) x1 n__s_A(x1) = ((1,0),(0,0)) x1 + (4,1) s_A(x1) = ((1,0),(0,0)) x1 + (4,2) isNat#_A(x1) = ((1,0),(0,0)) x1 + (2,3) U11#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (2,3) isNatKind_A(x1) = ((1,0),(1,0)) x1 U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (5,3) U13_A(x1) = (4,4) U12_A(x1,x2) = (5,4) U22_A(x1) = (4,4) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (4,3) U41_A(x1,x2,x3) = ((1,0),(0,0)) x2 + x3 + (4,3) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 U11_A(x1,x2,x3) = (6,4) U21_A(x1,x2) = (5,4) n__0_A() = (4,2) precedence: n__plus = and = n__isNatKind = activate = isNatKind = U31 = plus > U22 > isNat = n__s = s = U41 > activate# = and# = plus# = U31# = isNatKind# = isNat# = U11# = U21# > U13 = U12 = U11 > n__and > tt > |0| = n__0 > U21 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(activate) = [] pi(n__s) = [] pi(s) = [] pi(isNat#) = [] pi(U11#) = [] pi(isNatKind) = [] pi(U21#) = [] 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: p22 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)) -> isNatKind#(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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p13: plus#(N,s(M)) -> isNat#(N) p14: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) 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__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p20: U21#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p22: U21#(tt(),V1) -> activate#(V1) p23: U11#(tt(),V1,V2) -> activate#(V1) p24: U11#(tt(),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, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24} -- 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)) -> 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)) -> 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#(V1) p15: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p17: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p18: U11#(tt(),V1,V2) -> activate#(V2) p19: U11#(tt(),V1,V2) -> activate#(V1) p20: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p21: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p22: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p23: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p24: 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: standard order interpretations: activate#_A(x1) = ((0,1),(0,0)) x1 + (1,45) n__and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (1,2) and#_A(x1,x2) = ((0,1),(0,0)) x2 + (2,45) tt_A() = (2,1) n__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (11,7) isNatKind#_A(x1) = ((0,1),(0,0)) x1 + (8,45) n__s_A(x1) = x1 + (10,89) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (24,0) plus#_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (1,45) s_A(x1) = x1 + (10,89) isNat#_A(x1) = ((0,1),(0,0)) x1 + (15,45) activate_A(x1) = x1 + (5,0) U21#_A(x1,x2) = ((0,1),(0,0)) x2 + (16,45) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (12,7) U11#_A(x1,x2,x3) = ((0,1),(0,0)) x2 + ((0,1),(0,0)) x3 + (15,45) and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (3,2) isNat_A(x1) = (37,30) |0|_A() = (0,8) U31#_A(x1,x2) = ((0,1),(0,0)) x2 + (1,45) U13_A(x1) = ((1,0),(0,0)) x1 + (0,2) U12_A(x1,x2) = (37,2) U22_A(x1) = (3,2) U31_A(x1,x2) = ((1,1),(0,1)) x2 + (6,8) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (44,99) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (24,0) U11_A(x1,x2,x3) = (37,30) U21_A(x1,x2) = (4,30) n__0_A() = (0,8) precedence: U21# > activate# = and# = isNatKind# = plus# = U31# > isNat# = U11# > n__and = activate = isNatKind = and > n__plus = U31 = plus > isNat = U41 = U21 > tt = n__isNatKind = U13 = U12 = U11 > s > n__s = U22 > |0| = n__0 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__s) = [] pi(n__plus) = [2] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(activate) = [] pi(U21#) = [] pi(isNatKind) = [] pi(U11#) = [] pi(and) = [] pi(isNat) = [] 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: p18 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__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)) -> 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)) -> 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#(V1) p15: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2))) p17: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p18: U11#(tt(),V1,V2) -> activate#(V1) p19: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p20: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p21: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p22: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p23: 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} -- 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)) -> isNatKind#(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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p13: plus#(N,s(M)) -> isNat#(N) p14: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) 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__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p20: U21#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p22: U21#(tt(),V1) -> activate#(V1) p23: U11#(tt(),V1,V2) -> 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: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 + (50,11) n__and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (1,0) and#_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,1),(0,1)) x2 + (24,11) tt_A() = (27,1) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,1),(1,1)) x2 + (77,45) plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(0,1)) x2 + (94,56) |0|_A() = (104,23) U31#_A(x1,x2) = ((0,1),(1,1)) x2 + (105,24) and_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (2,0) isNat_A(x1) = (79,23) n__isNatKind_A(x1) = ((1,1),(0,1)) x1 + (13,0) isNatKind#_A(x1) = ((0,1),(0,1)) x1 + (27,11) activate_A(x1) = x1 + (2,23) n__s_A(x1) = x1 + (49,55) s_A(x1) = x1 + (50,78) isNat#_A(x1) = ((1,1),(1,1)) x1 + (1,79) U11#_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((0,0),(0,1)) x3 + (51,104) isNatKind_A(x1) = ((1,1),(0,1)) x1 + (13,23) U21#_A(x1,x2) = ((1,1),(1,1)) x2 + (51,104) U13_A(x1) = (28,2) U12_A(x1,x2) = (29,2) U22_A(x1) = (78,23) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (3,24) U41_A(x1,x2,x3) = ((0,1),(1,1)) x2 + ((1,0),(1,1)) x3 + (154,173) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,1),(1,1)) x2 + (79,45) U11_A(x1,x2,x3) = (78,22) U21_A(x1,x2) = (79,23) n__0_A() = (103,0) precedence: |0| = isNatKind > tt = isNat = U11 > activate = U12 = U31 = plus > and > n__and > U41 > isNat# = U21# > n__plus = U11# > plus# > s > n__s > U21 > U13 > activate# = and# = U31# = n__isNatKind = isNatKind# = U22 = n__0 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__plus) = [] pi(plus#) = [2] pi(|0|) = [] pi(U31#) = [] pi(and) = [2] pi(isNat) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(activate) = [1] pi(n__s) = [] pi(s) = [] pi(isNat#) = [] pi(U11#) = [] pi(isNatKind) = [] pi(U21#) = [] pi(U13) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [2] pi(U41) = [] pi(plus) = [1] pi(U11) = [] pi(U21) = [] pi(n__0) = [] The next rules are strictly ordered: p16 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)) -> isNatKind#(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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p13: plus#(N,s(M)) -> isNat#(N) p14: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p15: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p17: isNat#(n__plus(V1,V2)) -> activate#(V1) 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: U21#(tt(),V1) -> activate#(V1) p22: U11#(tt(),V1,V2) -> 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, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: 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)) -> 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)) -> 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#(V1) p15: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p17: U11#(tt(),V1,V2) -> activate#(V1) p18: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p19: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p20: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p21: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p22: 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: standard order interpretations: activate#_A(x1) = ((1,1),(0,0)) x1 + (6,4) n__and_A(x1,x2) = x2 and#_A(x1,x2) = ((1,1),(0,0)) x2 + (6,4) tt_A() = (1,2) n__isNatKind_A(x1) = ((0,1),(1,0)) x1 + (1,0) isNatKind#_A(x1) = ((1,1),(0,0)) x1 + (7,4) n__s_A(x1) = x1 + (8,3) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,1)) x2 plus#_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (2,4) s_A(x1) = x1 + (8,3) isNat#_A(x1) = ((1,1),(0,0)) x1 + (7,4) activate_A(x1) = x1 U21#_A(x1,x2) = ((1,1),(0,0)) x2 + (7,4) isNatKind_A(x1) = ((0,1),(1,0)) x1 + (1,0) U11#_A(x1,x2,x3) = ((0,1),(0,0)) x1 + ((1,1),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,4) and_A(x1,x2) = x2 isNat_A(x1) = ((0,0),(1,0)) x1 + (4,5) |0|_A() = (5,1) U31#_A(x1,x2) = ((1,1),(0,0)) x2 + (6,4) U13_A(x1) = (2,3) U12_A(x1,x2) = (4,3) U22_A(x1) = (2,3) U31_A(x1,x2) = x2 + (1,2) U41_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,1),(1,1)) x3 + (8,4) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,1)) x2 U11_A(x1,x2,x3) = (4,3) U21_A(x1,x2) = (3,4) n__0_A() = (5,1) precedence: n__and = n__plus = activate = isNatKind = and = plus > isNat > U12 = U11 > U22 = U21 > U31# > activate# = and# = plus# = isNat# = U21# = U11# > U31 > isNatKind# > U13 > tt = n__isNatKind = U41 > |0| = n__0 > n__s = s 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) = [] pi(U21#) = [] pi(isNatKind) = [] pi(U11#) = [] pi(and) = [] pi(isNat) = [] pi(|0|) = [] pi(U31#) = [] 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: p7 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__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: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V2) 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#(V1) p14: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p15: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p16: U11#(tt(),V1,V2) -> activate#(V1) p17: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p18: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p19: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p20: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N) p21: 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} -- 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)) -> isNatKind#(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,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p13: plus#(N,s(M)) -> isNat#(N) p14: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p15: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p17: isNat#(n__plus(V1,V2)) -> activate#(V1) p18: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p19: U21#(tt(),V1) -> isNat#(activate(V1)) p20: U21#(tt(),V1) -> activate#(V1) p21: U11#(tt(),V1,V2) -> 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: standard order interpretations: activate#_A(x1) = ((1,0),(0,0)) x1 + (8,5) n__and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (8,1) and#_A(x1,x2) = ((1,0),(0,0)) x2 + (8,5) tt_A() = (1,1) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,1)) x2 + (8,6) plus#_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,0),(0,0)) x2 + (16,5) |0|_A() = (0,0) U31#_A(x1,x2) = ((1,1),(0,0)) x2 + (9,5) and_A(x1,x2) = ((0,0),(1,0)) x1 + x2 + (8,1) isNat_A(x1) = ((0,1),(0,0)) x1 + (4,5) n__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (3,1) isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (11,5) activate_A(x1) = x1 n__s_A(x1) = ((1,0),(0,0)) x1 + (20,5) s_A(x1) = ((1,0),(0,0)) x1 + (20,5) isNat#_A(x1) = ((1,0),(0,0)) x1 + (3,5) U11#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + (9,5) isNatKind_A(x1) = ((1,0),(1,0)) x1 + (3,1) U21#_A(x1,x2) = ((1,0),(0,0)) x2 + (22,5) U13_A(x1) = (2,4) U12_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (2,4) U22_A(x1) = (2,2) U31_A(x1,x2) = ((1,1),(0,1)) x2 + (1,0) U41_A(x1,x2,x3) = ((0,0),(0,1)) x1 + ((1,0),(0,0)) x2 + ((1,1),(0,0)) x3 + (28,4) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,1)) x2 + (8,6) U11_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((0,1),(0,0)) x3 + (9,4) U21_A(x1,x2) = (3,2) n__0_A() = (0,0) precedence: U22 > |0| = n__0 > isNat = U12 = U11 > n__isNatKind = isNatKind > n__plus = n__s = s = U31 = U41 = plus > isNat# = U21# > U11# > U31# > activate# = and# = isNatKind# > plus# > U13 > n__and = and > activate > tt > U21 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__plus) = [] pi(plus#) = [] pi(|0|) = [] pi(U31#) = [] pi(and) = [] pi(isNat) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(activate) = [1] pi(n__s) = [] pi(s) = [] pi(isNat#) = [] pi(U11#) = [] pi(isNatKind) = [] pi(U21#) = [] 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__and(X1,X2)) -> and#(X1,X2) p2: and#(tt(),X) -> activate#(X) 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)) -> 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: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N)) p11: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) p12: plus#(N,s(M)) -> isNat#(N) p13: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p14: U11#(tt(),V1,V2) -> isNat#(activate(V1)) p15: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p16: isNat#(n__plus(V1,V2)) -> activate#(V1) p17: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p18: U21#(tt(),V1) -> isNat#(activate(V1)) p19: U21#(tt(),V1) -> activate#(V1) p20: U11#(tt(),V1,V2) -> 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: {p13, p14, p17, p18} {p1, p2, p5, p6, p7, p8, p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p2: U21#(tt(),V1) -> isNat#(activate(V1)) p3: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) p4: U11#(tt(),V1,V2) -> isNat#(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: standard order interpretations: isNat#_A(x1) = ((1,0),(1,0)) x1 + (1,0) n__s_A(x1) = x1 + (71,94) U21#_A(x1,x2) = ((1,0),(1,0)) x2 + (47,23) isNatKind_A(x1) = ((1,1),(0,1)) x1 + (3,24) activate_A(x1) = x1 + (23,24) tt_A() = (14,14) n__plus_A(x1,x2) = ((1,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (138,71) U11#_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,0),(0,0)) x3 + (67,24) and_A(x1,x2) = ((0,1),(0,1)) x1 + ((1,1),(0,1)) x2 + (15,10) n__isNatKind_A(x1) = ((1,1),(0,1)) x1 + (3,0) U13_A(x1) = ((0,0),(1,0)) x1 + (17,0) U12_A(x1,x2) = (20,51) isNat_A(x1) = ((0,0),(1,1)) x1 + (51,5) U22_A(x1) = (15,15) U11_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (51,38) U21_A(x1,x2) = (50,15) U31_A(x1,x2) = x2 + (24,24) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(0,1)) x3 + (303,236) s_A(x1) = x1 + (71,94) plus_A(x1,x2) = ((1,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (138,71) n__0_A() = (29,14) |0|_A() = (52,15) n__and_A(x1,x2) = ((0,1),(0,1)) x1 + ((1,1),(0,1)) x2 + (15,10) precedence: isNatKind = n__plus = n__isNatKind = U41 = plus > U22 > and = n__and > isNat# = n__s = U21# = activate = tt = U13 = isNat = U11 = U21 = U31 = s = n__0 = |0| > U11# = U12 partial status: pi(isNat#) = [] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(activate) = [1] pi(tt) = [] pi(n__plus) = [] pi(U11#) = [] pi(and) = [] pi(n__isNatKind) = [] pi(U13) = [] pi(U12) = [] pi(isNat) = [] pi(U22) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [2] pi(U41) = [] pi(s) = [] pi(plus) = [] pi(n__0) = [] pi(|0|) = [] pi(n__and) = [] 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: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p2: U21#(tt(),V1) -> isNat#(activate(V1)) p3: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),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: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p2: U21#(tt(),V1) -> isNat#(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: standard order interpretations: isNat#_A(x1) = x1 + (1,4) n__s_A(x1) = x1 + (5,8) U21#_A(x1,x2) = x2 + (4,6) isNatKind_A(x1) = ((0,1),(1,1)) x1 + (1,9) activate_A(x1) = x1 + (1,2) tt_A() = (1,6) U13_A(x1) = (1,7) U12_A(x1,x2) = (21,26) isNat_A(x1) = ((1,0),(1,1)) x1 + (19,23) U22_A(x1) = ((0,0),(1,0)) x1 + (2,5) U11_A(x1,x2,x3) = ((1,0),(0,0)) x3 + (22,99) U21_A(x1,x2) = ((1,0),(1,1)) x2 + (3,25) U31_A(x1,x2) = ((1,0),(1,1)) x2 + (2,3) U41_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,0),(1,1)) x3 + (15,86) s_A(x1) = x1 + (6,8) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,1),(1,1)) x2 + (4,72) n__0_A() = (0,0) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,1),(1,1)) x2 + (4,72) and_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (0,1) n__isNatKind_A(x1) = ((0,1),(1,1)) x1 + (0,9) |0|_A() = (0,2) n__and_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (0,1) precedence: |0| > isNatKind = activate = U31 = n__0 = and = n__isNatKind > isNat = U21 > U41 = plus = n__plus > s = n__and > U22 > U13 = U12 = U11 > n__s = U21# = tt > isNat# partial status: pi(isNat#) = [1] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(activate) = [] pi(tt) = [] pi(U13) = [] pi(U12) = [] pi(isNat) = [1] pi(U22) = [] pi(U11) = [] pi(U21) = [2] pi(U31) = [] pi(U41) = [] pi(s) = [] pi(plus) = [2] pi(n__0) = [] pi(n__plus) = [] pi(and) = [] 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: U21#(tt(),V1) -> isNat#(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: (no SCCs) -- 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: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p6: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p7: isNatKind#(n__plus(V1,V2)) -> 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: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 + (13,0) n__and_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (0,15) and#_A(x1,x2) = ((0,1),(0,1)) x2 + (14,0) tt_A() = (1,3) n__isNatKind_A(x1) = ((1,1),(1,1)) x1 + (7,0) isNatKind#_A(x1) = ((0,1),(0,1)) x1 + (12,0) n__s_A(x1) = x1 + (1,2) activate_A(x1) = x1 n__plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (11,11) U13_A(x1) = (1,3) U12_A(x1,x2) = (2,3) isNat_A(x1) = ((0,1),(1,0)) x1 + (4,15) U22_A(x1) = (2,4) U11_A(x1,x2,x3) = ((0,1),(1,0)) x2 + ((1,1),(1,0)) x3 + (12,12) U21_A(x1,x2) = (3,4) U31_A(x1,x2) = x2 + (13,1) U41_A(x1,x2,x3) = ((1,0),(1,1)) x2 + x3 + (12,13) s_A(x1) = x1 + (1,2) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (11,11) n__0_A() = (3,0) and_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (0,15) isNatKind_A(x1) = ((1,1),(1,1)) x1 + (7,0) |0|_A() = (3,0) precedence: n__and = n__s = activate = isNat = U21 = U31 = U41 = s = plus = and = isNatKind = |0| > n__plus > activate# = and# = isNatKind# = n__0 > n__isNatKind > tt = U13 = U12 = U22 = U11 partial status: pi(activate#) = [] pi(n__and) = [] pi(and#) = [] pi(tt) = [] pi(n__isNatKind) = [1] pi(isNatKind#) = [] pi(n__s) = [] pi(activate) = [] pi(n__plus) = [] pi(U13) = [] pi(U12) = [] pi(isNat) = [] pi(U22) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(s) = [] pi(plus) = [] pi(n__0) = [] pi(and) = [] pi(isNatKind) = [] 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: activate#(n__and(X1,X2)) -> and#(X1,X2) p2: activate#(n__isNatKind(X)) -> isNatKind#(X) p3: isNatKind#(n__s(V1)) -> activate#(V1) p4: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p5: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p6: isNatKind#(n__plus(V1,V2)) -> 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: {p2, p3, p4, p5, p6} -- 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: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p5: isNatKind#(n__s(V1)) -> 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: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 + (16,8) n__isNatKind_A(x1) = ((0,1),(1,1)) x1 + (33,0) isNatKind#_A(x1) = ((0,1),(0,1)) x1 + (15,4) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (15,25) activate_A(x1) = x1 + (0,1) n__s_A(x1) = x1 + (2,4) U13_A(x1) = ((0,1),(0,0)) x1 + (1,32) tt_A() = (16,16) U12_A(x1,x2) = x1 + ((1,1),(0,0)) x2 + (19,16) isNat_A(x1) = ((0,1),(1,1)) x1 + (31,32) U22_A(x1) = ((0,0),(1,0)) x1 + (16,0) U11_A(x1,x2,x3) = ((0,1),(1,1)) x2 + ((1,1),(0,0)) x3 + (53,71) U21_A(x1,x2) = ((0,0),(0,1)) x2 + (17,32) U31_A(x1,x2) = x2 + (1,2) U41_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (17,31) s_A(x1) = x1 + (2,4) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (15,25) n__0_A() = (17,0) and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (1,24) isNatKind_A(x1) = ((0,1),(1,1)) x1 + (33,0) |0|_A() = (17,1) n__and_A(x1,x2) = ((0,1),(0,1)) x1 + x2 + (1,24) precedence: n__plus = activate = n__s = U31 = U41 = s = plus = |0| > n__0 > and = isNatKind > n__and > U12 = isNat = U11 > activate# = isNatKind# = U13 = U21 > n__isNatKind > tt = U22 partial status: pi(activate#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] 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) = [] pi(n__0) = [] pi(and) = [] pi(isNatKind) = [] pi(|0|) = [] pi(n__and) = [] The next rules are strictly ordered: p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__isNatKind(X)) -> isNatKind#(X) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p4: 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, p2, p3, p4} -- 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: isNatKind#(n__plus(V1,V2)) -> 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: standard order interpretations: activate#_A(x1) = ((1,0),(0,0)) x1 + (1,10) n__isNatKind_A(x1) = ((0,1),(0,0)) x1 + (40,21) isNatKind#_A(x1) = ((0,1),(0,0)) x1 + (6,10) n__s_A(x1) = x1 + (10,27) activate_A(x1) = x1 + (0,5) n__plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,1),(1,1)) x2 + (12,10) U13_A(x1) = (2,1) tt_A() = (1,0) U12_A(x1,x2) = (3,1) isNat_A(x1) = ((0,1),(0,1)) x1 + (9,0) U22_A(x1) = (2,1) U11_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,1)) x3 + (13,5) U21_A(x1,x2) = (15,27) U31_A(x1,x2) = x2 + (11,5) U41_A(x1,x2,x3) = ((0,1),(1,1)) x2 + ((1,0),(1,1)) x3 + (28,47) s_A(x1) = x1 + (10,27) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,1),(1,1)) x2 + (12,10) n__0_A() = (10,0) and_A(x1,x2) = x2 + (5,5) isNatKind_A(x1) = ((0,1),(0,0)) x1 + (40,26) |0|_A() = (10,0) n__and_A(x1,x2) = x2 + (5,1) precedence: n__0 = |0| > n__s = n__plus = U41 = s = plus > n__isNatKind = activate = U31 = isNatKind > activate# = isNatKind# = and = n__and > isNat > U22 = U21 > U13 = tt = U12 > U11 partial status: pi(activate#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__s) = [] pi(activate) = [1] pi(n__plus) = [] pi(U13) = [] pi(tt) = [] pi(U12) = [] pi(isNat) = [] pi(U22) = [] pi(U11) = [3] pi(U21) = [] pi(U31) = [2] pi(U41) = [] pi(s) = [] pi(plus) = [] pi(n__0) = [] pi(and) = [] pi(isNatKind) = [] pi(|0|) = [] pi(n__and) = [] 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: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p3: isNatKind#(n__plus(V1,V2)) -> 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, p2, p3} -- 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) 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: standard order interpretations: activate#_A(x1) = ((0,1),(0,0)) x1 + (1,4) n__isNatKind_A(x1) = ((0,1),(0,1)) x1 + (21,26) isNatKind#_A(x1) = ((0,1),(0,0)) x1 + (21,4) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,1),(1,1)) x2 + (33,76) activate_A(x1) = x1 + (6,4) U13_A(x1) = ((0,0),(1,0)) x1 + (3,0) tt_A() = (2,0) U12_A(x1,x2) = (4,33) isNat_A(x1) = (33,33) U22_A(x1) = (3,0) U11_A(x1,x2,x3) = (5,33) U21_A(x1,x2) = (7,33) U31_A(x1,x2) = ((1,1),(0,1)) x2 + (7,33) U41_A(x1,x2,x3) = ((0,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (67,130) s_A(x1) = x1 + (20,34) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,1),(1,1)) x2 + (33,76) n__0_A() = (1,28) and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (7,4) isNatKind_A(x1) = ((0,1),(0,1)) x1 + (27,30) n__s_A(x1) = x1 + (15,34) |0|_A() = (6,32) n__and_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (2,4) precedence: n__plus = plus > U31 > activate# = isNatKind# > isNat > U22 = U21 > U11 > U12 > U13 = tt > activate = U41 = s = n__0 = and = isNatKind = |0| = n__and > n__isNatKind > n__s partial status: pi(activate#) = [] pi(n__isNatKind) = [] pi(isNatKind#) = [] pi(n__plus) = [1] pi(activate) = [1] pi(U13) = [] pi(tt) = [] pi(U12) = [] pi(isNat) = [] pi(U22) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(s) = [] pi(plus) = [1] pi(n__0) = [] pi(and) = [] pi(isNatKind) = [] pi(n__s) = [1] 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__plus(V1,V2)) -> isNatKind#(activate(V1)) p2: isNatKind#(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNatKind#(n__plus(V1,V2)) -> 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: standard order interpretations: isNatKind#_A(x1) = ((1,1),(0,1)) x1 + (1,1) n__plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,0),(1,0)) x2 + (9,6) activate_A(x1) = ((1,1),(0,1)) x1 + (7,6) U13_A(x1) = (20,4) tt_A() = (20,4) U12_A(x1,x2) = (20,4) isNat_A(x1) = ((1,0),(1,0)) x1 + (22,11) U22_A(x1) = (21,5) U11_A(x1,x2,x3) = (30,7) U21_A(x1,x2) = ((1,0),(0,0)) x1 + (2,5) U31_A(x1,x2) = ((1,1),(1,1)) x2 + (8,6) U41_A(x1,x2,x3) = ((1,1),(0,0)) x3 + (6,3) s_A(x1) = (5,2) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,0)) x2 + (18,6) n__0_A() = (3,3) and_A(x1,x2) = ((1,1),(0,1)) x2 + (7,6) isNatKind_A(x1) = (20,9) n__isNatKind_A(x1) = (10,3) n__s_A(x1) = (5,1) |0|_A() = (3,3) n__and_A(x1,x2) = x2 + (0,4) precedence: n__plus = isNat > U12 = U11 > activate = U13 = tt = U21 = U31 = plus = and = isNatKind = |0| = n__and > U41 = s = n__0 = n__isNatKind = n__s > isNatKind# = U22 partial status: pi(isNatKind#) = [1] pi(n__plus) = [] 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(and) = [] pi(isNatKind) = [] pi(n__isNatKind) = [] pi(n__s) = [] pi(|0|) = [] pi(n__and) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.