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(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U11#(tt(),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#(activate(X1),activate(X2)) p69: activate#(n__plus(X1,X2)) -> activate#(X1) p70: activate#(n__plus(X1,X2)) -> activate#(X2) p71: activate#(n__s(X)) -> s#(activate(X)) p72: activate#(n__s(X)) -> activate#(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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(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, p69, p70, p72} -- 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__s(X)) -> activate#(X) p4: activate#(n__plus(X1,X2)) -> activate#(X2) p5: activate#(n__plus(X1,X2)) -> activate#(X1) p6: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p7: plus#(N,s(M)) -> isNat#(M) p8: isNat#(n__s(V1)) -> activate#(V1) p9: isNat#(n__s(V1)) -> isNatKind#(activate(V1)) p10: isNatKind#(n__s(V1)) -> 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)) -> U31#(isNatKind(activate(V1)),activate(V2)) p16: U31#(tt(),V2) -> activate#(V2) p17: U31#(tt(),V2) -> isNatKind#(activate(V2)) p18: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p19: U21#(tt(),V1) -> activate#(V1) p20: U21#(tt(),V1) -> isNatKind#(activate(V1)) p21: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p22: U22#(tt(),V1) -> activate#(V1) p23: U22#(tt(),V1) -> isNat#(activate(V1)) p24: isNat#(n__plus(V1,V2)) -> activate#(V2) p25: isNat#(n__plus(V1,V2)) -> activate#(V1) p26: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)) p27: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) p28: U11#(tt(),V1,V2) -> activate#(V2) p29: U11#(tt(),V1,V2) -> activate#(V1) p30: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p31: plus#(N,s(M)) -> U61#(isNat(M),M,N) p32: U61#(tt(),M,N) -> activate#(N) p33: U61#(tt(),M,N) -> activate#(M) p34: U61#(tt(),M,N) -> isNatKind#(activate(M)) p35: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p36: U62#(tt(),M,N) -> activate#(M) p37: U62#(tt(),M,N) -> activate#(N) p38: U62#(tt(),M,N) -> isNat#(activate(N)) p39: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p40: U63#(tt(),M,N) -> activate#(M) p41: U63#(tt(),M,N) -> activate#(N) p42: U63#(tt(),M,N) -> isNatKind#(activate(N)) p43: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p44: U64#(tt(),M,N) -> activate#(M) p45: U64#(tt(),M,N) -> activate#(N) p46: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p47: plus#(N,|0|()) -> isNat#(N) p48: plus#(N,|0|()) -> U51#(isNat(N),N) p49: U51#(tt(),N) -> activate#(N) p50: U51#(tt(),N) -> isNatKind#(activate(N)) p51: U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N)) p52: U52#(tt(),N) -> activate#(N) p53: U12#(tt(),V1,V2) -> activate#(V2) p54: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p55: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) p56: U13#(tt(),V1,V2) -> activate#(V1) p57: U13#(tt(),V1,V2) -> activate#(V2) p58: U13#(tt(),V1,V2) -> isNatKind#(activate(V2)) p59: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) p60: U14#(tt(),V1,V2) -> activate#(V2) p61: U14#(tt(),V1,V2) -> activate#(V1) p62: U14#(tt(),V1,V2) -> isNat#(activate(V1)) p63: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)) p64: U15#(tt(),V2) -> activate#(V2) p65: 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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(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: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: U11#_A(x1,x2,x3) = max{x1 + 62, x2 + 54, x3 + 102} tt_A = 17 U12#_A(x1,x2,x3) = max{x1 + 65, x2 + 53, x3 + 101} isNatKind_A(x1) = max{0, x1 - 87} activate_A(x1) = x1 activate#_A(x1) = max{52, x1 - 60} n__s_A(x1) = max{122, x1} n__plus_A(x1,x2) = max{122, x1 + 59, x2 + 107} plus#_A(x1,x2) = max{60, x1 - 1, x2 - 4} s_A(x1) = max{122, x1} isNat#_A(x1) = max{61, x1 - 4} isNatKind#_A(x1) = max{1, x1 - 56} U31#_A(x1,x2) = max{65, x2 + 2} U21#_A(x1,x2) = max{63, x1 - 23, x2 - 4} U22#_A(x1,x2) = max{62, x2 - 4} U61#_A(x1,x2,x3) = max{96, x1 - 15, x2 - 4, x3 - 1} isNat_A(x1) = max{28, x1 - 71} U62#_A(x1,x2,x3) = max{96, x1 - 19, x2 - 4, x3 - 1} U63#_A(x1,x2,x3) = max{96, x1 + 68, x2 - 4, x3 - 1} U64#_A(x1,x2,x3) = max{x1 + 85, x2 - 4, x3 - 1} |0|_A = 105 U51#_A(x1,x2) = max{53, x1 + 1, x2 - 2} U52#_A(x1,x2) = max{53, x1 - 3, x2 - 2} U13#_A(x1,x2,x3) = max{x1 + 81, x2 + 52, x3 + 100} U14#_A(x1,x2,x3) = max{x1 + 99, x2 + 52, x3 + 100} U15#_A(x1,x2) = max{x1 - 1, x2 + 62} U16_A(x1) = 18 U15_A(x1,x2) = 18 U64_A(x1,x2,x3) = max{x1 + 105, x2 + 107, x3 + 59} plus_A(x1,x2) = max{122, x1 + 59, x2 + 107} U14_A(x1,x2,x3) = 22 U63_A(x1,x2,x3) = max{x2 + 107, x3 + 59} U13_A(x1,x2,x3) = 23 U23_A(x1) = 28 U52_A(x1,x2) = max{x1 - 89, x2 + 1} U62_A(x1,x2,x3) = max{109, x1 + 41, x2 + 107, x3 + 59} U12_A(x1,x2,x3) = max{26, x1 - 105} U22_A(x1,x2) = 28 U32_A(x1) = max{18, x1 - 89} U51_A(x1,x2) = max{x1 - 105, x2 + 2} U61_A(x1,x2,x3) = max{108, x1 + 93, x2 + 107, x3 + 59} U11_A(x1,x2,x3) = max{x1 + 51, x2 - 12} U21_A(x1,x2) = max{29, x1 - 1} U31_A(x1,x2) = max{x1 - 105, x2 + 19} U41_A(x1) = max{35, x1 - 88} n__0_A = 105 precedence: U11# = tt = U12# = isNatKind = activate = activate# = n__s = n__plus = plus# = s = isNat# = isNatKind# = U31# = U21# = U22# = U61# = isNat = U62# = U63# = U64# = |0| = U51# = U52# = U13# = U14# = U15# = U16 = U15 = U64 = plus = U14 = U63 = U13 = U23 = U52 = U62 = U12 = U22 = U32 = U51 = U61 = U11 = U21 = U31 = U41 = n__0 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNatKind) = [] pi(activate) = [] pi(activate#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(isNatKind#) = [] pi(U31#) = [] pi(U21#) = [] pi(U22#) = [] pi(U61#) = [] pi(isNat) = [] pi(U62#) = [] pi(U63#) = [] pi(U64#) = [] pi(|0|) = [] pi(U51#) = [] pi(U52#) = [] pi(U13#) = [] pi(U14#) = [] pi(U15#) = [] 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) = [] pi(U31) = [] pi(U41) = [] pi(n__0) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: U11#_A(x1,x2,x3) = 541 tt_A = 182 U12#_A(x1,x2,x3) = 541 isNatKind_A(x1) = 589 activate_A(x1) = max{158, x1 + 42} activate#_A(x1) = 541 n__s_A(x1) = 98 n__plus_A(x1,x2) = 0 plus#_A(x1,x2) = 540 s_A(x1) = 141 isNat#_A(x1) = 159 isNatKind#_A(x1) = 541 U31#_A(x1,x2) = 97 U21#_A(x1,x2) = 159 U22#_A(x1,x2) = 159 U61#_A(x1,x2,x3) = 540 isNat_A(x1) = 540 U62#_A(x1,x2,x3) = 540 U63#_A(x1,x2,x3) = 540 U64#_A(x1,x2,x3) = 540 |0|_A = 161 U51#_A(x1,x2) = 541 U52#_A(x1,x2) = 1 U13#_A(x1,x2,x3) = 541 U14#_A(x1,x2,x3) = 157 U15#_A(x1,x2) = 134 U16_A(x1) = 622 U15_A(x1,x2) = 623 U64_A(x1,x2,x3) = 157 plus_A(x1,x2) = 157 U14_A(x1,x2,x3) = 623 U63_A(x1,x2,x3) = 157 U13_A(x1,x2,x3) = 539 U23_A(x1) = 542 U52_A(x1,x2) = 985 U62_A(x1,x2,x3) = 157 U12_A(x1,x2,x3) = 539 U22_A(x1,x2) = 543 U32_A(x1) = 589 U51_A(x1,x2) = 589 U61_A(x1,x2,x3) = 157 U11_A(x1,x2,x3) = 540 U21_A(x1,x2) = 543 U31_A(x1,x2) = 589 U41_A(x1) = 97 n__0_A = 120 precedence: isNatKind > tt > activate > U31# > U52 > U51# = U52# = plus > U61 > U62 > U63 > U11# > U12# > U13# = U14# > n__plus = isNatKind# = U23 = U51 > activate# = plus# = s = U61# = U62# = U63# = U64# = U64 > n__0 > U16 > isNat# = U21# = U22# = |0| > isNat = U15 = U14 = U22 = U21 > U15# = U12 > n__s = U13 = U11 > U32 = U31 = U41 partial status: pi(U11#) = [] pi(tt) = [] pi(U12#) = [] pi(isNatKind) = [] pi(activate) = [1] pi(activate#) = [] pi(n__s) = [] pi(n__plus) = [] pi(plus#) = [] pi(s) = [] pi(isNat#) = [] pi(isNatKind#) = [] pi(U31#) = [] pi(U21#) = [] pi(U22#) = [] pi(U61#) = [] pi(isNat) = [] pi(U62#) = [] pi(U63#) = [] pi(U64#) = [] pi(|0|) = [] pi(U51#) = [] pi(U52#) = [] pi(U13#) = [] pi(U14#) = [] pi(U15#) = [] 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) = [] pi(U31) = [] pi(U41) = [] pi(n__0) = [] The next rules are strictly ordered: p1, p2, p4, p5, p7, p8, p9, p12, p14, p15, p16, p17, p19, p20, p22, p24, p25, p26, p27, p28, p29, p32, p33, p34, p36, p37, p40, p41, p42, p44, p45, p48, p49, p50, p51, p52, p53, p55, p57, p58, p60, p61, p62, p63, p64, p65 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) p2: activate#(n__plus(X1,X2)) -> plus#(activate(X1),activate(X2)) p3: isNatKind#(n__s(V1)) -> activate#(V1) p4: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) p5: isNatKind#(n__plus(V1,V2)) -> activate#(V1) p6: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p7: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p8: U22#(tt(),V1) -> isNat#(activate(V1)) p9: U11#(tt(),V1,V2) -> isNatKind#(activate(V1)) p10: plus#(N,s(M)) -> U61#(isNat(M),M,N) p11: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p12: U62#(tt(),M,N) -> isNat#(activate(N)) p13: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p14: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p15: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) p16: plus#(N,|0|()) -> isNat#(N) p17: U12#(tt(),V1,V2) -> isNatKind#(activate(V2)) p18: U13#(tt(),V1,V2) -> activate#(V1) p19: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(X)) r33: activate(X) -> X The estimated dependency graph contains the following SCCs: {p4} {p1} {p10, p11, p13, p14, p15} {p6, p7, p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) and R consists of: r1: U11(tt(),V1,V2) -> U12(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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(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: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (1,4) n__s_A(x1) = ((1,0),(0,0)) x1 + (20,2) activate_A(x1) = ((1,0),(1,1)) x1 + (0,3) U16_A(x1) = ((0,0),(1,0)) x1 + (6,20) tt_A() = (5,23) U15_A(x1,x2) = (7,25) isNat_A(x1) = ((1,0),(0,0)) x1 + (4,33) U14_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (3,6) U13_A(x1,x2,x3) = x2 + ((1,0),(0,0)) x3 + (11,18) isNatKind_A(x1) = (7,4) U23_A(x1) = (6,24) U32_A(x1) = (6,1) U64_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (36,25) s_A(x1) = ((1,0),(0,0)) x1 + (20,24) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (16,30) U12_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (12,17) U22_A(x1,x2) = (7,25) U31_A(x1,x2) = (6,2) U41_A(x1) = ((0,0),(1,0)) x1 + (6,19) U63_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (36,26) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + x3 + (8,25) U21_A(x1,x2) = ((1,0),(0,0)) x1 + (13,1) U52_A(x1,x2) = ((1,0),(0,0)) x2 + (1,24) U62_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (36,27) n__0_A() = (3,27) n__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (16,29) U51_A(x1,x2) = ((1,0),(1,1)) x2 + (2,31) U61_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (36,28) |0|_A() = (3,32) precedence: isNatKind# = activate > U41 = n__0 = |0| > plus = n__plus > U61 > U62 > U63 > U64 > s > n__s = isNatKind > isNat = U23 = U22 = U31 = U11 = U21 > U12 > U13 > U15 = U14 > U16 > U32 > tt > U51 > U52 partial status: pi(isNatKind#) = [] pi(n__s) = [] 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) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [] pi(U62) = [] pi(n__0) = [] pi(n__plus) = [] pi(U51) = [2] pi(U61) = [] pi(|0|) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNatKind#_A(x1) = (0,0) n__s_A(x1) = (1,0) activate_A(x1) = (13,7) U16_A(x1) = (1,11) tt_A() = (0,10) U15_A(x1,x2) = (2,12) isNat_A(x1) = (7,9) U14_A(x1,x2,x3) = (3,13) U13_A(x1,x2,x3) = (4,14) isNatKind_A(x1) = (8,8) U23_A(x1) = (1,11) U32_A(x1) = (0,11) U64_A(x1,x2,x3) = (9,2) s_A(x1) = (2,1) plus_A(x1,x2) = (12,6) U12_A(x1,x2,x3) = (5,15) U22_A(x1,x2) = (5,12) U31_A(x1,x2) = (0,12) U41_A(x1) = (2,1) U63_A(x1,x2,x3) = (9,3) U11_A(x1,x2,x3) = (6,16) U21_A(x1,x2) = (6,13) U52_A(x1,x2) = (14,11) U62_A(x1,x2,x3) = (10,4) n__0_A() = (1,0) n__plus_A(x1,x2) = (1,0) U51_A(x1,x2) = (15,12) U61_A(x1,x2,x3) = (11,5) |0|_A() = (6,8) precedence: U51 > n__0 > U21 > tt = U41 > U52 > U13 > U14 > U61 > |0| > n__plus > activate > U23 = U22 > U16 = U15 = isNat = U32 = U64 = plus = U12 = U31 = U63 = U11 = U62 > s > isNatKind > isNatKind# = n__s partial status: pi(isNatKind#) = [] pi(n__s) = [] 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) = [] pi(U12) = [] pi(U22) = [] pi(U31) = [] pi(U41) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [] pi(U62) = [] pi(n__0) = [] pi(n__plus) = [] pi(U51) = [] pi(U61) = [] pi(|0|) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__s(X)) -> activate#(X) 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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(X)) r33: activate(X) -> X The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = max{4, x1 + 3} n__s_A(x1) = max{3, x1 + 2} precedence: activate# = n__s partial status: pi(activate#) = [1] pi(n__s) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: activate#_A(x1) = max{1, x1 - 1} n__s_A(x1) = x1 precedence: activate# = n__s partial status: pi(activate#) = [] pi(n__s) = [1] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: plus#(N,s(M)) -> U61#(isNat(M),M,N) p2: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p3: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)) p4: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)) p5: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) 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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(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: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: plus#_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + (23,87) s_A(x1) = x1 + (16,26) U61#_A(x1,x2,x3) = x1 + x2 + ((1,0),(1,1)) x3 + (8,62) isNat_A(x1) = (29,25) tt_A() = (22,38) U62#_A(x1,x2,x3) = x2 + ((1,0),(1,1)) x3 + (30,91) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (21,96) activate_A(x1) = x1 + (0,4) U63#_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + ((1,0),(1,1)) x3 + (1,62) U64#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(1,1)) x3 + (23,91) U16_A(x1) = (23,39) U15_A(x1,x2) = ((0,0),(1,0)) x1 + (24,18) U64_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (20,65) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (4,35) U14_A(x1,x2,x3) = ((0,0),(1,0)) x1 + (25,1) U63_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (20,69) U13_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (26,1) U23_A(x1) = ((0,0),(1,0)) x1 + (23,17) U52_A(x1,x2) = ((1,0),(0,0)) x2 + (23,0) U62_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (20,73) U12_A(x1,x2,x3) = (27,23) U22_A(x1,x2) = (23,47) U32_A(x1) = (22,38) U51_A(x1,x2) = x2 + (24,99) U61_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (20,77) U11_A(x1,x2,x3) = (28,24) U21_A(x1,x2) = (24,101) U31_A(x1,x2) = ((1,0),(0,0)) x2 + (22,101) U41_A(x1) = x1 + (15,1) |0|_A() = (21,42) n__0_A() = (21,38) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (4,35) n__s_A(x1) = x1 + (16,26) precedence: U31 = n__0 > U62# > activate = plus > U61 > U62 > U64 = U63 > U15 = |0| > isNat > U21 > U22 > n__plus > s > U16 = U32 = n__s > U51 > U52 > U11 > U64# = U12 > isNatKind > tt > U13 = U23 = U41 > U61# > U14 > plus# = U63# partial status: pi(plus#) = [] pi(s) = [1] pi(U61#) = [1, 3] pi(isNat) = [] pi(tt) = [] pi(U62#) = [] pi(isNatKind) = [1] pi(activate) = [1] pi(U63#) = [3] pi(U64#) = [] pi(U16) = [] pi(U15) = [] pi(U64) = [] pi(plus) = [2] pi(U14) = [] pi(U63) = [2] 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) = [1] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [2] pi(n__s) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: plus#_A(x1,x2) = (33,26) s_A(x1) = ((0,0),(1,0)) x1 + (20,1) U61#_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (1,25) isNat_A(x1) = (31,30) tt_A() = (37,1) U62#_A(x1,x2,x3) = (36,29) isNatKind_A(x1) = ((1,0),(1,1)) x1 + (0,5) activate_A(x1) = x1 + (11,24) U63#_A(x1,x2,x3) = (35,28) U64#_A(x1,x2,x3) = (34,27) U16_A(x1) = (1,0) U15_A(x1,x2) = (9,1) U64_A(x1,x2,x3) = (22,23) plus_A(x1,x2) = ((1,0),(1,0)) x2 + (10,11) U14_A(x1,x2,x3) = (10,2) U63_A(x1,x2,x3) = (23,26) U13_A(x1,x2,x3) = (12,3) U23_A(x1) = (37,1) U52_A(x1,x2) = (26,2) U62_A(x1,x2,x3) = (24,25) U12_A(x1,x2,x3) = (13,4) U22_A(x1,x2) = (31,31) U32_A(x1) = (37,2) U51_A(x1,x2) = (27,3) U61_A(x1,x2,x3) = (25,30) U11_A(x1,x2,x3) = (14,5) U21_A(x1,x2) = (0,0) U31_A(x1,x2) = (37,3) U41_A(x1) = (10,2) |0|_A() = (18,4) n__0_A() = (8,1) n__plus_A(x1,x2) = ((1,0),(1,0)) x2 + (10,10) n__s_A(x1) = (10,26) precedence: |0| > U31 > U21 > U61 > n__0 > U13 > activate = U14 = U62 = U22 > U15 > plus > U51 > isNat > U52 > U63 > U64 > n__plus > U62# > plus# = s = tt = isNatKind = U16 = U23 = U12 = U11 > U41 > U63# = U64# > U32 > n__s > U61# partial status: pi(plus#) = [] pi(s) = [] pi(U61#) = [] pi(isNat) = [] pi(tt) = [] pi(U62#) = [] pi(isNatKind) = [] pi(activate) = [] pi(U63#) = [] pi(U64#) = [] 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) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] pi(n__0) = [] pi(n__plus) = [] pi(n__s) = [] The next rules are strictly ordered: p1, p3, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N)) p2: U64#(tt(),M,N) -> plus#(activate(N),activate(M)) 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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(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: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) p2: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)) p3: U22#(tt(),V1) -> 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(activate(X1),activate(X2)) r32: activate(n__s(X)) -> s(activate(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: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = ((1,0),(1,1)) x1 + (1,1) n__s_A(x1) = ((1,0),(0,0)) x1 + (17,5) U21#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,1) isNatKind_A(x1) = ((0,0),(1,0)) x1 + (4,11) activate_A(x1) = ((1,0),(1,1)) x1 + (0,4) tt_A() = (2,3) U22#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (1,2) U16_A(x1) = (2,4) U15_A(x1,x2) = ((1,0),(1,0)) x1 + (0,3) isNat_A(x1) = (2,15) U14_A(x1,x2,x3) = (2,6) U13_A(x1,x2,x3) = (2,12) U23_A(x1) = (2,4) U64_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (17,7) s_A(x1) = ((1,0),(0,0)) x1 + (17,6) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (0,6) U12_A(x1,x2,x3) = (2,13) U22_A(x1,x2) = ((0,0),(1,0)) x1 + (2,3) U63_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (15,6) U11_A(x1,x2,x3) = (2,14) U21_A(x1,x2) = (2,14) U52_A(x1,x2) = ((1,0),(1,0)) x2 + (3,11) U62_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (17,9) U32_A(x1) = (3,4) U51_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (3,9) U61_A(x1,x2,x3) = x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (15,7) n__0_A() = (9,3) n__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (0,5) U31_A(x1,x2) = ((0,0),(1,0)) x2 + (3,12) U41_A(x1) = (3,29) |0|_A() = (9,15) precedence: U31 > U32 > tt = U23 > isNat > U11 > U12 > U21 > U13 = U52 > U14 = U22 > isNatKind > isNat# > n__s = U21# = U63 = U51 > U64 > s > activate > plus = U61 = U41 > U62 = |0| > U22# = U16 = U15 > n__0 = n__plus partial status: pi(isNat#) = [1] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(activate) = [] pi(tt) = [] pi(U22#) = [] pi(U16) = [] pi(U15) = [] pi(isNat) = [] pi(U14) = [] pi(U13) = [] pi(U23) = [] pi(U64) = [] pi(s) = [] pi(plus) = [] pi(U12) = [] pi(U22) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [] pi(U62) = [] pi(U32) = [] pi(U51) = [1] pi(U61) = [] pi(n__0) = [] pi(n__plus) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: isNat#_A(x1) = x1 + (1,2) n__s_A(x1) = (2,8) U21#_A(x1,x2) = (1,7) isNatKind_A(x1) = (12,21) activate_A(x1) = (4,9) tt_A() = (7,4) U22#_A(x1,x2) = (6,12) U16_A(x1) = (7,5) U15_A(x1,x2) = (8,6) isNat_A(x1) = (14,20) U14_A(x1,x2,x3) = (9,1) U13_A(x1,x2,x3) = (10,2) U23_A(x1) = (8,5) U64_A(x1,x2,x3) = (5,0) s_A(x1) = (4,8) plus_A(x1,x2) = (3,19) U12_A(x1,x2,x3) = (11,3) U22_A(x1,x2) = (15,6) U63_A(x1,x2,x3) = (6,1) U11_A(x1,x2,x3) = (13,1) U21_A(x1,x2) = (0,7) U52_A(x1,x2) = (1,10) U62_A(x1,x2,x3) = (15,2) U32_A(x1) = (8,5) U51_A(x1,x2) = ((0,0),(1,0)) x1 + (2,4) U61_A(x1,x2,x3) = (0,0) n__0_A() = (0,0) n__plus_A(x1,x2) = (5,0) U31_A(x1,x2) = (9,6) U41_A(x1) = (8,22) |0|_A() = (4,0) precedence: n__0 > U32 > U41 > |0| > U21 > n__s = tt = U16 = U23 = s = plus = n__plus > isNat# = isNatKind > U52 > U64 > U61 > isNat = U11 = U62 > U63 > U22 > U13 = U12 > U14 > U31 > U51 > U21# = activate = U22# = U15 partial status: pi(isNat#) = [1] pi(n__s) = [] pi(U21#) = [] pi(isNatKind) = [] pi(activate) = [] pi(tt) = [] pi(U22#) = [] pi(U16) = [] pi(U15) = [] pi(isNat) = [] pi(U14) = [] pi(U13) = [] pi(U23) = [] pi(U64) = [] pi(s) = [] pi(plus) = [] pi(U12) = [] pi(U22) = [] pi(U63) = [] pi(U11) = [] pi(U21) = [] pi(U52) = [] pi(U62) = [] pi(U32) = [] pi(U51) = [] pi(U61) = [] pi(n__0) = [] pi(n__plus) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] The next rules are strictly ordered: p1, p2, p3 We remove them from the problem. Then no dependency pair remains.