YES We show the termination of the TRS R: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) a__U15(tt(),V2) -> a__U16(a__isNat(V2)) a__U16(tt()) -> tt() a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) a__U22(tt(),V1) -> a__U23(a__isNat(V1)) a__U23(tt()) -> tt() a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) a__U32(tt()) -> tt() a__U41(tt()) -> tt() a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) a__U52(tt(),N) -> mark(N) a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) a__isNat(|0|()) -> tt() a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) a__isNatKind(|0|()) -> tt() a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) a__plus(N,|0|()) -> a__U51(a__isNat(N),N) a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) mark(isNatKind(X)) -> a__isNatKind(X) mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) mark(U15(X1,X2)) -> a__U15(mark(X1),X2) mark(isNat(X)) -> a__isNat(X) mark(U16(X)) -> a__U16(mark(X)) mark(U21(X1,X2)) -> a__U21(mark(X1),X2) mark(U22(X1,X2)) -> a__U22(mark(X1),X2) mark(U23(X)) -> a__U23(mark(X)) mark(U31(X1,X2)) -> a__U31(mark(X1),X2) mark(U32(X)) -> a__U32(mark(X)) mark(U41(X)) -> a__U41(mark(X)) mark(U51(X1,X2)) -> a__U51(mark(X1),X2) mark(U52(X1,X2)) -> a__U52(mark(X1),X2) mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) mark(tt()) -> tt() mark(s(X)) -> s(mark(X)) mark(|0|()) -> |0|() a__U11(X1,X2,X3) -> U11(X1,X2,X3) a__U12(X1,X2,X3) -> U12(X1,X2,X3) a__isNatKind(X) -> isNatKind(X) a__U13(X1,X2,X3) -> U13(X1,X2,X3) a__U14(X1,X2,X3) -> U14(X1,X2,X3) a__U15(X1,X2) -> U15(X1,X2) a__isNat(X) -> isNat(X) a__U16(X) -> U16(X) a__U21(X1,X2) -> U21(X1,X2) a__U22(X1,X2) -> U22(X1,X2) a__U23(X) -> U23(X) a__U31(X1,X2) -> U31(X1,X2) a__U32(X) -> U32(X) a__U41(X) -> U41(X) a__U51(X1,X2) -> U51(X1,X2) a__U52(X1,X2) -> U52(X1,X2) a__U61(X1,X2,X3) -> U61(X1,X2,X3) a__U62(X1,X2,X3) -> U62(X1,X2,X3) a__U63(X1,X2,X3) -> U63(X1,X2,X3) a__U64(X1,X2,X3) -> U64(X1,X2,X3) a__plus(X1,X2) -> plus(X1,X2) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U11#(tt(),V1,V2) -> a__U12#(a__isNatKind(V1),V1,V2) p2: a__U11#(tt(),V1,V2) -> a__isNatKind#(V1) p3: a__U12#(tt(),V1,V2) -> a__U13#(a__isNatKind(V2),V1,V2) p4: a__U12#(tt(),V1,V2) -> a__isNatKind#(V2) p5: a__U13#(tt(),V1,V2) -> a__U14#(a__isNatKind(V2),V1,V2) p6: a__U13#(tt(),V1,V2) -> a__isNatKind#(V2) p7: a__U14#(tt(),V1,V2) -> a__U15#(a__isNat(V1),V2) p8: a__U14#(tt(),V1,V2) -> a__isNat#(V1) p9: a__U15#(tt(),V2) -> a__U16#(a__isNat(V2)) p10: a__U15#(tt(),V2) -> a__isNat#(V2) p11: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) p12: a__U21#(tt(),V1) -> a__isNatKind#(V1) p13: a__U22#(tt(),V1) -> a__U23#(a__isNat(V1)) p14: a__U22#(tt(),V1) -> a__isNat#(V1) p15: a__U31#(tt(),V2) -> a__U32#(a__isNatKind(V2)) p16: a__U31#(tt(),V2) -> a__isNatKind#(V2) p17: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p18: a__U51#(tt(),N) -> a__isNatKind#(N) p19: a__U52#(tt(),N) -> mark#(N) p20: a__U61#(tt(),M,N) -> a__U62#(a__isNatKind(M),M,N) p21: a__U61#(tt(),M,N) -> a__isNatKind#(M) p22: a__U62#(tt(),M,N) -> a__U63#(a__isNat(N),M,N) p23: a__U62#(tt(),M,N) -> a__isNat#(N) p24: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p25: a__U63#(tt(),M,N) -> a__isNatKind#(N) p26: a__U64#(tt(),M,N) -> a__plus#(mark(N),mark(M)) p27: a__U64#(tt(),M,N) -> mark#(N) p28: a__U64#(tt(),M,N) -> mark#(M) p29: a__isNat#(plus(V1,V2)) -> a__U11#(a__isNatKind(V1),V1,V2) p30: a__isNat#(plus(V1,V2)) -> a__isNatKind#(V1) p31: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p32: a__isNat#(s(V1)) -> a__isNatKind#(V1) p33: a__isNatKind#(plus(V1,V2)) -> a__U31#(a__isNatKind(V1),V2) p34: a__isNatKind#(plus(V1,V2)) -> a__isNatKind#(V1) p35: a__isNatKind#(s(V1)) -> a__U41#(a__isNatKind(V1)) p36: a__isNatKind#(s(V1)) -> a__isNatKind#(V1) p37: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p38: a__plus#(N,|0|()) -> a__isNat#(N) p39: a__plus#(N,s(M)) -> a__U61#(a__isNat(M),M,N) p40: a__plus#(N,s(M)) -> a__isNat#(M) p41: mark#(U11(X1,X2,X3)) -> a__U11#(mark(X1),X2,X3) p42: mark#(U11(X1,X2,X3)) -> mark#(X1) p43: mark#(U12(X1,X2,X3)) -> a__U12#(mark(X1),X2,X3) p44: mark#(U12(X1,X2,X3)) -> mark#(X1) p45: mark#(isNatKind(X)) -> a__isNatKind#(X) p46: mark#(U13(X1,X2,X3)) -> a__U13#(mark(X1),X2,X3) p47: mark#(U13(X1,X2,X3)) -> mark#(X1) p48: mark#(U14(X1,X2,X3)) -> a__U14#(mark(X1),X2,X3) p49: mark#(U14(X1,X2,X3)) -> mark#(X1) p50: mark#(U15(X1,X2)) -> a__U15#(mark(X1),X2) p51: mark#(U15(X1,X2)) -> mark#(X1) p52: mark#(isNat(X)) -> a__isNat#(X) p53: mark#(U16(X)) -> a__U16#(mark(X)) p54: mark#(U16(X)) -> mark#(X) p55: mark#(U21(X1,X2)) -> a__U21#(mark(X1),X2) p56: mark#(U21(X1,X2)) -> mark#(X1) p57: mark#(U22(X1,X2)) -> a__U22#(mark(X1),X2) p58: mark#(U22(X1,X2)) -> mark#(X1) p59: mark#(U23(X)) -> a__U23#(mark(X)) p60: mark#(U23(X)) -> mark#(X) p61: mark#(U31(X1,X2)) -> a__U31#(mark(X1),X2) p62: mark#(U31(X1,X2)) -> mark#(X1) p63: mark#(U32(X)) -> a__U32#(mark(X)) p64: mark#(U32(X)) -> mark#(X) p65: mark#(U41(X)) -> a__U41#(mark(X)) p66: mark#(U41(X)) -> mark#(X) p67: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p68: mark#(U51(X1,X2)) -> mark#(X1) p69: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p70: mark#(U52(X1,X2)) -> mark#(X1) p71: mark#(U61(X1,X2,X3)) -> a__U61#(mark(X1),X2,X3) p72: mark#(U61(X1,X2,X3)) -> mark#(X1) p73: mark#(U62(X1,X2,X3)) -> a__U62#(mark(X1),X2,X3) p74: mark#(U62(X1,X2,X3)) -> mark#(X1) p75: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p76: mark#(U63(X1,X2,X3)) -> mark#(X1) p77: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p78: mark#(U64(X1,X2,X3)) -> mark#(X1) p79: mark#(plus(X1,X2)) -> a__plus#(mark(X1),mark(X2)) p80: mark#(plus(X1,X2)) -> mark#(X1) p81: mark#(plus(X1,X2)) -> mark#(X2) p82: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p17, p19, p20, p22, p24, p26, p27, p28, p37, p39, p42, p44, p47, p49, p51, p54, p56, p58, p60, p62, p64, p66, p67, p68, p69, p70, p71, p72, p73, p74, p75, p76, p77, p78, p79, p80, p81, p82} {p1, p3, p5, p7, p8, p10, p11, p14, p29, p31} {p16, p33, p34, p36} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: mark#(plus(X1,X2)) -> a__plus#(mark(X1),mark(X2)) p6: a__plus#(N,s(M)) -> a__U61#(a__isNat(M),M,N) p7: a__U61#(tt(),M,N) -> a__U62#(a__isNatKind(M),M,N) p8: a__U62#(tt(),M,N) -> a__U63#(a__isNat(N),M,N) p9: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p10: a__U64#(tt(),M,N) -> mark#(N) p11: mark#(U64(X1,X2,X3)) -> mark#(X1) p12: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p13: a__U64#(tt(),M,N) -> a__plus#(mark(N),mark(M)) p14: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p15: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p16: a__U52#(tt(),N) -> mark#(N) p17: mark#(U63(X1,X2,X3)) -> mark#(X1) p18: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p19: mark#(U62(X1,X2,X3)) -> mark#(X1) p20: mark#(U62(X1,X2,X3)) -> a__U62#(mark(X1),X2,X3) p21: mark#(U61(X1,X2,X3)) -> mark#(X1) p22: mark#(U61(X1,X2,X3)) -> a__U61#(mark(X1),X2,X3) p23: mark#(U52(X1,X2)) -> mark#(X1) p24: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p25: mark#(U51(X1,X2)) -> mark#(X1) p26: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p27: mark#(U41(X)) -> mark#(X) p28: mark#(U32(X)) -> mark#(X) p29: mark#(U31(X1,X2)) -> mark#(X1) p30: mark#(U23(X)) -> mark#(X) p31: mark#(U22(X1,X2)) -> mark#(X1) p32: mark#(U21(X1,X2)) -> mark#(X1) p33: mark#(U16(X)) -> mark#(X) p34: mark#(U15(X1,X2)) -> mark#(X1) p35: mark#(U14(X1,X2,X3)) -> mark#(X1) p36: mark#(U13(X1,X2,X3)) -> mark#(X1) p37: mark#(U12(X1,X2,X3)) -> mark#(X1) p38: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = x1 + x2 + x3 + (43,11) tt_A() = (0,18) mark#_A(x1) = ((1,0),(0,0)) x1 + (22,29) s_A(x1) = ((1,0),(0,0)) x1 + (47,23) plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (21,18) a__plus#_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (43,28) mark_A(x1) = x1 + (0,18) a__U61#_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (46,5) a__isNat_A(x1) = ((0,0),(1,0)) x1 + (0,22) a__U62#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (45,23) a__isNatKind_A(x1) = ((0,0),(1,0)) x1 a__U63#_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (44,19) U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,30) |0|_A() = (19,1) a__U51#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (23,11) a__U52#_A(x1,x2) = x1 + x2 + (23,29) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,18) U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,15) U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,17) U52_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (20,19) U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (20,21) U41_A(x1) = ((1,0),(0,0)) x1 + (0,18) U32_A(x1) = x1 + (0,18) U31_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,19) U23_A(x1) = ((1,0),(0,0)) x1 + (0,18) U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,18) U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,18) U16_A(x1) = ((1,0),(0,0)) x1 + (0,19) U15_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,20) U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,20) U13_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (0,18) U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,18) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,18) a__U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,24) a__U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,23) a__U13_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (0,22) a__U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,21) a__U15_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,20) a__U16_A(x1) = ((1,0),(0,0)) x1 + (0,19) a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,24) a__U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,19) a__U23_A(x1) = ((1,0),(0,0)) x1 + (0,19) a__U31_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,20) a__U32_A(x1) = x1 + (0,18) a__U41_A(x1) = ((1,0),(0,0)) x1 + (0,24) a__U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,1)) x2 + (20,38) a__U52_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (20,19) a__U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,34) a__U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,33) a__U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,32) a__U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(0,0)) x3 + (68,31) a__plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (21,18) isNatKind_A(x1) = ((0,0),(1,0)) x1 isNat_A(x1) = ((0,0),(1,0)) x1 + (0,5) precedence: a__U51 > U51 > a__U14 > U16 = U15 = a__U15 = a__U16 > U12 = a__U22 > tt = U23 = a__U23 > plus = mark = a__isNatKind = U63 = U62 = U52 = U31 = a__U31 = a__U52 = a__U61 = a__U62 = a__U63 = a__U64 = a__plus > U32 = U11 = a__U11 = a__U12 = a__U32 > a__isNat > U64 = U61 > U13 = a__U13 > isNat > U41 = a__U41 > U21 = a__U21 > a__U64# = mark# = s = a__plus# = a__U61# = a__U62# = a__U51# = a__U52# > a__U63# > U22 > isNatKind > |0| = U14 partial status: pi(a__U64#) = [3] pi(tt) = [] pi(mark#) = [] pi(s) = [] pi(plus) = [] pi(a__plus#) = [] pi(mark) = [1] pi(a__U61#) = [] pi(a__isNat) = [] pi(a__U62#) = [] pi(a__isNatKind) = [] pi(a__U63#) = [] pi(U64) = [] pi(|0|) = [] pi(a__U51#) = [] pi(a__U52#) = [] pi(U63) = [] pi(U62) = [] pi(U61) = [] pi(U52) = [] pi(U51) = [] pi(U41) = [] pi(U32) = [1] pi(U31) = [] pi(U23) = [] pi(U22) = [] pi(U21) = [] pi(U16) = [] pi(U15) = [] pi(U14) = [] pi(U13) = [] pi(U12) = [] pi(U11) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [1] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [] pi(a__U64) = [] pi(a__plus) = [1] pi(isNatKind) = [] pi(isNat) = [] The next rules are strictly ordered: p8 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: mark#(plus(X1,X2)) -> a__plus#(mark(X1),mark(X2)) p6: a__plus#(N,s(M)) -> a__U61#(a__isNat(M),M,N) p7: a__U61#(tt(),M,N) -> a__U62#(a__isNatKind(M),M,N) p8: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p9: a__U64#(tt(),M,N) -> mark#(N) p10: mark#(U64(X1,X2,X3)) -> mark#(X1) p11: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p12: a__U64#(tt(),M,N) -> a__plus#(mark(N),mark(M)) p13: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p14: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p15: a__U52#(tt(),N) -> mark#(N) p16: mark#(U63(X1,X2,X3)) -> mark#(X1) p17: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p18: mark#(U62(X1,X2,X3)) -> mark#(X1) p19: mark#(U62(X1,X2,X3)) -> a__U62#(mark(X1),X2,X3) p20: mark#(U61(X1,X2,X3)) -> mark#(X1) p21: mark#(U61(X1,X2,X3)) -> a__U61#(mark(X1),X2,X3) p22: mark#(U52(X1,X2)) -> mark#(X1) p23: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p24: mark#(U51(X1,X2)) -> mark#(X1) p25: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p26: mark#(U41(X)) -> mark#(X) p27: mark#(U32(X)) -> mark#(X) p28: mark#(U31(X1,X2)) -> mark#(X1) p29: mark#(U23(X)) -> mark#(X) p30: mark#(U22(X1,X2)) -> mark#(X1) p31: mark#(U21(X1,X2)) -> mark#(X1) p32: mark#(U16(X)) -> mark#(X) p33: mark#(U15(X1,X2)) -> mark#(X1) p34: mark#(U14(X1,X2,X3)) -> mark#(X1) p35: mark#(U13(X1,X2,X3)) -> mark#(X1) p36: mark#(U12(X1,X2,X3)) -> mark#(X1) p37: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p20, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p15: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p16: a__U52#(tt(),N) -> mark#(N) p17: mark#(U51(X1,X2)) -> mark#(X1) p18: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p19: mark#(U52(X1,X2)) -> mark#(X1) p20: mark#(U61(X1,X2,X3)) -> mark#(X1) p21: mark#(U62(X1,X2,X3)) -> mark#(X1) p22: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p23: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p24: a__U64#(tt(),M,N) -> a__plus#(mark(N),mark(M)) p25: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p26: a__U64#(tt(),M,N) -> mark#(N) p27: mark#(U63(X1,X2,X3)) -> mark#(X1) p28: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p29: mark#(U64(X1,X2,X3)) -> mark#(X1) p30: mark#(plus(X1,X2)) -> a__plus#(mark(X1),mark(X2)) p31: mark#(plus(X1,X2)) -> mark#(X1) p32: mark#(plus(X1,X2)) -> mark#(X2) p33: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (7,19) tt_A() = (0,2) mark#_A(x1) = ((1,0),(0,0)) x1 + (1,20) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,1) U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,6) U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,5) U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,4) U15_A(x1,x2) = ((1,0),(0,0)) x1 + (0,3) U16_A(x1) = ((1,0),(0,0)) x1 + (0,1) U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,3) U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,2) U23_A(x1) = ((1,0),(0,0)) x1 + (0,1) U31_A(x1,x2) = ((1,0),(0,0)) x1 + (0,15) U32_A(x1) = ((1,0),(0,0)) x1 U41_A(x1) = ((1,0),(0,0)) x1 U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,1) a__U51#_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (3,5) mark_A(x1) = ((1,0),(0,0)) x1 + (0,16) a__U52#_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,19) a__isNatKind_A(x1) = (0,16) U52_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (3,14) U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,1) U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,3) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,2) a__U63#_A(x1,x2,x3) = x1 + ((1,0),(1,1)) x2 + ((1,0),(1,0)) x3 + (8,18) a__plus#_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (6,2) |0|_A() = (0,13) a__isNat_A(x1) = (0,9) U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,1) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (5,16) s_A(x1) = ((1,0),(0,0)) x1 + (4,0) a__U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,8) a__U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,7) a__U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,6) a__U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,5) a__U15_A(x1,x2) = ((1,0),(0,0)) x1 + (0,4) a__U16_A(x1) = ((1,0),(0,0)) x1 + (0,3) a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,4) a__U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,3) a__U23_A(x1) = ((1,0),(0,0)) x1 + (0,2) a__U31_A(x1,x2) = ((1,0),(0,0)) x1 + (0,15) a__U32_A(x1) = ((1,0),(0,0)) x1 + (0,15) a__U41_A(x1) = ((1,0),(0,0)) x1 + (0,16) a__U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,14) a__U52_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (3,15) a__U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,16) a__U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,3) a__U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,3) a__U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (9,3) a__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (5,16) isNatKind_A(x1) = (0,16) isNat_A(x1) = (0,1) precedence: a__U52# > a__U31 > U31 > a__U64# = a__U63# > a__U23 > U23 > mark# > a__U51# = a__plus# > |0| > mark = plus = a__U51 = a__plus > U61 = U63 = U64 = s = a__U61 = a__U62 = a__U63 = a__U64 > U21 = a__isNat = a__U21 > U11 = a__U11 > U13 = a__isNatKind = a__U12 = a__U13 = a__U14 = a__U15 = a__U52 = isNatKind > U51 > isNat > U14 > U15 > tt = U41 = a__U41 > U32 = a__U32 > U22 = a__U22 > U16 = a__U16 > U12 = U52 = U62 partial status: pi(a__U64#) = [] pi(tt) = [] pi(mark#) = [] pi(U11) = [] pi(U12) = [] pi(U13) = [] pi(U14) = [] pi(U15) = [] pi(U16) = [] pi(U21) = [] pi(U22) = [] pi(U23) = [] pi(U31) = [] pi(U32) = [] pi(U41) = [] pi(U51) = [] pi(a__U51#) = [] pi(mark) = [] pi(a__U52#) = [2] pi(a__isNatKind) = [] pi(U52) = [] pi(U61) = [] pi(U62) = [] pi(U63) = [] pi(a__U63#) = [1] pi(a__plus#) = [2] pi(|0|) = [] pi(a__isNat) = [] pi(U64) = [] pi(plus) = [] pi(s) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [] pi(a__U64) = [] pi(a__plus) = [] pi(isNatKind) = [] pi(isNat) = [] The next rules are strictly ordered: p24 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p15: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p16: a__U52#(tt(),N) -> mark#(N) p17: mark#(U51(X1,X2)) -> mark#(X1) p18: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p19: mark#(U52(X1,X2)) -> mark#(X1) p20: mark#(U61(X1,X2,X3)) -> mark#(X1) p21: mark#(U62(X1,X2,X3)) -> mark#(X1) p22: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p23: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p24: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p25: a__U64#(tt(),M,N) -> mark#(N) p26: mark#(U63(X1,X2,X3)) -> mark#(X1) p27: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p28: mark#(U64(X1,X2,X3)) -> mark#(X1) p29: mark#(plus(X1,X2)) -> a__plus#(mark(X1),mark(X2)) p30: mark#(plus(X1,X2)) -> mark#(X1) p31: mark#(plus(X1,X2)) -> mark#(X2) p32: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: mark#(plus(X1,X2)) -> a__plus#(mark(X1),mark(X2)) p6: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p7: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p8: a__U52#(tt(),N) -> mark#(N) p9: mark#(U64(X1,X2,X3)) -> mark#(X1) p10: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p11: a__U64#(tt(),M,N) -> mark#(N) p12: mark#(U63(X1,X2,X3)) -> mark#(X1) p13: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p14: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p15: mark#(U62(X1,X2,X3)) -> mark#(X1) p16: mark#(U61(X1,X2,X3)) -> mark#(X1) p17: mark#(U52(X1,X2)) -> mark#(X1) p18: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p19: mark#(U51(X1,X2)) -> mark#(X1) p20: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p21: mark#(U41(X)) -> mark#(X) p22: mark#(U32(X)) -> mark#(X) p23: mark#(U31(X1,X2)) -> mark#(X1) p24: mark#(U23(X)) -> mark#(X) p25: mark#(U22(X1,X2)) -> mark#(X1) p26: mark#(U21(X1,X2)) -> mark#(X1) p27: mark#(U16(X)) -> mark#(X) p28: mark#(U15(X1,X2)) -> mark#(X1) p29: mark#(U14(X1,X2,X3)) -> mark#(X1) p30: mark#(U13(X1,X2,X3)) -> mark#(X1) p31: mark#(U12(X1,X2,X3)) -> mark#(X1) p32: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + x3 + (1,2) tt_A() = (6,39) mark#_A(x1) = ((1,0),(1,1)) x1 + (5,40) s_A(x1) = ((1,0),(0,0)) x1 + (12,112) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (54,13) a__plus#_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (9,96) mark_A(x1) = ((1,0),(1,1)) x1 + (0,12) |0|_A() = (9,36) a__U51#_A(x1,x2) = x2 + (8,37) a__isNat_A(x1) = ((0,0),(1,0)) x1 + (6,35) a__U52#_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (1,32) a__isNatKind_A(x1) = (6,39) U64_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + x3 + (60,7) U63_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + x3 + (60,35) a__U63#_A(x1,x2,x3) = x1 + x2 + x3 + (2,124) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + x3 + (60,9) U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + x3 + (60,11) U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (3,14) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (4,13) U41_A(x1) = x1 U32_A(x1) = x1 U31_A(x1,x2) = x1 U23_A(x1) = x1 + (0,11) U22_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,7) U21_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (0,1) U16_A(x1) = x1 + (0,1) U15_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,1) U14_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,41) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,41) U12_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,48) U11_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,49) a__U11_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,49) a__U12_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,48) a__U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,41) a__U14_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,41) a__U15_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,1) a__U16_A(x1) = x1 + (0,1) a__U21_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (0,1) a__U22_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,7) a__U23_A(x1) = x1 + (0,11) a__U31_A(x1,x2) = x1 a__U32_A(x1) = x1 a__U41_A(x1) = x1 a__U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (4,17) a__U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (3,17) a__U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + x3 + (60,71) a__U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + x3 + (60,68) a__U63_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + x3 + (60,107) a__U64_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + x3 + (60,67) a__plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (54,14) isNatKind_A(x1) = (6,39) isNat_A(x1) = ((0,0),(1,0)) x1 + (6,18) precedence: |0| > mark > a__U62 = a__U63 > tt = a__isNatKind = a__U31 = a__U32 = a__U41 > U63 > U62 > a__U64 > U15 = a__U15 > U31 > U64 > mark# = plus = a__U63# = U61 = a__U61 = a__plus > U21 = a__U21 > a__plus# > a__isNat = isNat > U41 > a__U22 > U23 = a__U23 > U14 = U13 = U12 = U11 = a__U11 = a__U12 = a__U13 = a__U14 = a__U51 = a__U52 > U51 > a__U64# = U16 = a__U16 > s > U52 = U22 = isNatKind > a__U51# = a__U52# = U32 partial status: pi(a__U64#) = [1] pi(tt) = [] pi(mark#) = [] pi(s) = [] pi(plus) = [] pi(a__plus#) = [1] pi(mark) = [1] pi(|0|) = [] pi(a__U51#) = [2] pi(a__isNat) = [] pi(a__U52#) = [] pi(a__isNatKind) = [] pi(U64) = [] pi(U63) = [] pi(a__U63#) = [1, 2] pi(U62) = [] pi(U61) = [] pi(U52) = [2] pi(U51) = [1, 2] pi(U41) = [] pi(U32) = [] pi(U31) = [] pi(U23) = [] pi(U22) = [1] pi(U21) = [] pi(U16) = [1] pi(U15) = [1] pi(U14) = [] pi(U13) = [] pi(U12) = [] pi(U11) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [1] pi(a__U16) = [1] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [3] pi(a__U63) = [3] pi(a__U64) = [1] pi(a__plus) = [] pi(isNatKind) = [] pi(isNat) = [] 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: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: a__plus#(N,|0|()) -> a__U51#(a__isNat(N),N) p6: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p7: a__U52#(tt(),N) -> mark#(N) p8: mark#(U64(X1,X2,X3)) -> mark#(X1) p9: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p10: a__U64#(tt(),M,N) -> mark#(N) p11: mark#(U63(X1,X2,X3)) -> mark#(X1) p12: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p13: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p14: mark#(U62(X1,X2,X3)) -> mark#(X1) p15: mark#(U61(X1,X2,X3)) -> mark#(X1) p16: mark#(U52(X1,X2)) -> mark#(X1) p17: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p18: mark#(U51(X1,X2)) -> mark#(X1) p19: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p20: mark#(U41(X)) -> mark#(X) p21: mark#(U32(X)) -> mark#(X) p22: mark#(U31(X1,X2)) -> mark#(X1) p23: mark#(U23(X)) -> mark#(X) p24: mark#(U22(X1,X2)) -> mark#(X1) p25: mark#(U21(X1,X2)) -> mark#(X1) p26: mark#(U16(X)) -> mark#(X) p27: mark#(U15(X1,X2)) -> mark#(X1) p28: mark#(U14(X1,X2,X3)) -> mark#(X1) p29: mark#(U13(X1,X2,X3)) -> mark#(X1) p30: mark#(U12(X1,X2,X3)) -> mark#(X1) p31: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p15: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p16: a__U52#(tt(),N) -> mark#(N) p17: mark#(U51(X1,X2)) -> mark#(X1) p18: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p19: mark#(U52(X1,X2)) -> mark#(X1) p20: mark#(U61(X1,X2,X3)) -> mark#(X1) p21: mark#(U62(X1,X2,X3)) -> mark#(X1) p22: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p23: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p24: a__U64#(tt(),M,N) -> mark#(N) p25: mark#(U63(X1,X2,X3)) -> mark#(X1) p26: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p27: mark#(U64(X1,X2,X3)) -> mark#(X1) p28: mark#(plus(X1,X2)) -> mark#(X1) p29: mark#(plus(X1,X2)) -> mark#(X2) p30: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (37,20) tt_A() = (23,27) mark#_A(x1) = ((1,0),(0,0)) x1 + (37,20) U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,21) U13_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + (0,2) U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,26) U15_A(x1,x2) = x1 + (0,19) U16_A(x1) = ((1,0),(0,0)) x1 + (0,26) U21_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,42) U22_A(x1,x2) = ((1,0),(1,1)) x1 U23_A(x1) = ((1,0),(0,0)) x1 + (0,26) U31_A(x1,x2) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (0,1) U32_A(x1) = ((1,0),(0,0)) x1 + (0,24) U41_A(x1) = ((1,0),(0,0)) x1 + (0,19) U51_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (3,1) a__U51#_A(x1,x2) = ((1,0),(0,0)) x2 + (39,19) mark_A(x1) = ((1,0),(1,1)) x1 + (0,3) a__U52#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (38,20) a__isNatKind_A(x1) = ((0,0),(1,0)) x1 + (23,6) U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,1) U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (35,2) U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (35,2) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (35,4) a__U63#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (38,5) U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (35,21) plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (22,0) s_A(x1) = ((1,0),(0,0)) x1 + (36,43) a__U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 a__U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,22) a__U13_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + (0,2) a__U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,28) a__U15_A(x1,x2) = x1 + (0,19) a__isNat_A(x1) = ((0,0),(1,0)) x1 + (23,9) a__U16_A(x1) = ((1,0),(0,0)) x1 + (0,28) a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,44) a__U22_A(x1,x2) = ((1,0),(1,1)) x1 a__U23_A(x1) = ((1,0),(0,0)) x1 + (0,28) a__U31_A(x1,x2) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (0,4) a__U32_A(x1) = ((1,0),(0,0)) x1 + (0,27) a__U41_A(x1) = ((1,0),(1,0)) x1 + (0,19) a__U51_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (3,2) a__U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,2) a__U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (35,39) a__U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (35,38) a__U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (35,5) a__U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (35,44) a__plus_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (22,0) |0|_A() = (27,24) isNat_A(x1) = ((0,0),(1,0)) x1 + (23,1) isNatKind_A(x1) = ((0,0),(1,0)) x1 + (23,1) precedence: a__U64# > isNat > U52 = a__U52 > U41 = a__isNatKind = a__U41 > mark# = a__U52# = a__U63# > U32 = mark = a__U31 = a__U32 > plus = a__plus > a__U61 = a__U62 > tt = U11 = U21 = a__U11 = a__isNat = a__U21 = a__U22 = a__U23 = a__U51 > U51 > U22 > |0| > U63 = a__U63 > s = a__U64 > U64 > U12 = U23 = a__U51# = U62 = a__U12 = a__U13 > U14 = a__U14 = a__U15 > U15 > U61 > U13 > U31 > U16 = a__U16 > isNatKind partial status: pi(a__U64#) = [] pi(tt) = [] pi(mark#) = [] pi(U11) = [] pi(U12) = [] pi(U13) = [] pi(U14) = [] pi(U15) = [1] pi(U16) = [] pi(U21) = [] pi(U22) = [] pi(U23) = [] pi(U31) = [] pi(U32) = [] pi(U41) = [] pi(U51) = [] pi(a__U51#) = [] pi(mark) = [1] pi(a__U52#) = [] pi(a__isNatKind) = [] pi(U52) = [] pi(U61) = [] pi(U62) = [] pi(U63) = [] pi(a__U63#) = [] pi(U64) = [] pi(plus) = [] pi(s) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__isNat) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [1] pi(a__U64) = [] pi(a__plus) = [2] pi(|0|) = [] pi(isNat) = [] pi(isNatKind) = [] The next rules are strictly ordered: p14 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: a__U51#(tt(),N) -> a__U52#(a__isNatKind(N),N) p15: a__U52#(tt(),N) -> mark#(N) p16: mark#(U51(X1,X2)) -> mark#(X1) p17: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p18: mark#(U52(X1,X2)) -> mark#(X1) p19: mark#(U61(X1,X2,X3)) -> mark#(X1) p20: mark#(U62(X1,X2,X3)) -> mark#(X1) p21: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p22: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p23: a__U64#(tt(),M,N) -> mark#(N) p24: mark#(U63(X1,X2,X3)) -> mark#(X1) p25: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p26: mark#(U64(X1,X2,X3)) -> mark#(X1) p27: mark#(plus(X1,X2)) -> mark#(X1) p28: mark#(plus(X1,X2)) -> mark#(X2) p29: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: mark#(U64(X1,X2,X3)) -> mark#(X1) p6: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p7: a__U64#(tt(),M,N) -> mark#(N) p8: mark#(U63(X1,X2,X3)) -> mark#(X1) p9: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p10: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p11: mark#(U62(X1,X2,X3)) -> mark#(X1) p12: mark#(U61(X1,X2,X3)) -> mark#(X1) p13: mark#(U52(X1,X2)) -> mark#(X1) p14: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p15: a__U52#(tt(),N) -> mark#(N) p16: mark#(U51(X1,X2)) -> mark#(X1) p17: mark#(U41(X)) -> mark#(X) p18: mark#(U32(X)) -> mark#(X) p19: mark#(U31(X1,X2)) -> mark#(X1) p20: mark#(U23(X)) -> mark#(X) p21: mark#(U22(X1,X2)) -> mark#(X1) p22: mark#(U21(X1,X2)) -> mark#(X1) p23: mark#(U16(X)) -> mark#(X) p24: mark#(U15(X1,X2)) -> mark#(X1) p25: mark#(U14(X1,X2,X3)) -> mark#(X1) p26: mark#(U13(X1,X2,X3)) -> mark#(X1) p27: mark#(U12(X1,X2,X3)) -> mark#(X1) p28: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (1,19) tt_A() = (2,20) mark#_A(x1) = ((0,0),(1,0)) x1 + (1,17) s_A(x1) = ((1,0),(0,0)) x1 + (15,0) plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (8,0) U64_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + x3 + (21,16) mark_A(x1) = x1 + (0,24) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + x3 + (21,25) a__U63#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (1,26) a__isNatKind_A(x1) = ((0,0),(1,0)) x1 + (2,6) U62_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + x3 + (21,7) U61_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + x3 + (21,1) U52_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (8,1) a__U52#_A(x1,x2) = ((0,0),(1,0)) x2 + (1,18) U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (21,0) U41_A(x1) = ((1,0),(1,0)) x1 + (0,18) U32_A(x1) = ((1,0),(1,1)) x1 + (0,1) U31_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 U23_A(x1) = ((1,0),(1,1)) x1 U22_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 U21_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 U16_A(x1) = ((1,0),(1,1)) x1 U15_A(x1,x2) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (0,16) U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 U12_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x3 U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 a__U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,23) a__U12_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (0,21) a__U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,22) a__U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x3 + (0,21) a__U15_A(x1,x2) = ((1,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (0,16) a__isNat_A(x1) = ((0,0),(1,0)) x1 + (2,16) a__U16_A(x1) = ((1,0),(1,1)) x1 a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,22) a__U22_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,21) a__U23_A(x1) = ((1,0),(1,1)) x1 a__U31_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,10) a__U32_A(x1) = ((1,0),(1,1)) x1 + (0,1) a__U41_A(x1) = ((1,0),(1,0)) x1 + (0,18) a__U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (21,14) a__U52_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (8,23) a__U61_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + x3 + (21,12) a__U62_A(x1,x2,x3) = x1 + ((1,0),(0,0)) x2 + x3 + (21,7) a__U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + x3 + (21,26) a__U64_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + x3 + (21,23) a__plus_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (8,0) |0|_A() = (15,21) isNat_A(x1) = ((0,0),(1,0)) x1 + (2,0) isNatKind_A(x1) = ((0,0),(1,0)) x1 + (2,0) precedence: a__U11 > a__isNat = isNat > mark# = a__U52# > mark = U52 = U12 = a__U12 = a__U13 = a__U21 = a__U52 > U31 = a__U31 > a__U32 > U41 = U32 = a__U41 > U61 > a__U61 > U21 > U62 = a__U62 > a__U63 > U14 = U13 = a__U14 > a__U15 > a__U16 > U15 > U22 = a__U22 > U63 > tt = a__U23 > a__isNatKind = isNatKind > a__U51 > U51 > a__plus > U23 > a__U63# > a__U64# > plus = a__U64 = |0| > U64 > U16 > s = U11 partial status: pi(a__U64#) = [] pi(tt) = [] pi(mark#) = [] pi(s) = [] pi(plus) = [] pi(U64) = [3] pi(mark) = [] pi(U63) = [] pi(a__U63#) = [] pi(a__isNatKind) = [] pi(U62) = [] pi(U61) = [] pi(U52) = [] pi(a__U52#) = [] pi(U51) = [] pi(U41) = [] pi(U32) = [] pi(U31) = [] pi(U23) = [] pi(U22) = [] pi(U21) = [] pi(U16) = [] pi(U15) = [] pi(U14) = [] pi(U13) = [] pi(U12) = [] pi(U11) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__isNat) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [1] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [] pi(a__U64) = [] pi(a__plus) = [] pi(|0|) = [] pi(isNat) = [] pi(isNatKind) = [] The next rules are strictly ordered: p15 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: mark#(U64(X1,X2,X3)) -> mark#(X1) p6: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p7: a__U64#(tt(),M,N) -> mark#(N) p8: mark#(U63(X1,X2,X3)) -> mark#(X1) p9: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p10: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p11: mark#(U62(X1,X2,X3)) -> mark#(X1) p12: mark#(U61(X1,X2,X3)) -> mark#(X1) p13: mark#(U52(X1,X2)) -> mark#(X1) p14: mark#(U52(X1,X2)) -> a__U52#(mark(X1),X2) p15: mark#(U51(X1,X2)) -> mark#(X1) p16: mark#(U41(X)) -> mark#(X) p17: mark#(U32(X)) -> mark#(X) p18: mark#(U31(X1,X2)) -> mark#(X1) p19: mark#(U23(X)) -> mark#(X) p20: mark#(U22(X1,X2)) -> mark#(X1) p21: mark#(U21(X1,X2)) -> mark#(X1) p22: mark#(U16(X)) -> mark#(X) p23: mark#(U15(X1,X2)) -> mark#(X1) p24: mark#(U14(X1,X2,X3)) -> mark#(X1) p25: mark#(U13(X1,X2,X3)) -> mark#(X1) p26: mark#(U12(X1,X2,X3)) -> mark#(X1) p27: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U52(X1,X2)) -> mark#(X1) p16: mark#(U61(X1,X2,X3)) -> mark#(X1) p17: mark#(U62(X1,X2,X3)) -> mark#(X1) p18: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p19: a__U63#(tt(),M,N) -> a__U64#(a__isNatKind(N),M,N) p20: a__U64#(tt(),M,N) -> mark#(N) p21: mark#(U63(X1,X2,X3)) -> mark#(X1) p22: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p23: mark#(U64(X1,X2,X3)) -> mark#(X1) p24: mark#(plus(X1,X2)) -> mark#(X1) p25: mark#(plus(X1,X2)) -> mark#(X2) p26: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + ((1,0),(1,1)) x3 + (0,1) tt_A() = (4,17) mark#_A(x1) = ((1,0),(0,0)) x1 + (0,28) U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,28) U12_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,29) U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,25) U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,19) U15_A(x1,x2) = ((1,0),(0,0)) x1 + (0,17) U16_A(x1) = ((1,0),(0,0)) x1 + (0,29) U21_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,18) U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,17) U23_A(x1) = ((1,0),(0,0)) x1 + (0,29) U31_A(x1,x2) = ((1,0),(1,0)) x1 + (0,29) U32_A(x1) = ((1,0),(0,0)) x1 + (0,15) U41_A(x1) = ((1,0),(1,0)) x1 + (0,15) U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,16) U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (1,1) U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (11,27) U62_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (11,27) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (11,27) a__U63#_A(x1,x2,x3) = ((1,0),(0,0)) x1 + x2 + ((1,0),(0,0)) x3 + (1,39) mark_A(x1) = x1 + (0,15) a__isNatKind_A(x1) = ((0,0),(1,0)) x1 + (4,38) U64_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (11,14) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (10,42) s_A(x1) = ((1,0),(0,0)) x1 + (5,16) a__U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,37) a__U12_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,36) a__U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,39) a__U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,33) a__U15_A(x1,x2) = ((1,0),(0,0)) x1 + (0,31) a__isNat_A(x1) = ((0,0),(1,0)) x1 + (4,32) a__U16_A(x1) = ((1,0),(0,0)) x1 + (0,30) a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + ((0,0),(1,0)) x2 + (0,32) a__U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,31) a__U23_A(x1) = ((1,0),(0,0)) x1 + (0,30) a__U31_A(x1,x2) = ((1,0),(1,0)) x1 + (0,30) a__U32_A(x1) = ((1,0),(0,0)) x1 + (0,18) a__U41_A(x1) = ((1,0),(1,0)) x1 + (0,15) a__U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,16) a__U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (1,2) a__U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (11,41) a__U62_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (11,36) a__U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (11,39) a__U64_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (11,14) a__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (10,42) |0|_A() = (7,1) isNat_A(x1) = ((0,0),(1,0)) x1 + (4,31) isNatKind_A(x1) = ((0,0),(1,0)) x1 + (4,24) precedence: U31 = U41 = a__U41 > U52 > plus = a__plus > mark > U51 = a__U51 > a__U61 > a__U63 > U22 > a__U62 > U63 > U12 = U61 > a__U11 = a__U12 > a__U13 = a__U14 > U11 = U13 > isNatKind > a__U64 > U64 > U14 > a__U64# = mark# > |0| > a__U52 > U32 > a__isNat > a__U21 > s > a__U22 > U23 = a__U23 > tt = a__U31 = a__U32 > U21 > a__U63# = a__isNatKind > U62 > U16 = a__U15 = a__U16 = isNat > U15 partial status: pi(a__U64#) = [1] pi(tt) = [] pi(mark#) = [] pi(U11) = [] pi(U12) = [] pi(U13) = [] pi(U14) = [] pi(U15) = [] pi(U16) = [] pi(U21) = [] pi(U22) = [] pi(U23) = [] pi(U31) = [] pi(U32) = [] pi(U41) = [] pi(U51) = [1] pi(U52) = [] pi(U61) = [] pi(U62) = [] pi(U63) = [] pi(a__U63#) = [] pi(mark) = [1] pi(a__isNatKind) = [] pi(U64) = [] pi(plus) = [] pi(s) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__isNat) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [] pi(a__U41) = [] pi(a__U51) = [1] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [] pi(a__U64) = [] pi(a__plus) = [] pi(|0|) = [] pi(isNat) = [] pi(isNatKind) = [] The next rules are strictly ordered: p19 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U52(X1,X2)) -> mark#(X1) p16: mark#(U61(X1,X2,X3)) -> mark#(X1) p17: mark#(U62(X1,X2,X3)) -> mark#(X1) p18: mark#(U63(X1,X2,X3)) -> a__U63#(mark(X1),X2,X3) p19: a__U64#(tt(),M,N) -> mark#(N) p20: mark#(U63(X1,X2,X3)) -> mark#(X1) p21: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p22: mark#(U64(X1,X2,X3)) -> mark#(X1) p23: mark#(plus(X1,X2)) -> mark#(X1) p24: mark#(plus(X1,X2)) -> mark#(X2) p25: mark#(s(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, p19, p20, p21, p22, p23, p24, p25} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U64#(tt(),M,N) -> mark#(M) p2: mark#(s(X)) -> mark#(X) p3: mark#(plus(X1,X2)) -> mark#(X2) p4: mark#(plus(X1,X2)) -> mark#(X1) p5: mark#(U64(X1,X2,X3)) -> mark#(X1) p6: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p7: a__U64#(tt(),M,N) -> mark#(N) p8: mark#(U63(X1,X2,X3)) -> mark#(X1) p9: mark#(U62(X1,X2,X3)) -> mark#(X1) p10: mark#(U61(X1,X2,X3)) -> mark#(X1) p11: mark#(U52(X1,X2)) -> mark#(X1) p12: mark#(U51(X1,X2)) -> mark#(X1) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U32(X)) -> mark#(X) p15: mark#(U31(X1,X2)) -> mark#(X1) p16: mark#(U23(X)) -> mark#(X) p17: mark#(U22(X1,X2)) -> mark#(X1) p18: mark#(U21(X1,X2)) -> mark#(X1) p19: mark#(U16(X)) -> mark#(X) p20: mark#(U15(X1,X2)) -> mark#(X1) p21: mark#(U14(X1,X2,X3)) -> mark#(X1) p22: mark#(U13(X1,X2,X3)) -> mark#(X1) p23: mark#(U12(X1,X2,X3)) -> mark#(X1) p24: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U64#_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (1,5) tt_A() = (17,27) mark#_A(x1) = ((0,0),(1,0)) x1 + (1,4) s_A(x1) = ((1,0),(1,0)) x1 + (36,3) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (2,0) U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (21,6) mark_A(x1) = ((1,0),(1,1)) x1 + (0,26) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (21,32) U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (21,0) U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(1,0)) x3 + (21,0) U52_A(x1,x2) = x1 + x2 + (2,1) U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (20,3) U41_A(x1) = ((1,0),(0,0)) x1 + (0,3) U32_A(x1) = ((1,0),(1,0)) x1 + (0,3) U31_A(x1,x2) = ((1,0),(0,0)) x1 + (0,3) U23_A(x1) = ((1,0),(0,0)) x1 + (0,3) U22_A(x1,x2) = ((1,0),(1,1)) x1 U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,25) U16_A(x1) = ((1,0),(0,0)) x1 + (0,3) U15_A(x1,x2) = ((1,0),(0,0)) x1 + (0,5) U14_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,5) U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,6) U12_A(x1,x2,x3) = x1 + (0,6) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,14) a__U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,39) a__U12_A(x1,x2,x3) = x1 + (0,6) a__isNatKind_A(x1) = (17,32) a__U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,31) a__U14_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,13) a__U15_A(x1,x2) = ((1,0),(0,0)) x1 + (0,29) a__isNat_A(x1) = (17,51) a__U16_A(x1) = ((1,0),(0,0)) x1 + (0,28) a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,50) a__U22_A(x1,x2) = ((1,0),(1,1)) x1 a__U23_A(x1) = ((1,0),(0,0)) x1 + (0,28) a__U31_A(x1,x2) = ((1,0),(1,0)) x1 + (0,12) a__U32_A(x1) = ((1,0),(1,0)) x1 + (0,11) a__U41_A(x1) = ((1,0),(0,0)) x1 + (0,28) a__U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + (20,35) a__U52_A(x1,x2) = x1 + x2 + (2,2) a__U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (21,35) a__U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (21,34) a__U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (21,33) a__U64_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (21,11) a__plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (2,0) |0|_A() = (36,0) isNatKind_A(x1) = (17,1) isNat_A(x1) = (17,9) precedence: a__plus > a__U15 > U64 = U15 = a__U32 > plus = U32 > U41 > mark = U63 = U62 = U13 = a__U13 = a__U14 = a__U51 = a__U52 = a__U62 = a__U63 > a__isNat = a__U21 > a__isNatKind > U22 = a__U22 > U11 = a__U11 > U21 > U14 = a__U61 > a__U64# = mark# > a__U41 > tt = a__U16 = isNatKind > isNat > a__U12 > U23 > U61 = U52 > U31 = a__U23 = a__U31 > U51 > s = a__U64 > U16 = U12 = |0| partial status: pi(a__U64#) = [] pi(tt) = [] pi(mark#) = [] pi(s) = [] pi(plus) = [] pi(U64) = [] pi(mark) = [] pi(U63) = [] pi(U62) = [] pi(U61) = [] pi(U52) = [1] pi(U51) = [] pi(U41) = [] pi(U32) = [] pi(U31) = [] pi(U23) = [] pi(U22) = [] pi(U21) = [] pi(U16) = [] pi(U15) = [] pi(U14) = [] pi(U13) = [] pi(U12) = [] pi(U11) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__isNatKind) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__isNat) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [] pi(a__U64) = [] pi(a__plus) = [] pi(|0|) = [] pi(isNatKind) = [] pi(isNat) = [] 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: mark#(s(X)) -> mark#(X) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(U64(X1,X2,X3)) -> mark#(X1) p5: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p6: a__U64#(tt(),M,N) -> mark#(N) p7: mark#(U63(X1,X2,X3)) -> mark#(X1) p8: mark#(U62(X1,X2,X3)) -> mark#(X1) p9: mark#(U61(X1,X2,X3)) -> mark#(X1) p10: mark#(U52(X1,X2)) -> mark#(X1) p11: mark#(U51(X1,X2)) -> mark#(X1) p12: mark#(U41(X)) -> mark#(X) p13: mark#(U32(X)) -> mark#(X) p14: mark#(U31(X1,X2)) -> mark#(X1) p15: mark#(U23(X)) -> mark#(X) p16: mark#(U22(X1,X2)) -> mark#(X1) p17: mark#(U21(X1,X2)) -> mark#(X1) p18: mark#(U16(X)) -> mark#(X) p19: mark#(U15(X1,X2)) -> mark#(X1) p20: mark#(U14(X1,X2,X3)) -> mark#(X1) p21: mark#(U13(X1,X2,X3)) -> mark#(X1) p22: mark#(U12(X1,X2,X3)) -> mark#(X1) p23: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U52(X1,X2)) -> mark#(X1) p16: mark#(U61(X1,X2,X3)) -> mark#(X1) p17: mark#(U62(X1,X2,X3)) -> mark#(X1) p18: mark#(U63(X1,X2,X3)) -> mark#(X1) p19: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p20: a__U64#(tt(),M,N) -> mark#(N) p21: mark#(U64(X1,X2,X3)) -> mark#(X1) p22: mark#(plus(X1,X2)) -> mark#(X1) p23: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((0,0),(1,0)) x1 + (7,7) s_A(x1) = ((1,0),(0,0)) x1 + (4,2) U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,7) U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,4) U15_A(x1,x2) = ((1,0),(1,0)) x1 + (0,1) U16_A(x1) = ((1,0),(0,0)) x1 U21_A(x1,x2) = ((1,0),(0,0)) x1 U22_A(x1,x2) = ((1,0),(0,0)) x1 U23_A(x1) = ((1,0),(0,0)) x1 U31_A(x1,x2) = ((1,0),(0,0)) x1 U32_A(x1) = ((1,0),(0,0)) x1 U41_A(x1) = ((1,0),(0,0)) x1 U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (2,0) U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (1,0) U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,8) U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,0) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,0) U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,3) a__U64#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (7,12) mark_A(x1) = x1 + (0,12) tt_A() = (2,0) plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,0) a__U11_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,7) a__U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,6) a__isNatKind_A(x1) = (2,4) a__U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,5) a__U14_A(x1,x2,x3) = ((1,0),(0,0)) x1 + (0,4) a__U15_A(x1,x2) = ((1,0),(1,0)) x1 + (0,1) a__isNat_A(x1) = (2,11) a__U16_A(x1) = ((1,0),(0,0)) x1 + (0,1) a__U21_A(x1,x2) = ((1,0),(0,0)) x1 + (0,5) a__U22_A(x1,x2) = ((1,0),(0,0)) x1 + (0,1) a__U23_A(x1) = ((1,0),(0,0)) x1 + (0,1) a__U31_A(x1,x2) = ((1,0),(0,0)) x1 + (0,3) a__U32_A(x1) = ((1,0),(0,0)) x1 + (0,3) a__U41_A(x1) = ((1,0),(0,0)) x1 + (0,3) a__U51_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (2,0) a__U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (1,1) a__U61_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,9) a__U62_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,6) a__U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,5) a__U64_A(x1,x2,x3) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + ((1,0),(0,0)) x3 + (6,4) a__plus_A(x1,x2) = ((1,0),(0,0)) x1 + ((1,0),(0,0)) x2 + (4,10) |0|_A() = (1,0) isNatKind_A(x1) = (2,0) isNat_A(x1) = (2,0) precedence: tt = a__U41 > mark# > a__isNatKind > U51 = U62 = mark = plus = a__U31 = a__U32 = a__U51 = a__U52 = a__U62 = a__plus > U31 > U11 = a__U11 > s = U63 = a__U63 = a__U64 > U12 = U13 = U64 = a__U12 = a__U13 > a__isNat = isNat > a__U64# > U14 = U15 = a__U14 = a__U15 = a__U16 > a__U21 = a__U22 > a__U61 > U61 > isNatKind > U41 > U22 > U52 > U16 > U21 > a__U23 > U23 = |0| > U32 partial status: pi(mark#) = [] pi(s) = [] pi(U11) = [] pi(U12) = [] pi(U13) = [] pi(U14) = [] pi(U15) = [] pi(U16) = [] pi(U21) = [] pi(U22) = [] pi(U23) = [] pi(U31) = [] pi(U32) = [] pi(U41) = [] pi(U51) = [] pi(U52) = [] pi(U61) = [] pi(U62) = [] pi(U63) = [] pi(U64) = [] pi(a__U64#) = [] pi(mark) = [] pi(tt) = [] pi(plus) = [] pi(a__U11) = [] pi(a__U12) = [] pi(a__isNatKind) = [] pi(a__U13) = [] pi(a__U14) = [] pi(a__U15) = [] pi(a__isNat) = [] pi(a__U16) = [] pi(a__U21) = [] pi(a__U22) = [] pi(a__U23) = [] pi(a__U31) = [] pi(a__U32) = [] pi(a__U41) = [] pi(a__U51) = [] pi(a__U52) = [] pi(a__U61) = [] pi(a__U62) = [] pi(a__U63) = [] pi(a__U64) = [] pi(a__plus) = [] pi(|0|) = [] pi(isNatKind) = [] pi(isNat) = [] The next rules are strictly ordered: p20 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U11(X1,X2,X3)) -> mark#(X1) p3: mark#(U12(X1,X2,X3)) -> mark#(X1) p4: mark#(U13(X1,X2,X3)) -> mark#(X1) p5: mark#(U14(X1,X2,X3)) -> mark#(X1) p6: mark#(U15(X1,X2)) -> mark#(X1) p7: mark#(U16(X)) -> mark#(X) p8: mark#(U21(X1,X2)) -> mark#(X1) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U31(X1,X2)) -> mark#(X1) p12: mark#(U32(X)) -> mark#(X) p13: mark#(U41(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U52(X1,X2)) -> mark#(X1) p16: mark#(U61(X1,X2,X3)) -> mark#(X1) p17: mark#(U62(X1,X2,X3)) -> mark#(X1) p18: mark#(U63(X1,X2,X3)) -> mark#(X1) p19: mark#(U64(X1,X2,X3)) -> a__U64#(mark(X1),X2,X3) p20: mark#(U64(X1,X2,X3)) -> mark#(X1) p21: mark#(plus(X1,X2)) -> mark#(X1) p22: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) 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, p20, p21, p22} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(U64(X1,X2,X3)) -> mark#(X1) p5: mark#(U63(X1,X2,X3)) -> mark#(X1) p6: mark#(U62(X1,X2,X3)) -> mark#(X1) p7: mark#(U61(X1,X2,X3)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U51(X1,X2)) -> mark#(X1) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U32(X)) -> mark#(X) p12: mark#(U31(X1,X2)) -> mark#(X1) p13: mark#(U23(X)) -> mark#(X) p14: mark#(U22(X1,X2)) -> mark#(X1) p15: mark#(U21(X1,X2)) -> mark#(X1) p16: mark#(U16(X)) -> mark#(X) p17: mark#(U15(X1,X2)) -> mark#(X1) p18: mark#(U14(X1,X2,X3)) -> mark#(X1) p19: mark#(U13(X1,X2,X3)) -> mark#(X1) p20: mark#(U12(X1,X2,X3)) -> mark#(X1) p21: mark#(U11(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) s_A(x1) = x1 + (2,1) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,1) U64_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,3) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U52_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (2,3) U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U41_A(x1) = ((1,0),(1,1)) x1 + (2,1) U32_A(x1) = ((1,0),(1,1)) x1 + (2,3) U31_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (2,1) U23_A(x1) = ((1,0),(1,1)) x1 + (2,3) U22_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U21_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U16_A(x1) = ((1,0),(1,1)) x1 + (2,3) U15_A(x1,x2) = x1 + (2,1) U14_A(x1,x2,x3) = x1 + (2,1) U13_A(x1,x2,x3) = x1 + ((1,0),(1,1)) x3 + (2,1) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,3) U11_A(x1,x2,x3) = x1 + x2 + x3 + (2,3) precedence: U22 > U64 = U52 = U21 > U23 > s = plus = U63 = U62 = U61 = U16 > mark# = U51 = U41 = U32 = U31 = U15 = U14 = U13 = U12 = U11 partial status: pi(mark#) = [1] pi(s) = [1] pi(plus) = [1, 2] pi(U64) = [1] pi(U63) = [1, 3] pi(U62) = [1, 3] pi(U61) = [1, 2] pi(U52) = [1] pi(U51) = [1, 2] pi(U41) = [1] pi(U32) = [1] pi(U31) = [] pi(U23) = [] pi(U22) = [1] pi(U21) = [1, 2] pi(U16) = [1] pi(U15) = [] pi(U14) = [1] pi(U13) = [1, 3] pi(U12) = [1, 3] pi(U11) = [1, 3] The next rules are strictly ordered: p21 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(U64(X1,X2,X3)) -> mark#(X1) p5: mark#(U63(X1,X2,X3)) -> mark#(X1) p6: mark#(U62(X1,X2,X3)) -> mark#(X1) p7: mark#(U61(X1,X2,X3)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U51(X1,X2)) -> mark#(X1) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U32(X)) -> mark#(X) p12: mark#(U31(X1,X2)) -> mark#(X1) p13: mark#(U23(X)) -> mark#(X) p14: mark#(U22(X1,X2)) -> mark#(X1) p15: mark#(U21(X1,X2)) -> mark#(X1) p16: mark#(U16(X)) -> mark#(X) p17: mark#(U15(X1,X2)) -> mark#(X1) p18: mark#(U14(X1,X2,X3)) -> mark#(X1) p19: mark#(U13(X1,X2,X3)) -> mark#(X1) p20: mark#(U12(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U12(X1,X2,X3)) -> mark#(X1) p3: mark#(U13(X1,X2,X3)) -> mark#(X1) p4: mark#(U14(X1,X2,X3)) -> mark#(X1) p5: mark#(U15(X1,X2)) -> mark#(X1) p6: mark#(U16(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> mark#(X1) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U31(X1,X2)) -> mark#(X1) p11: mark#(U32(X)) -> mark#(X) p12: mark#(U41(X)) -> mark#(X) p13: mark#(U51(X1,X2)) -> mark#(X1) p14: mark#(U52(X1,X2)) -> mark#(X1) p15: mark#(U61(X1,X2,X3)) -> mark#(X1) p16: mark#(U62(X1,X2,X3)) -> mark#(X1) p17: mark#(U63(X1,X2,X3)) -> mark#(X1) p18: mark#(U64(X1,X2,X3)) -> mark#(X1) p19: mark#(plus(X1,X2)) -> mark#(X1) p20: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) s_A(x1) = ((1,0),(1,1)) x1 + (2,1) U12_A(x1,x2,x3) = x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,3) U14_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U15_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U16_A(x1) = ((1,0),(1,1)) x1 + (2,3) U21_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U22_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (2,1) U23_A(x1) = x1 + (2,1) U31_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U32_A(x1) = ((1,0),(1,1)) x1 + (2,3) U41_A(x1) = ((1,0),(1,1)) x1 + (2,3) U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U52_A(x1,x2) = x1 + x2 + (2,3) U61_A(x1,x2,x3) = x1 + x3 + (2,3) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x3 + (2,3) U64_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,3) precedence: mark# = U51 > U32 = U41 = U52 > s = U12 = U21 = U31 = U61 > U13 = U14 > U15 = U16 = U22 = U62 = U63 = U64 > U23 = plus partial status: pi(mark#) = [1] pi(s) = [1] pi(U12) = [3] pi(U13) = [1, 2] pi(U14) = [1, 2] pi(U15) = [1] pi(U16) = [1] pi(U21) = [] pi(U22) = [1] pi(U23) = [1] pi(U31) = [1] pi(U32) = [1] pi(U41) = [1] pi(U51) = [1, 2] pi(U52) = [2] pi(U61) = [1, 3] pi(U62) = [1] pi(U63) = [1, 3] pi(U64) = [] pi(plus) = [1] The next rules are strictly ordered: p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U12(X1,X2,X3)) -> mark#(X1) p3: mark#(U13(X1,X2,X3)) -> mark#(X1) p4: mark#(U14(X1,X2,X3)) -> mark#(X1) p5: mark#(U15(X1,X2)) -> mark#(X1) p6: mark#(U16(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> mark#(X1) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U32(X)) -> mark#(X) p11: mark#(U41(X)) -> mark#(X) p12: mark#(U51(X1,X2)) -> mark#(X1) p13: mark#(U52(X1,X2)) -> mark#(X1) p14: mark#(U61(X1,X2,X3)) -> mark#(X1) p15: mark#(U62(X1,X2,X3)) -> mark#(X1) p16: mark#(U63(X1,X2,X3)) -> mark#(X1) p17: mark#(U64(X1,X2,X3)) -> mark#(X1) p18: mark#(plus(X1,X2)) -> mark#(X1) p19: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(U64(X1,X2,X3)) -> mark#(X1) p5: mark#(U63(X1,X2,X3)) -> mark#(X1) p6: mark#(U62(X1,X2,X3)) -> mark#(X1) p7: mark#(U61(X1,X2,X3)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U51(X1,X2)) -> mark#(X1) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U32(X)) -> mark#(X) p12: mark#(U23(X)) -> mark#(X) p13: mark#(U22(X1,X2)) -> mark#(X1) p14: mark#(U21(X1,X2)) -> mark#(X1) p15: mark#(U16(X)) -> mark#(X) p16: mark#(U15(X1,X2)) -> mark#(X1) p17: mark#(U14(X1,X2,X3)) -> mark#(X1) p18: mark#(U13(X1,X2,X3)) -> mark#(X1) p19: mark#(U12(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (2,2) s_A(x1) = ((1,0),(1,1)) x1 + (3,3) plus_A(x1,x2) = x1 + x2 + (3,1) U64_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + (3,3) U63_A(x1,x2,x3) = x1 + x3 + (1,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + (3,1) U61_A(x1,x2,x3) = x1 + x2 + (1,1) U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (3,3) U51_A(x1,x2) = x1 + x2 + (1,1) U41_A(x1) = ((1,0),(1,1)) x1 + (3,3) U32_A(x1) = ((1,0),(1,0)) x1 + (3,3) U23_A(x1) = ((1,0),(1,1)) x1 + (3,1) U22_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,1) U21_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,1) U16_A(x1) = ((1,0),(0,0)) x1 + (1,1) U15_A(x1,x2) = x1 + x2 + (3,1) U14_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + (3,3) U13_A(x1,x2,x3) = x1 + x3 + (1,1) U12_A(x1,x2,x3) = ((1,0),(0,0)) x1 + x3 + (3,1) precedence: mark# = U32 > U22 > U16 = U14 > U23 > U21 > U62 = U61 = U52 = U51 = U41 = U15 > s = U64 = U63 = U13 = U12 > plus partial status: pi(mark#) = [] pi(s) = [] pi(plus) = [] pi(U64) = [2] pi(U63) = [1] pi(U62) = [] pi(U61) = [2] pi(U52) = [2] pi(U51) = [2] pi(U41) = [1] pi(U32) = [] pi(U23) = [1] pi(U22) = [] pi(U21) = [] pi(U16) = [] pi(U15) = [2] pi(U14) = [] pi(U13) = [3] pi(U12) = [3] The next rules are strictly ordered: p11 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(U64(X1,X2,X3)) -> mark#(X1) p5: mark#(U63(X1,X2,X3)) -> mark#(X1) p6: mark#(U62(X1,X2,X3)) -> mark#(X1) p7: mark#(U61(X1,X2,X3)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U51(X1,X2)) -> mark#(X1) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U23(X)) -> mark#(X) p12: mark#(U22(X1,X2)) -> mark#(X1) p13: mark#(U21(X1,X2)) -> mark#(X1) p14: mark#(U16(X)) -> mark#(X) p15: mark#(U15(X1,X2)) -> mark#(X1) p16: mark#(U14(X1,X2,X3)) -> mark#(X1) p17: mark#(U13(X1,X2,X3)) -> mark#(X1) p18: mark#(U12(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U12(X1,X2,X3)) -> mark#(X1) p3: mark#(U13(X1,X2,X3)) -> mark#(X1) p4: mark#(U14(X1,X2,X3)) -> mark#(X1) p5: mark#(U15(X1,X2)) -> mark#(X1) p6: mark#(U16(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> mark#(X1) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U51(X1,X2)) -> mark#(X1) p12: mark#(U52(X1,X2)) -> mark#(X1) p13: mark#(U61(X1,X2,X3)) -> mark#(X1) p14: mark#(U62(X1,X2,X3)) -> mark#(X1) p15: mark#(U63(X1,X2,X3)) -> mark#(X1) p16: mark#(U64(X1,X2,X3)) -> mark#(X1) p17: mark#(plus(X1,X2)) -> mark#(X1) p18: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) s_A(x1) = ((1,0),(1,1)) x1 + (2,1) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x3 + (2,3) U14_A(x1,x2,x3) = x1 + x3 + (2,1) U15_A(x1,x2) = x1 + (2,1) U16_A(x1) = ((1,0),(1,1)) x1 + (2,1) U21_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,1) U22_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U23_A(x1) = x1 + (2,1) U41_A(x1) = x1 + (2,1) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U52_A(x1,x2) = x1 + x2 + (2,1) U61_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U62_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U63_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U64_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,1) precedence: mark# = U52 = U61 = U62 = plus > U51 > U41 > s = U22 = U23 > U14 = U15 = U16 = U21 > U12 = U63 = U64 > U13 partial status: pi(mark#) = [1] pi(s) = [] pi(U12) = [3] pi(U13) = [] pi(U14) = [1, 3] pi(U15) = [1] pi(U16) = [1] pi(U21) = [1, 2] pi(U22) = [] pi(U23) = [1] pi(U41) = [1] pi(U51) = [1, 2] pi(U52) = [1] pi(U61) = [1, 3] pi(U62) = [1] pi(U63) = [1, 3] pi(U64) = [1, 3] pi(plus) = [2] The next rules are strictly ordered: p18 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U12(X1,X2,X3)) -> mark#(X1) p3: mark#(U13(X1,X2,X3)) -> mark#(X1) p4: mark#(U14(X1,X2,X3)) -> mark#(X1) p5: mark#(U15(X1,X2)) -> mark#(X1) p6: mark#(U16(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> mark#(X1) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U51(X1,X2)) -> mark#(X1) p12: mark#(U52(X1,X2)) -> mark#(X1) p13: mark#(U61(X1,X2,X3)) -> mark#(X1) p14: mark#(U62(X1,X2,X3)) -> mark#(X1) p15: mark#(U63(X1,X2,X3)) -> mark#(X1) p16: mark#(U64(X1,X2,X3)) -> mark#(X1) p17: mark#(plus(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(plus(X1,X2)) -> mark#(X1) p3: mark#(U64(X1,X2,X3)) -> mark#(X1) p4: mark#(U63(X1,X2,X3)) -> mark#(X1) p5: mark#(U62(X1,X2,X3)) -> mark#(X1) p6: mark#(U61(X1,X2,X3)) -> mark#(X1) p7: mark#(U52(X1,X2)) -> mark#(X1) p8: mark#(U51(X1,X2)) -> mark#(X1) p9: mark#(U41(X)) -> mark#(X) p10: mark#(U23(X)) -> mark#(X) p11: mark#(U22(X1,X2)) -> mark#(X1) p12: mark#(U21(X1,X2)) -> mark#(X1) p13: mark#(U16(X)) -> mark#(X) p14: mark#(U15(X1,X2)) -> mark#(X1) p15: mark#(U14(X1,X2,X3)) -> mark#(X1) p16: mark#(U13(X1,X2,X3)) -> mark#(X1) p17: mark#(U12(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,1)) x1 + (1,2) s_A(x1) = ((1,0),(1,1)) x1 + (2,3) plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U64_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + ((0,0),(1,0)) x3 + (2,3) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (2,3) U62_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U61_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U52_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (2,3) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U41_A(x1) = ((1,0),(1,1)) x1 + (2,1) U23_A(x1) = ((1,0),(1,1)) x1 + (2,3) U22_A(x1,x2) = x1 + x2 + (2,1) U21_A(x1,x2) = x1 + x2 + (2,1) U16_A(x1) = x1 + (2,1) U15_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,1) U14_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + (2,3) U12_A(x1,x2,x3) = x1 + x2 + x3 + (2,3) precedence: mark# = U41 = U22 > U16 > U62 = U23 > U21 = U14 > s = plus = U64 = U61 > U63 = U52 > U51 = U15 = U13 = U12 partial status: pi(mark#) = [1] pi(s) = [] pi(plus) = [] pi(U64) = [1] pi(U63) = [1, 3] pi(U62) = [1, 3] pi(U61) = [1, 3] pi(U52) = [1] pi(U51) = [1, 2] pi(U41) = [1] pi(U23) = [1] pi(U22) = [1, 2] pi(U21) = [2] pi(U16) = [1] pi(U15) = [1] pi(U14) = [] pi(U13) = [1] pi(U12) = [1, 3] 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: mark#(plus(X1,X2)) -> mark#(X1) p2: mark#(U64(X1,X2,X3)) -> mark#(X1) p3: mark#(U63(X1,X2,X3)) -> mark#(X1) p4: mark#(U62(X1,X2,X3)) -> mark#(X1) p5: mark#(U61(X1,X2,X3)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U41(X)) -> mark#(X) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U22(X1,X2)) -> mark#(X1) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U16(X)) -> mark#(X) p13: mark#(U15(X1,X2)) -> mark#(X1) p14: mark#(U14(X1,X2,X3)) -> mark#(X1) p15: mark#(U13(X1,X2,X3)) -> mark#(X1) p16: mark#(U12(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(plus(X1,X2)) -> mark#(X1) p2: mark#(U12(X1,X2,X3)) -> mark#(X1) p3: mark#(U13(X1,X2,X3)) -> mark#(X1) p4: mark#(U14(X1,X2,X3)) -> mark#(X1) p5: mark#(U15(X1,X2)) -> mark#(X1) p6: mark#(U16(X)) -> mark#(X) p7: mark#(U21(X1,X2)) -> mark#(X1) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U41(X)) -> mark#(X) p11: mark#(U51(X1,X2)) -> mark#(X1) p12: mark#(U52(X1,X2)) -> mark#(X1) p13: mark#(U61(X1,X2,X3)) -> mark#(X1) p14: mark#(U62(X1,X2,X3)) -> mark#(X1) p15: mark#(U63(X1,X2,X3)) -> mark#(X1) p16: mark#(U64(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + x3 + (2,3) U14_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U15_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U16_A(x1) = x1 + (2,1) U21_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U22_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U23_A(x1) = ((1,0),(1,1)) x1 + (2,3) U41_A(x1) = ((1,0),(1,1)) x1 + (2,1) U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U52_A(x1,x2) = x1 + x2 + (2,1) U61_A(x1,x2,x3) = x1 + x3 + (2,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U63_A(x1,x2,x3) = x1 + x2 + x3 + (2,3) U64_A(x1,x2,x3) = x1 + x2 + x3 + (2,3) precedence: mark# = U41 = U51 = U63 > U23 > U22 = U52 > U61 > plus = U12 = U13 = U14 = U15 = U16 = U21 = U62 = U64 partial status: pi(mark#) = [1] pi(plus) = [1, 2] pi(U12) = [1, 2] pi(U13) = [1, 3] pi(U14) = [1, 3] pi(U15) = [1, 2] pi(U16) = [1] pi(U21) = [1, 2] pi(U22) = [1] pi(U23) = [1] pi(U41) = [1] pi(U51) = [1] pi(U52) = [1, 2] pi(U61) = [1, 3] pi(U62) = [1] pi(U63) = [1] pi(U64) = [3] 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: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U13(X1,X2,X3)) -> mark#(X1) p3: mark#(U14(X1,X2,X3)) -> mark#(X1) p4: mark#(U15(X1,X2)) -> mark#(X1) p5: mark#(U16(X)) -> mark#(X) p6: mark#(U21(X1,X2)) -> mark#(X1) p7: mark#(U22(X1,X2)) -> mark#(X1) p8: mark#(U23(X)) -> mark#(X) p9: mark#(U41(X)) -> mark#(X) p10: mark#(U51(X1,X2)) -> mark#(X1) p11: mark#(U52(X1,X2)) -> mark#(X1) p12: mark#(U61(X1,X2,X3)) -> mark#(X1) p13: mark#(U62(X1,X2,X3)) -> mark#(X1) p14: mark#(U63(X1,X2,X3)) -> mark#(X1) p15: mark#(U64(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U64(X1,X2,X3)) -> mark#(X1) p3: mark#(U63(X1,X2,X3)) -> mark#(X1) p4: mark#(U62(X1,X2,X3)) -> mark#(X1) p5: mark#(U61(X1,X2,X3)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U41(X)) -> mark#(X) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U22(X1,X2)) -> mark#(X1) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U16(X)) -> mark#(X) p13: mark#(U15(X1,X2)) -> mark#(X1) p14: mark#(U14(X1,X2,X3)) -> mark#(X1) p15: mark#(U13(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (2,2) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (3,3) U64_A(x1,x2,x3) = x1 + x3 + (1,1) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (3,3) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (3,1) U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (3,3) U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (3,3) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (3,1) U41_A(x1) = x1 + (3,1) U23_A(x1) = x1 + (3,1) U22_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,1) U21_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,1) U16_A(x1) = x1 + (3,1) U15_A(x1,x2) = x1 + x2 + (1,1) U14_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (3,3) U13_A(x1,x2,x3) = ((1,0),(0,0)) x1 + x3 + (1,3) precedence: mark# > U16 > U22 > U21 > U23 > U12 = U62 = U61 = U52 = U41 > U15 > U64 = U63 = U51 = U14 = U13 partial status: pi(mark#) = [] pi(U12) = [1] pi(U64) = [] pi(U63) = [3] pi(U62) = [3] pi(U61) = [3] pi(U52) = [1] pi(U51) = [] pi(U41) = [1] pi(U23) = [1] pi(U22) = [] pi(U21) = [2] pi(U16) = [] pi(U15) = [] pi(U14) = [3] pi(U13) = [3] The next rules are strictly ordered: p14 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U64(X1,X2,X3)) -> mark#(X1) p3: mark#(U63(X1,X2,X3)) -> mark#(X1) p4: mark#(U62(X1,X2,X3)) -> mark#(X1) p5: mark#(U61(X1,X2,X3)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U41(X)) -> mark#(X) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U22(X1,X2)) -> mark#(X1) p11: mark#(U21(X1,X2)) -> mark#(X1) p12: mark#(U16(X)) -> mark#(X) p13: mark#(U15(X1,X2)) -> mark#(X1) p14: mark#(U13(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U13(X1,X2,X3)) -> mark#(X1) p3: mark#(U15(X1,X2)) -> mark#(X1) p4: mark#(U16(X)) -> mark#(X) p5: mark#(U21(X1,X2)) -> mark#(X1) p6: mark#(U22(X1,X2)) -> mark#(X1) p7: mark#(U23(X)) -> mark#(X) p8: mark#(U41(X)) -> mark#(X) p9: mark#(U51(X1,X2)) -> mark#(X1) p10: mark#(U52(X1,X2)) -> mark#(X1) p11: mark#(U61(X1,X2,X3)) -> mark#(X1) p12: mark#(U62(X1,X2,X3)) -> mark#(X1) p13: mark#(U63(X1,X2,X3)) -> mark#(X1) p14: mark#(U64(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,1) U15_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U16_A(x1) = ((1,0),(1,1)) x1 + (2,1) U21_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U22_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U23_A(x1) = ((1,0),(1,1)) x1 + (2,3) U41_A(x1) = x1 + (2,1) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,1) U61_A(x1,x2,x3) = x1 + x2 + x3 + (2,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + (2,1) U64_A(x1,x2,x3) = x1 + x3 + (2,3) precedence: mark# = U51 = U52 = U62 > U12 = U13 = U15 = U16 > U21 = U22 = U41 > U23 = U61 > U63 = U64 partial status: pi(mark#) = [1] pi(U12) = [1, 3] pi(U13) = [1, 3] pi(U15) = [1, 2] pi(U16) = [1] pi(U21) = [1, 2] pi(U22) = [1, 2] pi(U23) = [] pi(U41) = [1] pi(U51) = [1, 2] pi(U52) = [1, 2] pi(U61) = [1, 2] pi(U62) = [1, 3] pi(U63) = [2] pi(U64) = [1, 3] 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: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U13(X1,X2,X3)) -> mark#(X1) p3: mark#(U15(X1,X2)) -> mark#(X1) p4: mark#(U16(X)) -> mark#(X) p5: mark#(U22(X1,X2)) -> mark#(X1) p6: mark#(U23(X)) -> mark#(X) p7: mark#(U41(X)) -> mark#(X) p8: mark#(U51(X1,X2)) -> mark#(X1) p9: mark#(U52(X1,X2)) -> mark#(X1) p10: mark#(U61(X1,X2,X3)) -> mark#(X1) p11: mark#(U62(X1,X2,X3)) -> mark#(X1) p12: mark#(U63(X1,X2,X3)) -> mark#(X1) p13: mark#(U64(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U64(X1,X2,X3)) -> mark#(X1) p3: mark#(U63(X1,X2,X3)) -> mark#(X1) p4: mark#(U62(X1,X2,X3)) -> mark#(X1) p5: mark#(U61(X1,X2,X3)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U41(X)) -> mark#(X) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U22(X1,X2)) -> mark#(X1) p11: mark#(U16(X)) -> mark#(X) p12: mark#(U15(X1,X2)) -> mark#(X1) p13: mark#(U13(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + x3 + (2,3) U64_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,3) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,3) U52_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U51_A(x1,x2) = x1 + x2 + (2,1) U41_A(x1) = x1 + (2,1) U23_A(x1) = x1 + (2,1) U22_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,3) U16_A(x1) = x1 + (2,1) U15_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,0)) x1 + x2 + x3 + (2,1) precedence: U23 > U62 = U15 > U64 > U41 > U52 > U16 > U61 = U22 > U12 = U63 = U13 > mark# = U51 partial status: pi(mark#) = [1] pi(U12) = [1, 3] pi(U64) = [1, 2] pi(U63) = [1, 2] pi(U62) = [1, 3] pi(U61) = [1, 2] pi(U52) = [1, 2] pi(U51) = [1, 2] pi(U41) = [1] pi(U23) = [] pi(U22) = [1] pi(U16) = [1] pi(U15) = [1] pi(U13) = [3] The next rules are strictly ordered: p11 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U64(X1,X2,X3)) -> mark#(X1) p3: mark#(U63(X1,X2,X3)) -> mark#(X1) p4: mark#(U62(X1,X2,X3)) -> mark#(X1) p5: mark#(U61(X1,X2,X3)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U41(X)) -> mark#(X) p9: mark#(U23(X)) -> mark#(X) p10: mark#(U22(X1,X2)) -> mark#(X1) p11: mark#(U15(X1,X2)) -> mark#(X1) p12: mark#(U13(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U13(X1,X2,X3)) -> mark#(X1) p3: mark#(U15(X1,X2)) -> mark#(X1) p4: mark#(U22(X1,X2)) -> mark#(X1) p5: mark#(U23(X)) -> mark#(X) p6: mark#(U41(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U61(X1,X2,X3)) -> mark#(X1) p10: mark#(U62(X1,X2,X3)) -> mark#(X1) p11: mark#(U63(X1,X2,X3)) -> mark#(X1) p12: mark#(U64(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,1) U15_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U22_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U23_A(x1) = ((1,0),(1,1)) x1 + (2,3) U41_A(x1) = x1 + (2,3) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U52_A(x1,x2) = x1 + x2 + (2,1) U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + (2,1) U62_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,3) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (2,1) U64_A(x1,x2,x3) = ((1,0),(1,0)) x1 + x3 + (2,3) precedence: U61 > U12 = U15 = U52 > mark# = U22 = U23 = U41 = U62 = U63 > U13 = U51 = U64 partial status: pi(mark#) = [1] pi(U12) = [1, 3] pi(U13) = [1, 3] pi(U15) = [1, 2] pi(U22) = [1, 2] pi(U23) = [] pi(U41) = [1] pi(U51) = [1, 2] pi(U52) = [1, 2] pi(U61) = [1, 2] pi(U62) = [1, 3] pi(U63) = [1, 3] pi(U64) = [3] The next rules are strictly ordered: p12 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U13(X1,X2,X3)) -> mark#(X1) p3: mark#(U15(X1,X2)) -> mark#(X1) p4: mark#(U22(X1,X2)) -> mark#(X1) p5: mark#(U23(X)) -> mark#(X) p6: mark#(U41(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U61(X1,X2,X3)) -> mark#(X1) p10: mark#(U62(X1,X2,X3)) -> mark#(X1) p11: mark#(U63(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U63(X1,X2,X3)) -> mark#(X1) p3: mark#(U62(X1,X2,X3)) -> mark#(X1) p4: mark#(U61(X1,X2,X3)) -> mark#(X1) p5: mark#(U52(X1,X2)) -> mark#(X1) p6: mark#(U51(X1,X2)) -> mark#(X1) p7: mark#(U41(X)) -> mark#(X) p8: mark#(U23(X)) -> mark#(X) p9: mark#(U22(X1,X2)) -> mark#(X1) p10: mark#(U15(X1,X2)) -> mark#(X1) p11: mark#(U13(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + x3 + (2,3) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,3) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U61_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U52_A(x1,x2) = x1 + x2 + (2,1) U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U41_A(x1) = x1 + (2,1) U23_A(x1) = x1 + (2,1) U22_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,3) U15_A(x1,x2) = x1 + x2 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,0)) x1 + x2 + x3 + (2,3) precedence: U52 > mark# = U41 > U23 > U51 = U22 > U12 = U62 = U15 > U61 = U13 > U63 partial status: pi(mark#) = [1] pi(U12) = [1, 3] pi(U63) = [] pi(U62) = [1, 3] pi(U61) = [1, 3] pi(U52) = [1] pi(U51) = [1, 2] pi(U41) = [1] pi(U23) = [1] pi(U22) = [1, 2] pi(U15) = [2] pi(U13) = [3] The next rules are strictly ordered: p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U63(X1,X2,X3)) -> mark#(X1) p3: mark#(U62(X1,X2,X3)) -> mark#(X1) p4: mark#(U52(X1,X2)) -> mark#(X1) p5: mark#(U51(X1,X2)) -> mark#(X1) p6: mark#(U41(X)) -> mark#(X) p7: mark#(U23(X)) -> mark#(X) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U15(X1,X2)) -> mark#(X1) p10: mark#(U13(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U12(X1,X2,X3)) -> mark#(X1) p2: mark#(U13(X1,X2,X3)) -> mark#(X1) p3: mark#(U15(X1,X2)) -> mark#(X1) p4: mark#(U22(X1,X2)) -> mark#(X1) p5: mark#(U23(X)) -> mark#(X) p6: mark#(U41(X)) -> mark#(X) p7: mark#(U51(X1,X2)) -> mark#(X1) p8: mark#(U52(X1,X2)) -> mark#(X1) p9: mark#(U62(X1,X2,X3)) -> mark#(X1) p10: mark#(U63(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (1,2) U12_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (2,3) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (2,3) U15_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U22_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,1) U23_A(x1) = ((1,0),(1,1)) x1 + (2,1) U41_A(x1) = x1 + (2,1) U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + x3 + (2,3) U63_A(x1,x2,x3) = ((1,0),(0,0)) x1 + x2 + x3 + (2,1) precedence: mark# > U62 > U13 > U63 > U12 = U52 > U15 = U22 = U23 = U41 = U51 partial status: pi(mark#) = [] pi(U12) = [3] pi(U13) = [] pi(U15) = [2] pi(U22) = [2] pi(U23) = [1] pi(U41) = [1] pi(U51) = [1, 2] pi(U52) = [1] pi(U62) = [3] pi(U63) = [3] 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: mark#(U13(X1,X2,X3)) -> mark#(X1) p2: mark#(U15(X1,X2)) -> mark#(X1) p3: mark#(U22(X1,X2)) -> mark#(X1) p4: mark#(U23(X)) -> mark#(X) p5: mark#(U41(X)) -> mark#(X) p6: mark#(U51(X1,X2)) -> mark#(X1) p7: mark#(U52(X1,X2)) -> mark#(X1) p8: mark#(U62(X1,X2,X3)) -> mark#(X1) p9: mark#(U63(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U13(X1,X2,X3)) -> mark#(X1) p2: mark#(U63(X1,X2,X3)) -> mark#(X1) p3: mark#(U62(X1,X2,X3)) -> mark#(X1) p4: mark#(U52(X1,X2)) -> mark#(X1) p5: mark#(U51(X1,X2)) -> mark#(X1) p6: mark#(U41(X)) -> mark#(X) p7: mark#(U23(X)) -> mark#(X) p8: mark#(U22(X1,X2)) -> mark#(X1) p9: mark#(U15(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U13_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U63_A(x1,x2,x3) = x1 + x3 + (2,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x2 + ((1,0),(1,1)) x3 + (2,1) U52_A(x1,x2) = x1 + x2 + (2,1) U51_A(x1,x2) = x1 + x2 + (2,1) U41_A(x1) = x1 + (2,1) U23_A(x1) = ((1,0),(1,1)) x1 + (2,3) U22_A(x1,x2) = x1 + x2 + (2,3) U15_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (2,3) precedence: U22 > mark# = U41 = U23 > U63 > U52 = U15 > U13 > U62 > U51 partial status: pi(mark#) = [1] pi(U13) = [1, 3] pi(U63) = [] pi(U62) = [] pi(U52) = [1, 2] pi(U51) = [1] pi(U41) = [1] pi(U23) = [1] pi(U22) = [2] pi(U15) = [1, 2] 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: mark#(U63(X1,X2,X3)) -> mark#(X1) p2: mark#(U62(X1,X2,X3)) -> mark#(X1) p3: mark#(U52(X1,X2)) -> mark#(X1) p4: mark#(U51(X1,X2)) -> mark#(X1) p5: mark#(U41(X)) -> mark#(X) p6: mark#(U23(X)) -> mark#(X) p7: mark#(U22(X1,X2)) -> mark#(X1) p8: mark#(U15(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U63(X1,X2,X3)) -> mark#(X1) p2: mark#(U15(X1,X2)) -> mark#(X1) p3: mark#(U22(X1,X2)) -> mark#(X1) p4: mark#(U23(X)) -> mark#(X) p5: mark#(U41(X)) -> mark#(X) p6: mark#(U51(X1,X2)) -> mark#(X1) p7: mark#(U52(X1,X2)) -> mark#(X1) p8: mark#(U62(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U63_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,1) U15_A(x1,x2) = x1 + (2,3) U22_A(x1,x2) = x1 + x2 + (2,1) U23_A(x1) = x1 + (2,3) U41_A(x1) = x1 + (2,3) U51_A(x1,x2) = x1 + x2 + (2,3) U52_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (2,3) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + x3 + (2,3) precedence: U51 = U52 > U23 = U62 > U63 > U15 > U22 > U41 > mark# partial status: pi(mark#) = [1] pi(U63) = [] pi(U15) = [] pi(U22) = [] pi(U23) = [1] pi(U41) = [] pi(U51) = [] pi(U52) = [] pi(U62) = [1, 3] 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: mark#(U15(X1,X2)) -> mark#(X1) p2: mark#(U22(X1,X2)) -> mark#(X1) p3: mark#(U23(X)) -> mark#(X) p4: mark#(U41(X)) -> mark#(X) p5: mark#(U51(X1,X2)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) p7: mark#(U62(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U15(X1,X2)) -> mark#(X1) p2: mark#(U62(X1,X2,X3)) -> mark#(X1) p3: mark#(U52(X1,X2)) -> mark#(X1) p4: mark#(U51(X1,X2)) -> mark#(X1) p5: mark#(U41(X)) -> mark#(X) p6: mark#(U23(X)) -> mark#(X) p7: mark#(U22(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U15_A(x1,x2) = x1 + x2 + (2,1) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((1,0),(1,1)) x3 + (2,1) U52_A(x1,x2) = ((1,0),(1,1)) x1 + ((0,0),(1,0)) x2 + (2,3) U51_A(x1,x2) = x1 + x2 + (2,3) U41_A(x1) = ((1,0),(0,0)) x1 + (2,1) U23_A(x1) = ((1,0),(0,0)) x1 + (2,1) U22_A(x1,x2) = x1 + x2 + (2,3) precedence: U62 = U52 = U51 = U41 > mark# = U23 = U22 > U15 partial status: pi(mark#) = [1] pi(U15) = [] pi(U62) = [] pi(U52) = [] pi(U51) = [] pi(U41) = [] pi(U23) = [] pi(U22) = [2] 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: mark#(U62(X1,X2,X3)) -> mark#(X1) p2: mark#(U52(X1,X2)) -> mark#(X1) p3: mark#(U51(X1,X2)) -> mark#(X1) p4: mark#(U41(X)) -> mark#(X) p5: mark#(U23(X)) -> mark#(X) p6: mark#(U22(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U62(X1,X2,X3)) -> mark#(X1) p2: mark#(U22(X1,X2)) -> mark#(X1) p3: mark#(U23(X)) -> mark#(X) p4: mark#(U41(X)) -> mark#(X) p5: mark#(U51(X1,X2)) -> mark#(X1) p6: mark#(U52(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (2,2) U62_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (3,1) U22_A(x1,x2) = x1 + x2 + (1,1) U23_A(x1) = ((1,0),(0,0)) x1 + (3,3) U41_A(x1) = ((1,0),(0,0)) x1 + (3,1) U51_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (3,1) U52_A(x1,x2) = x1 + x2 + (3,3) precedence: U62 > U22 = U23 = U51 = U52 > U41 > mark# partial status: pi(mark#) = [1] pi(U62) = [] pi(U22) = [1, 2] pi(U23) = [] pi(U41) = [] pi(U51) = [2] pi(U52) = [1, 2] 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: mark#(U22(X1,X2)) -> mark#(X1) p2: mark#(U23(X)) -> mark#(X) p3: mark#(U41(X)) -> mark#(X) p4: mark#(U51(X1,X2)) -> mark#(X1) p5: mark#(U52(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U22(X1,X2)) -> mark#(X1) p2: mark#(U52(X1,X2)) -> mark#(X1) p3: mark#(U51(X1,X2)) -> mark#(X1) p4: mark#(U41(X)) -> mark#(X) p5: mark#(U23(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(0,0)) x1 U22_A(x1,x2) = ((1,0),(0,0)) x1 + (1,1) U52_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (1,1) U51_A(x1,x2) = x1 + x2 + (1,1) U41_A(x1) = ((1,0),(0,0)) x1 + (1,1) U23_A(x1) = ((1,0),(0,0)) x1 + (1,1) precedence: U23 > U52 = U41 > U22 > mark# = U51 partial status: pi(mark#) = [] pi(U22) = [] pi(U52) = [2] pi(U51) = [1, 2] pi(U41) = [] pi(U23) = [] 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: mark#(U52(X1,X2)) -> mark#(X1) p2: mark#(U51(X1,X2)) -> mark#(X1) p3: mark#(U41(X)) -> mark#(X) p4: mark#(U23(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U52(X1,X2)) -> mark#(X1) p2: mark#(U23(X)) -> mark#(X) p3: mark#(U41(X)) -> mark#(X) p4: mark#(U51(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 U52_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (1,1) U23_A(x1) = ((1,0),(1,1)) x1 + (1,1) U41_A(x1) = x1 + (1,1) U51_A(x1,x2) = x1 + x2 + (1,1) precedence: U52 > U23 > U41 > mark# = U51 partial status: pi(mark#) = [1] pi(U52) = [1, 2] pi(U23) = [] pi(U41) = [1] pi(U51) = [1, 2] 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: mark#(U23(X)) -> mark#(X) p2: mark#(U41(X)) -> mark#(X) p3: mark#(U51(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U23(X)) -> mark#(X) p2: mark#(U51(X1,X2)) -> mark#(X1) p3: mark#(U41(X)) -> mark#(X) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = x1 + (1,2) U23_A(x1) = x1 + (2,3) U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (2,1) U41_A(x1) = x1 + (2,3) precedence: mark# = U51 > U23 > U41 partial status: pi(mark#) = [1] pi(U23) = [1] pi(U51) = [1, 2] pi(U41) = [] 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: mark#(U23(X)) -> mark#(X) p2: mark#(U51(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U23(X)) -> mark#(X) p2: mark#(U51(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,0)) x1 + (1,2) U23_A(x1) = ((1,0),(0,0)) x1 + (2,1) U51_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (2,1) precedence: mark# = U23 = U51 partial status: pi(mark#) = [] pi(U23) = [] pi(U51) = [2] 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: mark#(U51(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U51(X1,X2)) -> mark#(X1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: mark#_A(x1) = ((1,0),(1,1)) x1 U51_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (1,1) precedence: mark# = U51 partial status: pi(mark#) = [1] pi(U51) = [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: a__U11#(tt(),V1,V2) -> a__U12#(a__isNatKind(V1),V1,V2) p2: a__U12#(tt(),V1,V2) -> a__U13#(a__isNatKind(V2),V1,V2) p3: a__U13#(tt(),V1,V2) -> a__U14#(a__isNatKind(V2),V1,V2) p4: a__U14#(tt(),V1,V2) -> a__isNat#(V1) p5: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p6: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) p7: a__U22#(tt(),V1) -> a__isNat#(V1) p8: a__isNat#(plus(V1,V2)) -> a__U11#(a__isNatKind(V1),V1,V2) p9: a__U14#(tt(),V1,V2) -> a__U15#(a__isNat(V1),V2) p10: a__U15#(tt(),V2) -> a__isNat#(V2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r19, r20, r21, r22, r23, r24, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U11#_A(x1,x2,x3) = ((0,0),(1,0)) x1 + x2 + ((1,0),(1,0)) x3 + (14,3) tt_A() = (11,0) a__U12#_A(x1,x2,x3) = x2 + ((1,0),(0,0)) x3 + (14,13) a__isNatKind_A(x1) = ((1,0),(1,0)) x1 + (7,15) a__U13#_A(x1,x2,x3) = x2 + ((1,0),(0,0)) x3 + (13,12) a__U14#_A(x1,x2,x3) = x2 + ((1,0),(0,0)) x3 + (12,11) a__isNat#_A(x1) = x1 + (9,9) s_A(x1) = ((1,0),(1,0)) x1 + (15,0) a__U21#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (13,1) a__U22#_A(x1,x2) = x2 + (12,10) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (6,2) a__U15#_A(x1,x2) = ((1,0),(0,0)) x2 + (10,10) a__isNat_A(x1) = ((0,0),(1,0)) x1 + (17,12) a__U16_A(x1) = (12,1) U16_A(x1) = (1,2) a__U15_A(x1,x2) = (13,2) U15_A(x1,x2) = (0,0) a__U14_A(x1,x2,x3) = (14,3) U14_A(x1,x2,x3) = (0,0) a__U13_A(x1,x2,x3) = (15,16) a__U23_A(x1) = (12,1) U13_A(x1,x2,x3) = ((0,0),(1,0)) x3 + (1,17) U23_A(x1) = (0,0) a__U12_A(x1,x2,x3) = (16,17) a__U22_A(x1,x2) = (13,2) a__U32_A(x1) = (12,1) U12_A(x1,x2,x3) = (0,0) U22_A(x1,x2) = (0,0) U32_A(x1) = (1,2) a__U11_A(x1,x2,x3) = ((0,0),(1,0)) x1 + (16,7) a__U21_A(x1,x2) = ((0,0),(1,0)) x1 + (14,5) a__U31_A(x1,x2) = ((0,0),(1,0)) x1 + (12,2) a__U41_A(x1) = ((0,0),(1,0)) x1 + (16,1) U11_A(x1,x2,x3) = (0,0) U21_A(x1,x2) = (0,0) U31_A(x1,x2) = (11,1) U41_A(x1) = (0,0) |0|_A() = (5,0) isNatKind_A(x1) = (1,16) isNat_A(x1) = (1,1) precedence: U32 > U14 = U12 > U23 > a__isNatKind = a__U32 = a__U31 > |0| > U13 = isNatKind > isNat > a__isNat = a__U12 = a__U11 > a__U14# = a__isNat# = a__U21# > a__U11# = a__U12# = a__U13# = plus > s = U11 > a__U15# = U16 = a__U23 > a__U13 > a__U15 = a__U14 > tt = a__U16 = a__U22 = U22 = a__U21 > a__U22# = U15 = a__U41 = U21 = U31 > U41 partial status: pi(a__U11#) = [] pi(tt) = [] pi(a__U12#) = [] pi(a__isNatKind) = [] pi(a__U13#) = [] pi(a__U14#) = [] pi(a__isNat#) = [] pi(s) = [] pi(a__U21#) = [] pi(a__U22#) = [] pi(plus) = [2] pi(a__U15#) = [] pi(a__isNat) = [] pi(a__U16) = [] pi(U16) = [] pi(a__U15) = [] pi(U15) = [] pi(a__U14) = [] pi(U14) = [] pi(a__U13) = [] pi(a__U23) = [] pi(U13) = [] pi(U23) = [] pi(a__U12) = [] pi(a__U22) = [] pi(a__U32) = [] pi(U12) = [] pi(U22) = [] pi(U32) = [] pi(a__U11) = [] pi(a__U21) = [] pi(a__U31) = [] pi(a__U41) = [] pi(U11) = [] pi(U21) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] pi(isNatKind) = [] pi(isNat) = [] 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: a__U11#(tt(),V1,V2) -> a__U12#(a__isNatKind(V1),V1,V2) p2: a__U12#(tt(),V1,V2) -> a__U13#(a__isNatKind(V2),V1,V2) p3: a__U14#(tt(),V1,V2) -> a__isNat#(V1) p4: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p5: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) p6: a__U22#(tt(),V1) -> a__isNat#(V1) p7: a__isNat#(plus(V1,V2)) -> a__U11#(a__isNatKind(V1),V1,V2) p8: a__U14#(tt(),V1,V2) -> a__U15#(a__isNat(V1),V2) p9: a__U15#(tt(),V2) -> a__isNat#(V2) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U22#(tt(),V1) -> a__isNat#(V1) p2: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p3: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of r10, r11, r12, r22, r23, r24, r53, r62, r63, r64 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__U22#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(1,1)) x2 + (3,4) tt_A() = (1,2) a__isNat#_A(x1) = ((1,0),(0,0)) x1 + (2,4) s_A(x1) = ((1,0),(1,1)) x1 + (6,10) a__U21#_A(x1,x2) = x2 + (4,0) a__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (5,3) a__U32_A(x1) = (2,1) U32_A(x1) = (0,0) a__U31_A(x1,x2) = (3,2) a__U41_A(x1) = ((1,0),(1,1)) x1 + (2,1) U31_A(x1,x2) = (0,0) U41_A(x1) = (0,0) |0|_A() = (2,3) plus_A(x1,x2) = (4,4) isNatKind_A(x1) = (0,0) precedence: tt = a__isNatKind = |0| > a__isNat# = a__U32 = U32 = a__U31 = plus > s > a__U21# > a__U22# = a__U41 = U41 = isNatKind > U31 partial status: pi(a__U22#) = [] pi(tt) = [] pi(a__isNat#) = [] pi(s) = [1] pi(a__U21#) = [2] pi(a__isNatKind) = [1] pi(a__U32) = [] pi(U32) = [] pi(a__U31) = [] pi(a__U41) = [1] pi(U31) = [] pi(U41) = [] pi(|0|) = [] pi(plus) = [] pi(isNatKind) = [] 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: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p2: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatKind#(plus(V1,V2)) -> a__U31#(a__isNatKind(V1),V2) p2: a__U31#(tt(),V2) -> a__isNatKind#(V2) p3: a__isNatKind#(s(V1)) -> a__isNatKind#(V1) p4: a__isNatKind#(plus(V1,V2)) -> a__isNatKind#(V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of r10, r11, r12, r22, r23, r24, r53, r62, r63, r64 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__isNatKind#_A(x1) = x1 + (2,2) plus_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (7,3) a__U31#_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (4,2) a__isNatKind_A(x1) = ((1,0),(1,1)) x1 + (4,6) tt_A() = (1,1) s_A(x1) = ((1,0),(1,1)) x1 + (7,7) a__U32_A(x1) = (2,2) U32_A(x1) = (0,0) a__U31_A(x1,x2) = ((1,0),(1,1)) x1 + (2,1) a__U41_A(x1) = ((1,0),(1,1)) x1 + (2,2) U31_A(x1,x2) = (0,0) U41_A(x1) = (1,1) |0|_A() = (2,2) isNatKind_A(x1) = (0,0) precedence: plus > a__U31# > a__isNatKind# > a__isNatKind > tt = s = U32 = a__U31 = U31 = |0| = isNatKind > U41 > a__U41 > a__U32 partial status: pi(a__isNatKind#) = [] pi(plus) = [] pi(a__U31#) = [] pi(a__isNatKind) = [1] pi(tt) = [] pi(s) = [1] pi(a__U32) = [] pi(U32) = [] pi(a__U31) = [] pi(a__U41) = [] pi(U31) = [] pi(U41) = [] pi(|0|) = [] pi(isNatKind) = [] 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: a__U31#(tt(),V2) -> a__isNatKind#(V2) p2: a__isNatKind#(s(V1)) -> a__isNatKind#(V1) p3: a__isNatKind#(plus(V1,V2)) -> a__isNatKind#(V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatKind#(s(V1)) -> a__isNatKind#(V1) p2: a__isNatKind#(plus(V1,V2)) -> a__isNatKind#(V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__isNatKind#_A(x1) = ((1,0),(0,0)) x1 + (2,2) s_A(x1) = ((1,0),(0,0)) x1 + (3,3) plus_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (1,1) precedence: a__isNatKind# = s > plus partial status: pi(a__isNatKind#) = [] pi(s) = [] pi(plus) = [] 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: a__isNatKind#(plus(V1,V2)) -> a__isNatKind#(V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatKind#(plus(V1,V2)) -> a__isNatKind#(V1) and R consists of: r1: a__U11(tt(),V1,V2) -> a__U12(a__isNatKind(V1),V1,V2) r2: a__U12(tt(),V1,V2) -> a__U13(a__isNatKind(V2),V1,V2) r3: a__U13(tt(),V1,V2) -> a__U14(a__isNatKind(V2),V1,V2) r4: a__U14(tt(),V1,V2) -> a__U15(a__isNat(V1),V2) r5: a__U15(tt(),V2) -> a__U16(a__isNat(V2)) r6: a__U16(tt()) -> tt() r7: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r8: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r9: a__U23(tt()) -> tt() r10: a__U31(tt(),V2) -> a__U32(a__isNatKind(V2)) r11: a__U32(tt()) -> tt() r12: a__U41(tt()) -> tt() r13: a__U51(tt(),N) -> a__U52(a__isNatKind(N),N) r14: a__U52(tt(),N) -> mark(N) r15: a__U61(tt(),M,N) -> a__U62(a__isNatKind(M),M,N) r16: a__U62(tt(),M,N) -> a__U63(a__isNat(N),M,N) r17: a__U63(tt(),M,N) -> a__U64(a__isNatKind(N),M,N) r18: a__U64(tt(),M,N) -> s(a__plus(mark(N),mark(M))) r19: a__isNat(|0|()) -> tt() r20: a__isNat(plus(V1,V2)) -> a__U11(a__isNatKind(V1),V1,V2) r21: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r22: a__isNatKind(|0|()) -> tt() r23: a__isNatKind(plus(V1,V2)) -> a__U31(a__isNatKind(V1),V2) r24: a__isNatKind(s(V1)) -> a__U41(a__isNatKind(V1)) r25: a__plus(N,|0|()) -> a__U51(a__isNat(N),N) r26: a__plus(N,s(M)) -> a__U61(a__isNat(M),M,N) r27: mark(U11(X1,X2,X3)) -> a__U11(mark(X1),X2,X3) r28: mark(U12(X1,X2,X3)) -> a__U12(mark(X1),X2,X3) r29: mark(isNatKind(X)) -> a__isNatKind(X) r30: mark(U13(X1,X2,X3)) -> a__U13(mark(X1),X2,X3) r31: mark(U14(X1,X2,X3)) -> a__U14(mark(X1),X2,X3) r32: mark(U15(X1,X2)) -> a__U15(mark(X1),X2) r33: mark(isNat(X)) -> a__isNat(X) r34: mark(U16(X)) -> a__U16(mark(X)) r35: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r36: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r37: mark(U23(X)) -> a__U23(mark(X)) r38: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r39: mark(U32(X)) -> a__U32(mark(X)) r40: mark(U41(X)) -> a__U41(mark(X)) r41: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r42: mark(U52(X1,X2)) -> a__U52(mark(X1),X2) r43: mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) r44: mark(U62(X1,X2,X3)) -> a__U62(mark(X1),X2,X3) r45: mark(U63(X1,X2,X3)) -> a__U63(mark(X1),X2,X3) r46: mark(U64(X1,X2,X3)) -> a__U64(mark(X1),X2,X3) r47: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) r48: mark(tt()) -> tt() r49: mark(s(X)) -> s(mark(X)) r50: mark(|0|()) -> |0|() r51: a__U11(X1,X2,X3) -> U11(X1,X2,X3) r52: a__U12(X1,X2,X3) -> U12(X1,X2,X3) r53: a__isNatKind(X) -> isNatKind(X) r54: a__U13(X1,X2,X3) -> U13(X1,X2,X3) r55: a__U14(X1,X2,X3) -> U14(X1,X2,X3) r56: a__U15(X1,X2) -> U15(X1,X2) r57: a__isNat(X) -> isNat(X) r58: a__U16(X) -> U16(X) r59: a__U21(X1,X2) -> U21(X1,X2) r60: a__U22(X1,X2) -> U22(X1,X2) r61: a__U23(X) -> U23(X) r62: a__U31(X1,X2) -> U31(X1,X2) r63: a__U32(X) -> U32(X) r64: a__U41(X) -> U41(X) r65: a__U51(X1,X2) -> U51(X1,X2) r66: a__U52(X1,X2) -> U52(X1,X2) r67: a__U61(X1,X2,X3) -> U61(X1,X2,X3) r68: a__U62(X1,X2,X3) -> U62(X1,X2,X3) r69: a__U63(X1,X2,X3) -> U63(X1,X2,X3) r70: a__U64(X1,X2,X3) -> U64(X1,X2,X3) r71: a__plus(X1,X2) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: a__isNatKind#_A(x1) = ((1,0),(1,1)) x1 plus_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (1,1) precedence: a__isNatKind# > plus partial status: pi(a__isNatKind#) = [1] pi(plus) = [1, 2] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.