YES We show the termination of the TRS R: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) U15(tt(),V2) -> U16(isNat(activate(V2))) U16(tt()) -> tt() U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) U22(tt(),V1) -> U23(isNat(activate(V1))) U23(tt()) -> tt() U31(tt(),V2) -> U32(isNatKind(activate(V2))) U32(tt()) -> tt() U41(tt()) -> tt() U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) U52(tt(),N) -> activate(N) U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) U64(tt(),M,N) -> s(plus(activate(N),activate(M))) isNat(n__0()) -> tt() isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNatKind(n__0()) -> tt() isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) plus(N,|0|()) -> U51(isNat(N),N) plus(N,s(M)) -> U61(isNat(M),M,N) |0|() -> n__0() plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) activate(n__0()) -> |0|() activate(n__plus(X1,X2)) -> plus(X1,X2) activate(n__s(X)) -> s(X) activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p3: U11#(tt(),V1,V2) -> activate#(V1) p4: U11#(tt(),V1,V2) -> activate#(V2) p5: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p6: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p7: U12#(tt(),V1,V2) -> activate#(V2) p8: U12#(tt(),V1,V2) -> activate#(V1) p9: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p10: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p11: U13#(tt(),V1,V2) -> activate#(V2) p12: U13#(tt(),V1,V2) -> activate#(V1) p13: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p14: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p15: U14#(tt(),V1,V2) -> activate#(V1) p16: U14#(tt(),V1,V2) -> activate#(V2) p17: U15#(tt(),V2) -> U16#(isNat(activate(V2))) p18: U15#(tt(),V2) -> isNat#(activate(V2)) p19: U15#(tt(),V2) -> activate#(V2) p20: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p21: U21#(tt(),V1) -> isNatKind#(activate(V1)) p22: U21#(tt(),V1) -> activate#(V1) p23: U22#(tt(),V1) -> U23#(isNat(activate(V1))) p24: U22#(tt(),V1) -> isNat#(activate(V1)) p25: U22#(tt(),V1) -> activate#(V1) p26: U31#(tt(),V2) -> U32#(isNatKind(activate(V2))) p27: U31#(tt(),V2) -> isNatKind#(activate(V2)) p28: U31#(tt(),V2) -> activate#(V2) p29: U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N)) p30: U51#(tt(),N) -> isNatKind#(activate(N)) p31: U51#(tt(),N) -> activate#(N) p32: U52#(tt(),N) -> activate#(N) p33: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p34: U61#(tt(),M,N) -> isNatKind#(activate(M)) p35: U61#(tt(),M,N) -> activate#(M) p36: U61#(tt(),M,N) -> activate#(N) p37: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p38: U62#(tt(),M,N) -> isNat#(activate(N)) p39: U62#(tt(),M,N) -> activate#(N) p40: U62#(tt(),M,N) -> activate#(M) p41: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p42: U63#(tt(),M,N) -> isNatKind#(activate(N)) p43: U63#(tt(),M,N) -> activate#(N) p44: U63#(tt(),M,N) -> activate#(M) p45: U64#(tt(),M,N) -> s#(plus(activate(N),activate(M))) p46: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p47: U64#(tt(),M,N) -> activate#(N) p48: U64#(tt(),M,N) -> activate#(M) p49: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p50: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p51: isNat#(n__plus(V1,V2)) -> activate#(V1) p52: isNat#(n__plus(V1,V2)) -> activate#(V2) p53: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p54: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p55: isNat#(n__s(V1)) -> activate#(V1) p56: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p57: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p58: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p59: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p60: isNatKind#(n__s(V1)) -> U41#(isNatKind(activate(V1))) p61: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p62: isNatKind#(n__s(V1)) -> activate#(V1) p63: plus#(N,|0|()) -> U51#(isNat(N),N) p64: plus#(N,|0|()) -> isNat#(N) p65: plus#(N,s(M)) -> U61#(isNat(M),M,N) p66: plus#(N,s(M)) -> isNat#(M) p67: activate#(n__0()) -> |0|#() p68: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p69: activate#(n__s(X)) -> s#(X) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, p18, p19, p20, p21, p22, p24, p25, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p61, p62, p63, p64, p65, p66, p68} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> activate#(V1) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,s(M)) -> isNat#(M) p5: isNat#(n__s(V1)) -> activate#(V1) p6: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__s(V1)) -> activate#(V1) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p11: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p13: U31#(tt(),V2) -> activate#(V2) p14: U31#(tt(),V2) -> isNatKind#(activate(V2)) p15: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p16: U21#(tt(),V1) -> activate#(V1) p17: U21#(tt(),V1) -> isNatKind#(activate(V1)) p18: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p19: U22#(tt(),V1) -> activate#(V1) p20: U22#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__plus(V1,V2)) -> activate#(V2) p22: isNat#(n__plus(V1,V2)) -> activate#(V1) p23: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p24: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p25: U11#(tt(),V1,V2) -> activate#(V2) p26: U11#(tt(),V1,V2) -> activate#(V1) p27: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p28: plus#(N,s(M)) -> U61#(isNat(M),M,N) p29: U61#(tt(),M,N) -> activate#(N) p30: U61#(tt(),M,N) -> activate#(M) p31: U61#(tt(),M,N) -> isNatKind#(activate(M)) p32: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p33: U62#(tt(),M,N) -> activate#(M) p34: U62#(tt(),M,N) -> activate#(N) p35: U62#(tt(),M,N) -> isNat#(activate(N)) p36: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p37: U63#(tt(),M,N) -> activate#(M) p38: U63#(tt(),M,N) -> activate#(N) p39: U63#(tt(),M,N) -> isNatKind#(activate(N)) p40: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p41: U64#(tt(),M,N) -> activate#(M) p42: U64#(tt(),M,N) -> activate#(N) p43: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p44: plus#(N,|0|()) -> isNat#(N) p45: plus#(N,|0|()) -> U51#(isNat(N),N) p46: U51#(tt(),N) -> activate#(N) p47: U51#(tt(),N) -> isNatKind#(activate(N)) p48: U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N)) p49: U52#(tt(),N) -> activate#(N) p50: U12#(tt(),V1,V2) -> activate#(V2) p51: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p52: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p53: U13#(tt(),V1,V2) -> activate#(V1) p54: U13#(tt(),V1,V2) -> activate#(V2) p55: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p56: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p57: U14#(tt(),V1,V2) -> activate#(V2) p58: U14#(tt(),V1,V2) -> activate#(V1) p59: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p60: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p61: U15#(tt(),V2) -> activate#(V2) p62: U15#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = x1 + x2 + x3 + 9 tt_A() = 7 U12#_A(x1,x2,x3) = x1 + x2 + x3 + 5 isNatKind_A(x1) = 10 activate_A(x1) = x1 activate#_A(x1) = x1 + 4 n__plus_A(x1,x2) = x1 + x2 + 20 plus#_A(x1,x2) = x1 + x2 + 20 s_A(x1) = x1 + 11 isNat#_A(x1) = x1 + 4 n__s_A(x1) = x1 + 11 isNatKind#_A(x1) = x1 + 6 U31#_A(x1,x2) = x2 + 26 U21#_A(x1,x2) = x2 + 14 U22#_A(x1,x2) = x2 + 4 U61#_A(x1,x2,x3) = x2 + x3 + 30 isNat_A(x1) = x1 + 6 U62#_A(x1,x2,x3) = x1 + x2 + x3 + 19 U63#_A(x1,x2,x3) = x2 + x3 + 25 U64#_A(x1,x2,x3) = x1 + x2 + x3 + 14 |0|_A() = 13 U51#_A(x1,x2) = x2 + 12 U52#_A(x1,x2) = x1 + x2 + 1 U13#_A(x1,x2,x3) = x1 + x2 + x3 + 1 U14#_A(x1,x2,x3) = x2 + x3 + 6 U15#_A(x1,x2) = x2 + 5 U16_A(x1) = 8 U15_A(x1,x2) = 9 U64_A(x1,x2,x3) = x2 + x3 + 31 plus_A(x1,x2) = x1 + x2 + 20 U14_A(x1,x2,x3) = 10 U63_A(x1,x2,x3) = x2 + x3 + 31 U13_A(x1,x2,x3) = x1 + 4 U23_A(x1) = 8 U52_A(x1,x2) = x2 + 1 U62_A(x1,x2,x3) = x2 + x3 + 31 U12_A(x1,x2,x3) = 15 U22_A(x1,x2) = x1 + 2 U32_A(x1) = 8 U51_A(x1,x2) = x2 + 2 U61_A(x1,x2,x3) = x2 + x3 + 31 U11_A(x1,x2,x3) = 16 U21_A(x1,x2) = x2 + 13 U31_A(x1,x2) = 9 U41_A(x1) = 9 n__0_A() = 13 precedence: U52 = U51 = U41 > U32 > U21# > U22# > U14# > |0| = U13# = n__0 > U15 = U22 > activate > plus = U62 = U61 > U64 = U63 > U16 > U52# > isNatKind# = U31# = U51# > U11 > isNat > U64# > U63# > U12 > U14 = U13 > n__plus = plus# > isNat# > U12# > U61# > U62# > U11# > isNatKind > U31 > U21 > tt = activate# > U15# > U23 > s = n__s partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [3] pi(isNatKind) = [] pi(activate) = [1] pi(activate#) = [] pi(n__plus) = [2] pi(plus#) = [] pi(s) = [] pi(isNat#) = [1] pi(n__s) = [] pi(isNatKind#) = [] pi(U31#) = [] pi(U21#) = [] pi(U22#) = [2] pi(U61#) = [] pi(isNat) = [1] pi(U62#) = [1] pi(U63#) = [] pi(U64#) = [] pi(|0|) = [] pi(U51#) = [] pi(U52#) = [2] pi(U13#) = [] pi(U14#) = [] pi(U15#) = [2] pi(U16) = [] pi(U15) = [] pi(U64) = [] pi(plus) = [] pi(U14) = [] pi(U63) = [] pi(U13) = [] pi(U23) = [] pi(U52) = [] pi(U62) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U51) = [] pi(U61) = [] pi(U11) = [] pi(U21) = [2] pi(U31) = [] pi(U41) = [] pi(n__0) = [] The next rules are strictly ordered: p49 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#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> activate#(V1) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,s(M)) -> isNat#(M) p5: isNat#(n__s(V1)) -> activate#(V1) p6: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__s(V1)) -> activate#(V1) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p11: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p13: U31#(tt(),V2) -> activate#(V2) p14: U31#(tt(),V2) -> isNatKind#(activate(V2)) p15: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p16: U21#(tt(),V1) -> activate#(V1) p17: U21#(tt(),V1) -> isNatKind#(activate(V1)) p18: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p19: U22#(tt(),V1) -> activate#(V1) p20: U22#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__plus(V1,V2)) -> activate#(V2) p22: isNat#(n__plus(V1,V2)) -> activate#(V1) p23: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p24: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p25: U11#(tt(),V1,V2) -> activate#(V2) p26: U11#(tt(),V1,V2) -> activate#(V1) p27: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p28: plus#(N,s(M)) -> U61#(isNat(M),M,N) p29: U61#(tt(),M,N) -> activate#(N) p30: U61#(tt(),M,N) -> activate#(M) p31: U61#(tt(),M,N) -> isNatKind#(activate(M)) p32: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p33: U62#(tt(),M,N) -> activate#(M) p34: U62#(tt(),M,N) -> activate#(N) p35: U62#(tt(),M,N) -> isNat#(activate(N)) p36: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p37: U63#(tt(),M,N) -> activate#(M) p38: U63#(tt(),M,N) -> activate#(N) p39: U63#(tt(),M,N) -> isNatKind#(activate(N)) p40: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p41: U64#(tt(),M,N) -> activate#(M) p42: U64#(tt(),M,N) -> activate#(N) p43: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p44: plus#(N,|0|()) -> isNat#(N) p45: plus#(N,|0|()) -> U51#(isNat(N),N) p46: U51#(tt(),N) -> activate#(N) p47: U51#(tt(),N) -> isNatKind#(activate(N)) p48: U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N)) p49: U12#(tt(),V1,V2) -> activate#(V2) p50: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p51: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p52: U13#(tt(),V1,V2) -> activate#(V1) p53: U13#(tt(),V1,V2) -> activate#(V2) p54: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p55: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p56: U14#(tt(),V1,V2) -> activate#(V2) p57: U14#(tt(),V1,V2) -> activate#(V1) p58: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p59: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p60: U15#(tt(),V2) -> activate#(V2) p61: U15#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p3: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p4: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p5: U15#(tt(),V2) -> isNat#(activate(V2)) p6: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p7: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p9: U31#(tt(),V2) -> isNatKind#(activate(V2)) p10: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p12: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p13: plus#(N,|0|()) -> U51#(isNat(N),N) p14: U51#(tt(),N) -> isNatKind#(activate(N)) p15: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p16: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p17: isNatKind#(n__s(V1)) -> activate#(V1) p18: U51#(tt(),N) -> activate#(N) p19: plus#(N,|0|()) -> isNat#(N) p20: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p21: isNat#(n__plus(V1,V2)) -> activate#(V1) p22: isNat#(n__plus(V1,V2)) -> activate#(V2) p23: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p24: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p25: U22#(tt(),V1) -> isNat#(activate(V1)) p26: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p27: isNat#(n__s(V1)) -> activate#(V1) p28: U22#(tt(),V1) -> activate#(V1) p29: U21#(tt(),V1) -> isNatKind#(activate(V1)) p30: U21#(tt(),V1) -> activate#(V1) p31: plus#(N,s(M)) -> U61#(isNat(M),M,N) p32: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p33: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p34: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p35: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p36: plus#(N,s(M)) -> isNat#(M) p37: U64#(tt(),M,N) -> activate#(N) p38: U64#(tt(),M,N) -> activate#(M) p39: U63#(tt(),M,N) -> isNatKind#(activate(N)) p40: U63#(tt(),M,N) -> activate#(N) p41: U63#(tt(),M,N) -> activate#(M) p42: U62#(tt(),M,N) -> isNat#(activate(N)) p43: U62#(tt(),M,N) -> activate#(N) p44: U62#(tt(),M,N) -> activate#(M) p45: U61#(tt(),M,N) -> isNatKind#(activate(M)) p46: U61#(tt(),M,N) -> activate#(M) p47: U61#(tt(),M,N) -> activate#(N) p48: U31#(tt(),V2) -> activate#(V2) p49: U11#(tt(),V1,V2) -> activate#(V1) p50: U11#(tt(),V1,V2) -> activate#(V2) p51: U15#(tt(),V2) -> activate#(V2) p52: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p53: U14#(tt(),V1,V2) -> activate#(V1) p54: U14#(tt(),V1,V2) -> activate#(V2) p55: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p56: U13#(tt(),V1,V2) -> activate#(V2) p57: U13#(tt(),V1,V2) -> activate#(V1) p58: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p59: U12#(tt(),V1,V2) -> activate#(V2) p60: U12#(tt(),V1,V2) -> activate#(V1) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = x2 + x3 + 11 tt_A() = 6 U12#_A(x1,x2,x3) = x2 + x3 + 10 isNatKind_A(x1) = x1 + 2 activate_A(x1) = x1 U13#_A(x1,x2,x3) = x2 + x3 + 9 U14#_A(x1,x2,x3) = x2 + x3 + 8 U15#_A(x1,x2) = x1 + x2 + 1 isNat_A(x1) = x1 + 6 isNat#_A(x1) = x1 n__plus_A(x1,x2) = x1 + x2 + 12 isNatKind#_A(x1) = x1 U31#_A(x1,x2) = x2 + 12 activate#_A(x1) = x1 plus#_A(x1,x2) = x1 + x2 |0|_A() = 7 U51#_A(x1,x2) = x2 + 1 n__s_A(x1) = x1 + 9 U21#_A(x1,x2) = x2 + 8 U22#_A(x1,x2) = x2 + 7 s_A(x1) = x1 + 9 U61#_A(x1,x2,x3) = x2 + x3 U62#_A(x1,x2,x3) = x2 + x3 U63#_A(x1,x2,x3) = x2 + x3 U64#_A(x1,x2,x3) = x2 + x3 U16_A(x1) = 7 U15_A(x1,x2) = 8 U64_A(x1,x2,x3) = x2 + x3 + 21 plus_A(x1,x2) = x1 + x2 + 12 U14_A(x1,x2,x3) = x1 + 3 U63_A(x1,x2,x3) = x2 + x3 + 21 U13_A(x1,x2,x3) = x3 + 7 U23_A(x1) = 7 U52_A(x1,x2) = x2 + 7 U62_A(x1,x2,x3) = x2 + x3 + 21 U12_A(x1,x2,x3) = x3 + 8 U22_A(x1,x2) = 8 U32_A(x1) = 7 U51_A(x1,x2) = x2 + 8 U61_A(x1,x2,x3) = x2 + x3 + 21 U11_A(x1,x2,x3) = x1 + x3 + 3 U21_A(x1,x2) = x1 + 3 U31_A(x1,x2) = x1 + 11 U41_A(x1) = 7 n__0_A() = 7 precedence: activate = U61# = U62# = U63# = U32 = U31 > U51# > |0| > n__0 > U41 > tt = isNat = U16 = U22 = U21 > U13# = U64# > U14# > U11# > isNatKind = isNat# = U21# = U22# > U12# > U15# > activate# = plus# > U13 = U12 = U11 > U14 = U23 > n__plus = isNatKind# = U31# = plus = U51 > U52 > n__s = s = U15 = U64 = U63 = U62 = U61 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNatKind) = [] pi(activate) = [] pi(U13#) = [] pi(U14#) = [] pi(U15#) = [1] pi(isNat) = [1] pi(isNat#) = [] pi(n__plus) = [] pi(isNatKind#) = [] pi(U31#) = [] pi(activate#) = [] pi(plus#) = [] pi(|0|) = [] pi(U51#) = [] pi(n__s) = [] pi(U21#) = [2] pi(U22#) = [] pi(s) = [] pi(U61#) = [] pi(U62#) = [] pi(U63#) = [] pi(U64#) = [] pi(U16) = [] pi(U15) = [] pi(U64) = [] pi(plus) = [1, 2] pi(U14) = [] pi(U63) = [] pi(U13) = [] pi(U23) = [] pi(U52) = [] pi(U62) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U51) = [2] pi(U61) = [] pi(U11) = [] pi(U21) = [1] pi(U31) = [] pi(U41) = [] pi(n__0) = [] The next rules are strictly ordered: p51 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#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p3: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p4: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p5: U15#(tt(),V2) -> isNat#(activate(V2)) p6: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p7: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p9: U31#(tt(),V2) -> isNatKind#(activate(V2)) p10: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p12: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p13: plus#(N,|0|()) -> U51#(isNat(N),N) p14: U51#(tt(),N) -> isNatKind#(activate(N)) p15: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p16: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p17: isNatKind#(n__s(V1)) -> activate#(V1) p18: U51#(tt(),N) -> activate#(N) p19: plus#(N,|0|()) -> isNat#(N) p20: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p21: isNat#(n__plus(V1,V2)) -> activate#(V1) p22: isNat#(n__plus(V1,V2)) -> activate#(V2) p23: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p24: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p25: U22#(tt(),V1) -> isNat#(activate(V1)) p26: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p27: isNat#(n__s(V1)) -> activate#(V1) p28: U22#(tt(),V1) -> activate#(V1) p29: U21#(tt(),V1) -> isNatKind#(activate(V1)) p30: U21#(tt(),V1) -> activate#(V1) p31: plus#(N,s(M)) -> U61#(isNat(M),M,N) p32: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p33: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p34: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p35: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p36: plus#(N,s(M)) -> isNat#(M) p37: U64#(tt(),M,N) -> activate#(N) p38: U64#(tt(),M,N) -> activate#(M) p39: U63#(tt(),M,N) -> isNatKind#(activate(N)) p40: U63#(tt(),M,N) -> activate#(N) p41: U63#(tt(),M,N) -> activate#(M) p42: U62#(tt(),M,N) -> isNat#(activate(N)) p43: U62#(tt(),M,N) -> activate#(N) p44: U62#(tt(),M,N) -> activate#(M) p45: U61#(tt(),M,N) -> isNatKind#(activate(M)) p46: U61#(tt(),M,N) -> activate#(M) p47: U61#(tt(),M,N) -> activate#(N) p48: U31#(tt(),V2) -> activate#(V2) p49: U11#(tt(),V1,V2) -> activate#(V1) p50: U11#(tt(),V1,V2) -> activate#(V2) p51: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p52: U14#(tt(),V1,V2) -> activate#(V1) p53: U14#(tt(),V1,V2) -> activate#(V2) p54: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p55: U13#(tt(),V1,V2) -> activate#(V2) p56: U13#(tt(),V1,V2) -> activate#(V1) p57: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p58: U12#(tt(),V1,V2) -> activate#(V2) p59: U12#(tt(),V1,V2) -> activate#(V1) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> activate#(V1) p3: activate#(n__plus(X1,X2)) -> plus#(X1,X2) p4: plus#(N,s(M)) -> isNat#(M) p5: isNat#(n__s(V1)) -> activate#(V1) p6: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p7: isNatKind#(n__s(V1)) -> activate#(V1) p8: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p10: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p11: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p12: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p13: U31#(tt(),V2) -> activate#(V2) p14: U31#(tt(),V2) -> isNatKind#(activate(V2)) p15: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p16: U21#(tt(),V1) -> activate#(V1) p17: U21#(tt(),V1) -> isNatKind#(activate(V1)) p18: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p19: U22#(tt(),V1) -> activate#(V1) p20: U22#(tt(),V1) -> isNat#(activate(V1)) p21: isNat#(n__plus(V1,V2)) -> activate#(V2) p22: isNat#(n__plus(V1,V2)) -> activate#(V1) p23: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p24: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p25: U11#(tt(),V1,V2) -> activate#(V2) p26: U11#(tt(),V1,V2) -> activate#(V1) p27: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p28: plus#(N,s(M)) -> U61#(isNat(M),M,N) p29: U61#(tt(),M,N) -> activate#(N) p30: U61#(tt(),M,N) -> activate#(M) p31: U61#(tt(),M,N) -> isNatKind#(activate(M)) p32: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p33: U62#(tt(),M,N) -> activate#(M) p34: U62#(tt(),M,N) -> activate#(N) p35: U62#(tt(),M,N) -> isNat#(activate(N)) p36: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p37: U63#(tt(),M,N) -> activate#(M) p38: U63#(tt(),M,N) -> activate#(N) p39: U63#(tt(),M,N) -> isNatKind#(activate(N)) p40: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p41: U64#(tt(),M,N) -> activate#(M) p42: U64#(tt(),M,N) -> activate#(N) p43: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p44: plus#(N,|0|()) -> isNat#(N) p45: plus#(N,|0|()) -> U51#(isNat(N),N) p46: U51#(tt(),N) -> activate#(N) p47: U51#(tt(),N) -> isNatKind#(activate(N)) p48: U12#(tt(),V1,V2) -> activate#(V2) p49: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p50: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p51: U13#(tt(),V1,V2) -> activate#(V1) p52: U13#(tt(),V1,V2) -> activate#(V2) p53: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p54: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p55: U14#(tt(),V1,V2) -> activate#(V2) p56: U14#(tt(),V1,V2) -> activate#(V1) p57: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p58: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p59: U15#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = x1 + x2 + x3 + 3 tt_A() = 1 U12#_A(x1,x2,x3) = x1 + x2 + x3 + 3 isNatKind_A(x1) = 1 activate_A(x1) = x1 activate#_A(x1) = x1 + 4 n__plus_A(x1,x2) = x1 + x2 plus#_A(x1,x2) = x1 + x2 + 3 s_A(x1) = x1 + 8 isNat#_A(x1) = x1 + 4 n__s_A(x1) = x1 + 8 isNatKind#_A(x1) = x1 + 4 U31#_A(x1,x2) = x1 + x2 + 3 U21#_A(x1,x2) = x2 + 12 U22#_A(x1,x2) = x2 + 5 U61#_A(x1,x2,x3) = x2 + x3 + 7 isNat_A(x1) = x1 + 1 U62#_A(x1,x2,x3) = x1 + x2 + x3 + 5 U63#_A(x1,x2,x3) = x2 + x3 + 5 U64#_A(x1,x2,x3) = x1 + x2 + x3 + 4 |0|_A() = 3 U51#_A(x1,x2) = x2 + 5 U13#_A(x1,x2,x3) = x1 + x2 + x3 + 3 U14#_A(x1,x2,x3) = x1 + x2 + x3 + 3 U15#_A(x1,x2) = x2 + 4 U16_A(x1) = 1 U15_A(x1,x2) = x1 U64_A(x1,x2,x3) = x1 + x2 + x3 + 7 plus_A(x1,x2) = x1 + x2 U14_A(x1,x2,x3) = x2 + 1 U63_A(x1,x2,x3) = x2 + x3 + 8 U13_A(x1,x2,x3) = x2 + 1 U23_A(x1) = x1 + 1 U52_A(x1,x2) = x2 U62_A(x1,x2,x3) = x1 + x2 + x3 + 7 U12_A(x1,x2,x3) = x2 + x3 + 1 U22_A(x1,x2) = x2 + 3 U32_A(x1) = x1 U51_A(x1,x2) = x2 U61_A(x1,x2,x3) = x2 + x3 + 8 U11_A(x1,x2,x3) = x2 + x3 + 1 U21_A(x1,x2) = x1 + x2 + 3 U31_A(x1,x2) = 1 U41_A(x1) = 1 n__0_A() = 3 precedence: U51# > U22# = isNat = U12 = U11 > U13 > n__plus = U15 = plus = U14 = U51 > U52 > activate > |0| = U61 > U62 > U63 > n__0 > U11# = U12# = activate# = plus# = isNat# = isNatKind# = U31# = U61# = U62# = U63# = U64# = U13# = U14# = U15# > U21# > U21 > isNatKind = U16 = U41 > U23 = U22 > U31 > tt = U32 > s = n__s = U64 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNatKind) = [] pi(activate) = [1] pi(activate#) = [] pi(n__plus) = [1, 2] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(n__s) = [] pi(isNatKind#) = [] pi(U31#) = [] pi(U21#) = [] pi(U22#) = [] pi(U61#) = [] pi(isNat) = [] pi(U62#) = [] pi(U63#) = [2, 3] pi(U64#) = [] pi(|0|) = [] pi(U51#) = [2] pi(U13#) = [] pi(U14#) = [] pi(U15#) = [] pi(U16) = [] pi(U15) = [] pi(U64) = [] pi(plus) = [1, 2] pi(U14) = [2] pi(U63) = [] pi(U13) = [] pi(U23) = [] pi(U52) = [2] pi(U62) = [2, 3] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U51) = [2] pi(U61) = [] pi(U11) = [] pi(U21) = [2] pi(U31) = [] pi(U41) = [] 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: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> activate#(V1) p3: plus#(N,s(M)) -> isNat#(M) p4: isNat#(n__s(V1)) -> activate#(V1) p5: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p6: isNatKind#(n__s(V1)) -> activate#(V1) p7: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p8: isNatKind#(n__plus(V1,V2)) -> activate#(V2) p9: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p10: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p11: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p12: U31#(tt(),V2) -> activate#(V2) p13: U31#(tt(),V2) -> isNatKind#(activate(V2)) p14: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p15: U21#(tt(),V1) -> activate#(V1) p16: U21#(tt(),V1) -> isNatKind#(activate(V1)) p17: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p18: U22#(tt(),V1) -> activate#(V1) p19: U22#(tt(),V1) -> isNat#(activate(V1)) p20: isNat#(n__plus(V1,V2)) -> activate#(V2) p21: isNat#(n__plus(V1,V2)) -> activate#(V1) p22: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p23: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p24: U11#(tt(),V1,V2) -> activate#(V2) p25: U11#(tt(),V1,V2) -> activate#(V1) p26: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p27: plus#(N,s(M)) -> U61#(isNat(M),M,N) p28: U61#(tt(),M,N) -> activate#(N) p29: U61#(tt(),M,N) -> activate#(M) p30: U61#(tt(),M,N) -> isNatKind#(activate(M)) p31: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p32: U62#(tt(),M,N) -> activate#(M) p33: U62#(tt(),M,N) -> activate#(N) p34: U62#(tt(),M,N) -> isNat#(activate(N)) p35: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p36: U63#(tt(),M,N) -> activate#(M) p37: U63#(tt(),M,N) -> activate#(N) p38: U63#(tt(),M,N) -> isNatKind#(activate(N)) p39: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p40: U64#(tt(),M,N) -> activate#(M) p41: U64#(tt(),M,N) -> activate#(N) p42: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p43: plus#(N,|0|()) -> isNat#(N) p44: plus#(N,|0|()) -> U51#(isNat(N),N) p45: U51#(tt(),N) -> activate#(N) p46: U51#(tt(),N) -> isNatKind#(activate(N)) p47: U12#(tt(),V1,V2) -> activate#(V2) p48: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p49: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p50: U13#(tt(),V1,V2) -> activate#(V1) p51: U13#(tt(),V1,V2) -> activate#(V2) p52: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p53: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p54: U14#(tt(),V1,V2) -> activate#(V2) p55: U14#(tt(),V1,V2) -> activate#(V1) p56: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p57: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p58: U15#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: activate(X) -> X The estimated dependency graph contains the following SCCs: {p27, p31, p35, p39, p42} {p1, p14, p17, p19, p23, p49, p53, p56, p57, p58} {p7, p10, p11, p13} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p2: plus#(N,s(M)) -> U61#(isNat(M),M,N) p3: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p4: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p5: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U64#_A(x1,x2,x3) = x1 + x2 + 1 tt_A() = 2 plus#_A(x1,x2) = x2 + 1 activate_A(x1) = x1 s_A(x1) = x1 + 17 U61#_A(x1,x2,x3) = x2 + 16 isNat_A(x1) = x1 + 24 U62#_A(x1,x2,x3) = x1 + x2 + 8 isNatKind_A(x1) = 7 U63#_A(x1,x2,x3) = x2 + 9 U16_A(x1) = 3 U15_A(x1,x2) = 25 U64_A(x1,x2,x3) = x2 + x3 + 23 plus_A(x1,x2) = x1 + x2 + 6 U14_A(x1,x2,x3) = 26 U63_A(x1,x2,x3) = x2 + x3 + 23 U13_A(x1,x2,x3) = 27 U23_A(x1) = 3 U52_A(x1,x2) = x2 + 3 U62_A(x1,x2,x3) = x2 + x3 + 23 U12_A(x1,x2,x3) = 28 U22_A(x1,x2) = 4 U32_A(x1) = 3 U51_A(x1,x2) = x2 + 4 U61_A(x1,x2,x3) = x2 + x3 + 23 U11_A(x1,x2,x3) = 29 U21_A(x1,x2) = x2 + 5 U31_A(x1,x2) = 4 U41_A(x1) = x1 |0|_A() = 17 n__0_A() = 17 n__plus_A(x1,x2) = x1 + x2 + 6 n__s_A(x1) = x1 + 17 precedence: U64# = tt = activate = isNatKind = U14 = U13 = U12 = U11 = U41 > plus = U61 > U16 = U15 > U22 = U21 > U23 > U32 = U31 > U62 > U63# = U63 > U64 > U62# > s = U61# = n__s > U52 > U51 > plus# = isNat = |0| > n__0 > n__plus partial status: pi(U64#) = [] pi(tt) = [] pi(plus#) = [2] pi(activate) = [] pi(s) = [1] pi(U61#) = [2] pi(isNat) = [1] pi(U62#) = [] pi(isNatKind) = [] pi(U63#) = [] pi(U16) = [] pi(U15) = [] pi(U64) = [3] pi(plus) = [2] pi(U14) = [] pi(U63) = [] pi(U13) = [] pi(U23) = [] pi(U52) = [] pi(U62) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U51) = [2] pi(U61) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [1] 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: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p2: plus#(N,s(M)) -> U61#(isNat(M),M,N) p3: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p4: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p3: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p4: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p5: U15#(tt(),V2) -> isNat#(activate(V2)) p6: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p7: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p8: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p9: U22#(tt(),V1) -> isNat#(activate(V1)) p10: U14#(tt(),V1,V2) -> isNat#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = x2 + x3 + 10 tt_A() = 9 U12#_A(x1,x2,x3) = x2 + x3 + 10 isNatKind_A(x1) = x1 + 1 activate_A(x1) = x1 U13#_A(x1,x2,x3) = x2 + x3 + 10 U14#_A(x1,x2,x3) = x2 + x3 + 10 U15#_A(x1,x2) = x1 + x2 + 2 isNat_A(x1) = x1 + 6 isNat#_A(x1) = x1 + 10 n__plus_A(x1,x2) = x1 + x2 n__s_A(x1) = x1 + 8 U21#_A(x1,x2) = x2 + 12 U22#_A(x1,x2) = x2 + 11 U16_A(x1) = 10 U15_A(x1,x2) = x1 + 2 U64_A(x1,x2,x3) = x2 + x3 + 8 s_A(x1) = x1 + 8 plus_A(x1,x2) = x1 + x2 U14_A(x1,x2,x3) = x1 + x2 + 1 U63_A(x1,x2,x3) = x2 + x3 + 8 U13_A(x1,x2,x3) = x2 + x3 + 3 U23_A(x1) = 10 U52_A(x1,x2) = x2 + 1 U62_A(x1,x2,x3) = x2 + x3 + 8 U12_A(x1,x2,x3) = x2 + x3 + 4 U22_A(x1,x2) = 11 U32_A(x1) = x1 U51_A(x1,x2) = x2 + 2 U61_A(x1,x2,x3) = x2 + x3 + 8 U11_A(x1,x2,x3) = x2 + x3 + 5 U21_A(x1,x2) = 12 U31_A(x1,x2) = x2 + 1 U41_A(x1) = 9 |0|_A() = 10 n__0_A() = 10 precedence: U11# = U12# = U13# = U14# = U15# = isNat# = U22# > U11 > U13 = U12 > U14 > tt = isNatKind = U16 = U15 = U32 = U31 = U41 > isNat > n__plus = plus = U52 = U51 = U61 > U62 > n__s = U64 = s = U63 > activate = |0| > n__0 > U21# > U22 = U21 > U23 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNatKind) = [] pi(activate) = [1] pi(U13#) = [] pi(U14#) = [] pi(U15#) = [] pi(isNat) = [1] pi(isNat#) = [] pi(n__plus) = [] pi(n__s) = [] pi(U21#) = [] pi(U22#) = [2] pi(U16) = [] pi(U15) = [] pi(U64) = [] pi(s) = [] pi(plus) = [] pi(U14) = [1] pi(U63) = [] pi(U13) = [] pi(U23) = [] pi(U52) = [] pi(U62) = [2, 3] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U51) = [] pi(U61) = [] pi(U11) = [3] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] 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: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p3: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p4: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p5: U15#(tt(),V2) -> isNat#(activate(V2)) p6: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p7: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p8: U22#(tt(),V1) -> isNat#(activate(V1)) p9: U14#(tt(),V1,V2) -> isNat#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p3: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p4: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p5: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p6: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p7: U15#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = x2 + x3 + 146 tt_A() = 78 U12#_A(x1,x2,x3) = x2 + x3 + 131 isNatKind_A(x1) = x1 + 79 activate_A(x1) = x1 + 7 U13#_A(x1,x2,x3) = x2 + x3 + 116 U14#_A(x1,x2,x3) = x2 + x3 + 101 isNat#_A(x1) = x1 + 72 n__plus_A(x1,x2) = x1 + x2 + 89 U15#_A(x1,x2) = x1 + x2 + 2 isNat_A(x1) = 91 U16_A(x1) = 79 U15_A(x1,x2) = 80 U64_A(x1,x2,x3) = 3 s_A(x1) = 2 plus_A(x1,x2) = x1 + x2 + 92 U14_A(x1,x2,x3) = 81 U63_A(x1,x2,x3) = 4 U13_A(x1,x2,x3) = 82 U23_A(x1) = 79 U52_A(x1,x2) = x2 + 72 U62_A(x1,x2,x3) = 5 U12_A(x1,x2,x3) = 83 U22_A(x1,x2) = 80 U32_A(x1) = 79 U51_A(x1,x2) = x2 + 91 U61_A(x1,x2,x3) = 6 U11_A(x1,x2,x3) = 90 U21_A(x1,x2) = 81 U31_A(x1,x2) = x1 + 2 U41_A(x1) = 79 |0|_A() = 0 n__0_A() = 0 n__s_A(x1) = 1 precedence: tt > U11# = U12# = U13# > U14# = isNat# = U15# > isNatKind = U32 = U31 > activate = n__plus = plus = U52 = U51 > s = U23 > U13 = U12 > U15 = U14 > U16 > U61 > isNat = U11 = U21 > U22 = U41 > |0| > n__0 = n__s > U64 = U63 = U62 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNatKind) = [1] pi(activate) = [] pi(U13#) = [] pi(U14#) = [] pi(isNat#) = [] pi(n__plus) = [] pi(U15#) = [] pi(isNat) = [] pi(U16) = [] pi(U15) = [] pi(U64) = [] pi(s) = [] pi(plus) = [] pi(U14) = [] pi(U63) = [] pi(U13) = [] pi(U23) = [] pi(U52) = [] pi(U62) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(U51) = [] pi(U61) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] pi(n__0) = [] pi(n__s) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) p2: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p3: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p4: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p5: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p6: U15#(tt(),V2) -> isNat#(activate(V2)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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: U31#(tt(),V2) -> isNatKind#(activate(V2)) p2: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p3: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p4: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: U31#_A(x1,x2) = x2 tt_A() = 0 isNatKind#_A(x1) = x1 activate_A(x1) = x1 n__plus_A(x1,x2) = x1 + x2 + 2 isNatKind_A(x1) = 1 n__s_A(x1) = x1 U16_A(x1) = 0 U15_A(x1,x2) = 0 isNat_A(x1) = 3 U14_A(x1,x2,x3) = 0 U13_A(x1,x2,x3) = 0 U23_A(x1) = x1 U64_A(x1,x2,x3) = x2 + x3 + 2 s_A(x1) = x1 plus_A(x1,x2) = x1 + x2 + 2 U12_A(x1,x2,x3) = 0 U22_A(x1,x2) = 3 U63_A(x1,x2,x3) = x2 + x3 + 2 U11_A(x1,x2,x3) = 0 U21_A(x1,x2) = 3 U52_A(x1,x2) = x1 + x2 + 5 U62_A(x1,x2,x3) = x2 + x3 + 2 U32_A(x1) = 0 U51_A(x1,x2) = x2 + 6 U61_A(x1,x2,x3) = x2 + x3 + 2 n__0_A() = 4 U31_A(x1,x2) = 0 U41_A(x1) = 0 |0|_A() = 4 precedence: isNat = U11 = U21 > activate > U13 = U12 > n__plus = plus = U51 > U31# > U31 > U16 = U15 = U14 > U23 = U22 > n__0 = |0| > tt = isNatKind# = isNatKind = n__s = U64 = s = U63 = U52 = U62 = U32 = U61 = U41 partial status: pi(U31#) = [2] pi(tt) = [] pi(isNatKind#) = [] pi(activate) = [1] pi(n__plus) = [] pi(isNatKind) = [] pi(n__s) = [] pi(U16) = [] pi(U15) = [] pi(isNat) = [] pi(U14) = [] pi(U13) = [] pi(U23) = [] pi(U64) = [] pi(s) = [] pi(plus) = [1] pi(U12) = [] pi(U22) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [] pi(U62) = [] pi(U32) = [] pi(U51) = [] pi(U61) = [3] pi(n__0) = [] pi(U31) = [] pi(U41) = [] pi(|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: isNatKind#(n__plus(V1,V2)) -> U31#(isNatKind(activate(V1)),activate(V2)) p2: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p3: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: activate(X) -> X The estimated dependency graph contains the following SCCs: {p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p2: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: isNatKind#_A(x1) = x1 n__plus_A(x1,x2) = x1 + x2 + 4 activate_A(x1) = x1 n__s_A(x1) = x1 + 4 U16_A(x1) = 2 tt_A() = 1 U15_A(x1,x2) = 3 isNat_A(x1) = 7 U14_A(x1,x2,x3) = 4 U13_A(x1,x2,x3) = 5 isNatKind_A(x1) = x1 + 9 U23_A(x1) = 2 U32_A(x1) = 2 U64_A(x1,x2,x3) = x2 + x3 + 8 s_A(x1) = x1 + 4 plus_A(x1,x2) = x1 + x2 + 4 U12_A(x1,x2,x3) = 5 U22_A(x1,x2) = 5 U31_A(x1,x2) = 3 U41_A(x1) = x1 + 1 U63_A(x1,x2,x3) = x2 + x3 + 8 U11_A(x1,x2,x3) = 6 U21_A(x1,x2) = 6 U52_A(x1,x2) = x2 + 2 U62_A(x1,x2,x3) = x2 + x3 + 8 n__0_A() = 8 U51_A(x1,x2) = x2 + 3 U61_A(x1,x2,x3) = x2 + x3 + 8 |0|_A() = 8 precedence: isNat > U23 > U12 = U11 > U15 = U14 = U13 > U16 = tt > U22 = U21 = U52 > n__plus = plus = U41 = U51 > isNatKind# = activate = isNatKind > U32 = U31 > n__0 = U61 = |0| > n__s = U64 = s = U63 = U62 partial status: pi(isNatKind#) = [1] pi(n__plus) = [] pi(activate) = [1] pi(n__s) = [] pi(U16) = [] pi(tt) = [] pi(U15) = [] pi(isNat) = [] pi(U14) = [] pi(U13) = [] pi(isNatKind) = [1] pi(U23) = [] pi(U32) = [] pi(U64) = [] pi(s) = [] pi(plus) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [2] pi(U62) = [2, 3] pi(n__0) = [] pi(U51) = [] pi(U61) = [2] 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: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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(isNatKind(activate(V1)),activate(V1),activate(V2)) r2: U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2)) r3: U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2)) r4: U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2)) r5: U15(tt(),V2) -> U16(isNat(activate(V2))) r6: U16(tt()) -> tt() r7: U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1)) r8: U22(tt(),V1) -> U23(isNat(activate(V1))) r9: U23(tt()) -> tt() r10: U31(tt(),V2) -> U32(isNatKind(activate(V2))) r11: U32(tt()) -> tt() r12: U41(tt()) -> tt() r13: U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N)) r14: U52(tt(),N) -> activate(N) r15: U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N)) r16: U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N)) r17: U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N)) r18: U64(tt(),M,N) -> s(plus(activate(N),activate(M))) r19: isNat(n__0()) -> tt() r20: isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2)) r21: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) r22: isNatKind(n__0()) -> tt() r23: isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2)) r24: isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1))) r25: plus(N,|0|()) -> U51(isNat(N),N) r26: plus(N,s(M)) -> U61(isNat(M),M,N) r27: |0|() -> n__0() r28: plus(X1,X2) -> n__plus(X1,X2) r29: s(X) -> n__s(X) r30: activate(n__0()) -> |0|() r31: activate(n__plus(X1,X2)) -> plus(X1,X2) r32: activate(n__s(X)) -> s(X) r33: 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, r28, r29, r30, r31, r32, r33 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^1 order: lexicographic order interpretations: isNatKind#_A(x1) = x1 + 1 n__plus_A(x1,x2) = x1 + 37 activate_A(x1) = x1 + 17 U16_A(x1) = 1 tt_A() = 0 U15_A(x1,x2) = 2 isNat_A(x1) = 16 U14_A(x1,x2,x3) = x1 + 3 U13_A(x1,x2,x3) = 13 isNatKind_A(x1) = 9 U23_A(x1) = 0 U32_A(x1) = 0 U64_A(x1,x2,x3) = 5 s_A(x1) = 4 plus_A(x1,x2) = x1 + 53 U12_A(x1,x2,x3) = 14 U22_A(x1,x2) = 1 U31_A(x1,x2) = 0 U41_A(x1) = 1 U63_A(x1,x2,x3) = 6 U11_A(x1,x2,x3) = 15 U21_A(x1,x2) = 2 U52_A(x1,x2) = x2 + 18 U62_A(x1,x2,x3) = 7 n__0_A() = 1 n__s_A(x1) = 3 U51_A(x1,x2) = x1 + x2 + 36 U61_A(x1,x2,x3) = 8 |0|_A() = 17 precedence: activate = isNat = U23 = U32 = U31 = U11 = U21 = U52 = n__0 = U51 > U15 = U14 > U13 = U12 = n__s > U16 = tt = isNatKind = U41 = |0| > plus = U61 > n__plus > isNatKind# > U22 = U62 > U64 = U63 > s partial status: pi(isNatKind#) = [1] pi(n__plus) = [] pi(activate) = [] pi(U16) = [] pi(tt) = [] pi(U15) = [] pi(isNat) = [] pi(U14) = [] pi(U13) = [] pi(isNatKind) = [] pi(U23) = [] pi(U32) = [] pi(U64) = [] pi(s) = [] pi(plus) = [1] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [] pi(U62) = [] pi(n__0) = [] pi(n__s) = [] pi(U51) = [] pi(U61) = [] pi(|0|) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.