YES We show the termination of the TRS R: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) active(U15(tt(),V2)) -> mark(U16(isNat(V2))) active(U16(tt())) -> mark(tt()) active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) active(U22(tt(),V1)) -> mark(U23(isNat(V1))) active(U23(tt())) -> mark(tt()) active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) active(U32(tt())) -> mark(tt()) active(U41(tt())) -> mark(tt()) active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) active(U52(tt(),N)) -> mark(N) active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) active(U64(tt(),M,N)) -> mark(s(plus(N,M))) active(isNat(|0|())) -> mark(tt()) active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) active(isNatKind(|0|())) -> mark(tt()) active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) active(plus(N,|0|())) -> mark(U51(isNat(N),N)) active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) mark(tt()) -> active(tt()) mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) mark(isNat(X)) -> active(isNat(X)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) mark(U32(X)) -> active(U32(mark(X))) mark(U41(X)) -> active(U41(mark(X))) mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) mark(s(X)) -> active(s(mark(X))) mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) mark(|0|()) -> active(|0|()) U11(mark(X1),X2,X3) -> U11(X1,X2,X3) U11(X1,mark(X2),X3) -> U11(X1,X2,X3) U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) U11(active(X1),X2,X3) -> U11(X1,X2,X3) U11(X1,active(X2),X3) -> U11(X1,X2,X3) U11(X1,X2,active(X3)) -> U11(X1,X2,X3) U12(mark(X1),X2,X3) -> U12(X1,X2,X3) U12(X1,mark(X2),X3) -> U12(X1,X2,X3) U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) U12(active(X1),X2,X3) -> U12(X1,X2,X3) U12(X1,active(X2),X3) -> U12(X1,X2,X3) U12(X1,X2,active(X3)) -> U12(X1,X2,X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U13(mark(X1),X2,X3) -> U13(X1,X2,X3) U13(X1,mark(X2),X3) -> U13(X1,X2,X3) U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) U13(active(X1),X2,X3) -> U13(X1,X2,X3) U13(X1,active(X2),X3) -> U13(X1,X2,X3) U13(X1,X2,active(X3)) -> U13(X1,X2,X3) U14(mark(X1),X2,X3) -> U14(X1,X2,X3) U14(X1,mark(X2),X3) -> U14(X1,X2,X3) U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) U14(active(X1),X2,X3) -> U14(X1,X2,X3) U14(X1,active(X2),X3) -> U14(X1,X2,X3) U14(X1,X2,active(X3)) -> U14(X1,X2,X3) U15(mark(X1),X2) -> U15(X1,X2) U15(X1,mark(X2)) -> U15(X1,X2) U15(active(X1),X2) -> U15(X1,X2) U15(X1,active(X2)) -> U15(X1,X2) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1),X2) -> U21(X1,X2) U21(X1,mark(X2)) -> U21(X1,X2) U21(active(X1),X2) -> U21(X1,X2) U21(X1,active(X2)) -> U21(X1,X2) U22(mark(X1),X2) -> U22(X1,X2) U22(X1,mark(X2)) -> U22(X1,X2) U22(active(X1),X2) -> U22(X1,X2) U22(X1,active(X2)) -> U22(X1,X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1),X2) -> U31(X1,X2) U31(X1,mark(X2)) -> U31(X1,X2) U31(active(X1),X2) -> U31(X1,X2) U31(X1,active(X2)) -> U31(X1,X2) U32(mark(X)) -> U32(X) U32(active(X)) -> U32(X) U41(mark(X)) -> U41(X) U41(active(X)) -> U41(X) U51(mark(X1),X2) -> U51(X1,X2) U51(X1,mark(X2)) -> U51(X1,X2) U51(active(X1),X2) -> U51(X1,X2) U51(X1,active(X2)) -> U51(X1,X2) U52(mark(X1),X2) -> U52(X1,X2) U52(X1,mark(X2)) -> U52(X1,X2) U52(active(X1),X2) -> U52(X1,X2) U52(X1,active(X2)) -> U52(X1,X2) U61(mark(X1),X2,X3) -> U61(X1,X2,X3) U61(X1,mark(X2),X3) -> U61(X1,X2,X3) U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) U61(active(X1),X2,X3) -> U61(X1,X2,X3) U61(X1,active(X2),X3) -> U61(X1,X2,X3) U61(X1,X2,active(X3)) -> U61(X1,X2,X3) U62(mark(X1),X2,X3) -> U62(X1,X2,X3) U62(X1,mark(X2),X3) -> U62(X1,X2,X3) U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) U62(active(X1),X2,X3) -> U62(X1,X2,X3) U62(X1,active(X2),X3) -> U62(X1,X2,X3) U62(X1,X2,active(X3)) -> U62(X1,X2,X3) U63(mark(X1),X2,X3) -> U63(X1,X2,X3) U63(X1,mark(X2),X3) -> U63(X1,X2,X3) U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) U63(active(X1),X2,X3) -> U63(X1,X2,X3) U63(X1,active(X2),X3) -> U63(X1,X2,X3) U63(X1,X2,active(X3)) -> U63(X1,X2,X3) U64(mark(X1),X2,X3) -> U64(X1,X2,X3) U64(X1,mark(X2),X3) -> U64(X1,X2,X3) U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) U64(active(X1),X2,X3) -> U64(X1,X2,X3) U64(X1,active(X2),X3) -> U64(X1,X2,X3) U64(X1,X2,active(X3)) -> U64(X1,X2,X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) plus(mark(X1),X2) -> plus(X1,X2) plus(X1,mark(X2)) -> plus(X1,X2) plus(active(X1),X2) -> plus(X1,X2) plus(X1,active(X2)) -> plus(X1,X2) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: active#(U11(tt(),V1,V2)) -> U12#(isNatKind(V1),V1,V2) p3: active#(U11(tt(),V1,V2)) -> isNatKind#(V1) p4: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p5: active#(U12(tt(),V1,V2)) -> U13#(isNatKind(V2),V1,V2) p6: active#(U12(tt(),V1,V2)) -> isNatKind#(V2) p7: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p8: active#(U13(tt(),V1,V2)) -> U14#(isNatKind(V2),V1,V2) p9: active#(U13(tt(),V1,V2)) -> isNatKind#(V2) p10: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p11: active#(U14(tt(),V1,V2)) -> U15#(isNat(V1),V2) p12: active#(U14(tt(),V1,V2)) -> isNat#(V1) p13: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p14: active#(U15(tt(),V2)) -> U16#(isNat(V2)) p15: active#(U15(tt(),V2)) -> isNat#(V2) p16: active#(U16(tt())) -> mark#(tt()) p17: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p18: active#(U21(tt(),V1)) -> U22#(isNatKind(V1),V1) p19: active#(U21(tt(),V1)) -> isNatKind#(V1) p20: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p21: active#(U22(tt(),V1)) -> U23#(isNat(V1)) p22: active#(U22(tt(),V1)) -> isNat#(V1) p23: active#(U23(tt())) -> mark#(tt()) p24: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p25: active#(U31(tt(),V2)) -> U32#(isNatKind(V2)) p26: active#(U31(tt(),V2)) -> isNatKind#(V2) p27: active#(U32(tt())) -> mark#(tt()) p28: active#(U41(tt())) -> mark#(tt()) p29: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p30: active#(U51(tt(),N)) -> U52#(isNatKind(N),N) p31: active#(U51(tt(),N)) -> isNatKind#(N) p32: active#(U52(tt(),N)) -> mark#(N) p33: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p34: active#(U61(tt(),M,N)) -> U62#(isNatKind(M),M,N) p35: active#(U61(tt(),M,N)) -> isNatKind#(M) p36: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p37: active#(U62(tt(),M,N)) -> U63#(isNat(N),M,N) p38: active#(U62(tt(),M,N)) -> isNat#(N) p39: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p40: active#(U63(tt(),M,N)) -> U64#(isNatKind(N),M,N) p41: active#(U63(tt(),M,N)) -> isNatKind#(N) p42: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M))) p43: active#(U64(tt(),M,N)) -> s#(plus(N,M)) p44: active#(U64(tt(),M,N)) -> plus#(N,M) p45: active#(isNat(|0|())) -> mark#(tt()) p46: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p47: active#(isNat(plus(V1,V2))) -> U11#(isNatKind(V1),V1,V2) p48: active#(isNat(plus(V1,V2))) -> isNatKind#(V1) p49: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p50: active#(isNat(s(V1))) -> U21#(isNatKind(V1),V1) p51: active#(isNat(s(V1))) -> isNatKind#(V1) p52: active#(isNatKind(|0|())) -> mark#(tt()) p53: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p54: active#(isNatKind(plus(V1,V2))) -> U31#(isNatKind(V1),V2) p55: active#(isNatKind(plus(V1,V2))) -> isNatKind#(V1) p56: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p57: active#(isNatKind(s(V1))) -> U41#(isNatKind(V1)) p58: active#(isNatKind(s(V1))) -> isNatKind#(V1) p59: active#(plus(N,|0|())) -> mark#(U51(isNat(N),N)) p60: active#(plus(N,|0|())) -> U51#(isNat(N),N) p61: active#(plus(N,|0|())) -> isNat#(N) p62: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p63: active#(plus(N,s(M))) -> U61#(isNat(M),M,N) p64: active#(plus(N,s(M))) -> isNat#(M) p65: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p66: mark#(U11(X1,X2,X3)) -> U11#(mark(X1),X2,X3) p67: mark#(U11(X1,X2,X3)) -> mark#(X1) p68: mark#(tt()) -> active#(tt()) p69: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p70: mark#(U12(X1,X2,X3)) -> U12#(mark(X1),X2,X3) p71: mark#(U12(X1,X2,X3)) -> mark#(X1) p72: mark#(isNatKind(X)) -> active#(isNatKind(X)) p73: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p74: mark#(U13(X1,X2,X3)) -> U13#(mark(X1),X2,X3) p75: mark#(U13(X1,X2,X3)) -> mark#(X1) p76: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p77: mark#(U14(X1,X2,X3)) -> U14#(mark(X1),X2,X3) p78: mark#(U14(X1,X2,X3)) -> mark#(X1) p79: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p80: mark#(U15(X1,X2)) -> U15#(mark(X1),X2) p81: mark#(U15(X1,X2)) -> mark#(X1) p82: mark#(isNat(X)) -> active#(isNat(X)) p83: mark#(U16(X)) -> active#(U16(mark(X))) p84: mark#(U16(X)) -> U16#(mark(X)) p85: mark#(U16(X)) -> mark#(X) p86: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p87: mark#(U21(X1,X2)) -> U21#(mark(X1),X2) p88: mark#(U21(X1,X2)) -> mark#(X1) p89: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p90: mark#(U22(X1,X2)) -> U22#(mark(X1),X2) p91: mark#(U22(X1,X2)) -> mark#(X1) p92: mark#(U23(X)) -> active#(U23(mark(X))) p93: mark#(U23(X)) -> U23#(mark(X)) p94: mark#(U23(X)) -> mark#(X) p95: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p96: mark#(U31(X1,X2)) -> U31#(mark(X1),X2) p97: mark#(U31(X1,X2)) -> mark#(X1) p98: mark#(U32(X)) -> active#(U32(mark(X))) p99: mark#(U32(X)) -> U32#(mark(X)) p100: mark#(U32(X)) -> mark#(X) p101: mark#(U41(X)) -> active#(U41(mark(X))) p102: mark#(U41(X)) -> U41#(mark(X)) p103: mark#(U41(X)) -> mark#(X) p104: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p105: mark#(U51(X1,X2)) -> U51#(mark(X1),X2) p106: mark#(U51(X1,X2)) -> mark#(X1) p107: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p108: mark#(U52(X1,X2)) -> U52#(mark(X1),X2) p109: mark#(U52(X1,X2)) -> mark#(X1) p110: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p111: mark#(U61(X1,X2,X3)) -> U61#(mark(X1),X2,X3) p112: mark#(U61(X1,X2,X3)) -> mark#(X1) p113: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p114: mark#(U62(X1,X2,X3)) -> U62#(mark(X1),X2,X3) p115: mark#(U62(X1,X2,X3)) -> mark#(X1) p116: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p117: mark#(U63(X1,X2,X3)) -> U63#(mark(X1),X2,X3) p118: mark#(U63(X1,X2,X3)) -> mark#(X1) p119: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p120: mark#(U64(X1,X2,X3)) -> U64#(mark(X1),X2,X3) p121: mark#(U64(X1,X2,X3)) -> mark#(X1) p122: mark#(s(X)) -> active#(s(mark(X))) p123: mark#(s(X)) -> s#(mark(X)) p124: mark#(s(X)) -> mark#(X) p125: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p126: mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2)) p127: mark#(plus(X1,X2)) -> mark#(X1) p128: mark#(plus(X1,X2)) -> mark#(X2) p129: mark#(|0|()) -> active#(|0|()) p130: U11#(mark(X1),X2,X3) -> U11#(X1,X2,X3) p131: U11#(X1,mark(X2),X3) -> U11#(X1,X2,X3) p132: U11#(X1,X2,mark(X3)) -> U11#(X1,X2,X3) p133: U11#(active(X1),X2,X3) -> U11#(X1,X2,X3) p134: U11#(X1,active(X2),X3) -> U11#(X1,X2,X3) p135: U11#(X1,X2,active(X3)) -> U11#(X1,X2,X3) p136: U12#(mark(X1),X2,X3) -> U12#(X1,X2,X3) p137: U12#(X1,mark(X2),X3) -> U12#(X1,X2,X3) p138: U12#(X1,X2,mark(X3)) -> U12#(X1,X2,X3) p139: U12#(active(X1),X2,X3) -> U12#(X1,X2,X3) p140: U12#(X1,active(X2),X3) -> U12#(X1,X2,X3) p141: U12#(X1,X2,active(X3)) -> U12#(X1,X2,X3) p142: isNatKind#(mark(X)) -> isNatKind#(X) p143: isNatKind#(active(X)) -> isNatKind#(X) p144: U13#(mark(X1),X2,X3) -> U13#(X1,X2,X3) p145: U13#(X1,mark(X2),X3) -> U13#(X1,X2,X3) p146: U13#(X1,X2,mark(X3)) -> U13#(X1,X2,X3) p147: U13#(active(X1),X2,X3) -> U13#(X1,X2,X3) p148: U13#(X1,active(X2),X3) -> U13#(X1,X2,X3) p149: U13#(X1,X2,active(X3)) -> U13#(X1,X2,X3) p150: U14#(mark(X1),X2,X3) -> U14#(X1,X2,X3) p151: U14#(X1,mark(X2),X3) -> U14#(X1,X2,X3) p152: U14#(X1,X2,mark(X3)) -> U14#(X1,X2,X3) p153: U14#(active(X1),X2,X3) -> U14#(X1,X2,X3) p154: U14#(X1,active(X2),X3) -> U14#(X1,X2,X3) p155: U14#(X1,X2,active(X3)) -> U14#(X1,X2,X3) p156: U15#(mark(X1),X2) -> U15#(X1,X2) p157: U15#(X1,mark(X2)) -> U15#(X1,X2) p158: U15#(active(X1),X2) -> U15#(X1,X2) p159: U15#(X1,active(X2)) -> U15#(X1,X2) p160: isNat#(mark(X)) -> isNat#(X) p161: isNat#(active(X)) -> isNat#(X) p162: U16#(mark(X)) -> U16#(X) p163: U16#(active(X)) -> U16#(X) p164: U21#(mark(X1),X2) -> U21#(X1,X2) p165: U21#(X1,mark(X2)) -> U21#(X1,X2) p166: U21#(active(X1),X2) -> U21#(X1,X2) p167: U21#(X1,active(X2)) -> U21#(X1,X2) p168: U22#(mark(X1),X2) -> U22#(X1,X2) p169: U22#(X1,mark(X2)) -> U22#(X1,X2) p170: U22#(active(X1),X2) -> U22#(X1,X2) p171: U22#(X1,active(X2)) -> U22#(X1,X2) p172: U23#(mark(X)) -> U23#(X) p173: U23#(active(X)) -> U23#(X) p174: U31#(mark(X1),X2) -> U31#(X1,X2) p175: U31#(X1,mark(X2)) -> U31#(X1,X2) p176: U31#(active(X1),X2) -> U31#(X1,X2) p177: U31#(X1,active(X2)) -> U31#(X1,X2) p178: U32#(mark(X)) -> U32#(X) p179: U32#(active(X)) -> U32#(X) p180: U41#(mark(X)) -> U41#(X) p181: U41#(active(X)) -> U41#(X) p182: U51#(mark(X1),X2) -> U51#(X1,X2) p183: U51#(X1,mark(X2)) -> U51#(X1,X2) p184: U51#(active(X1),X2) -> U51#(X1,X2) p185: U51#(X1,active(X2)) -> U51#(X1,X2) p186: U52#(mark(X1),X2) -> U52#(X1,X2) p187: U52#(X1,mark(X2)) -> U52#(X1,X2) p188: U52#(active(X1),X2) -> U52#(X1,X2) p189: U52#(X1,active(X2)) -> U52#(X1,X2) p190: U61#(mark(X1),X2,X3) -> U61#(X1,X2,X3) p191: U61#(X1,mark(X2),X3) -> U61#(X1,X2,X3) p192: U61#(X1,X2,mark(X3)) -> U61#(X1,X2,X3) p193: U61#(active(X1),X2,X3) -> U61#(X1,X2,X3) p194: U61#(X1,active(X2),X3) -> U61#(X1,X2,X3) p195: U61#(X1,X2,active(X3)) -> U61#(X1,X2,X3) p196: U62#(mark(X1),X2,X3) -> U62#(X1,X2,X3) p197: U62#(X1,mark(X2),X3) -> U62#(X1,X2,X3) p198: U62#(X1,X2,mark(X3)) -> U62#(X1,X2,X3) p199: U62#(active(X1),X2,X3) -> U62#(X1,X2,X3) p200: U62#(X1,active(X2),X3) -> U62#(X1,X2,X3) p201: U62#(X1,X2,active(X3)) -> U62#(X1,X2,X3) p202: U63#(mark(X1),X2,X3) -> U63#(X1,X2,X3) p203: U63#(X1,mark(X2),X3) -> U63#(X1,X2,X3) p204: U63#(X1,X2,mark(X3)) -> U63#(X1,X2,X3) p205: U63#(active(X1),X2,X3) -> U63#(X1,X2,X3) p206: U63#(X1,active(X2),X3) -> U63#(X1,X2,X3) p207: U63#(X1,X2,active(X3)) -> U63#(X1,X2,X3) p208: U64#(mark(X1),X2,X3) -> U64#(X1,X2,X3) p209: U64#(X1,mark(X2),X3) -> U64#(X1,X2,X3) p210: U64#(X1,X2,mark(X3)) -> U64#(X1,X2,X3) p211: U64#(active(X1),X2,X3) -> U64#(X1,X2,X3) p212: U64#(X1,active(X2),X3) -> U64#(X1,X2,X3) p213: U64#(X1,X2,active(X3)) -> U64#(X1,X2,X3) p214: s#(mark(X)) -> s#(X) p215: s#(active(X)) -> s#(X) p216: plus#(mark(X1),X2) -> plus#(X1,X2) p217: plus#(X1,mark(X2)) -> plus#(X1,X2) p218: plus#(active(X1),X2) -> plus#(X1,X2) p219: plus#(X1,active(X2)) -> plus#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The estimated dependency graph contains the following SCCs: {p1, p4, p7, p10, p13, p17, p20, p24, p29, p32, p33, p36, p39, p42, p46, p49, p53, p56, p59, p62, p65, p67, p69, p71, p72, p73, p75, p76, p78, p79, p81, p82, p83, p85, p86, p88, p89, p91, p92, p94, p95, p97, p98, p100, p101, p103, p104, p106, p107, p109, p110, p112, p113, p115, p116, p118, p119, p121, p122, p124, p125, p127, p128} {p136, p137, p138, p139, p140, p141} {p142, p143} {p144, p145, p146, p147, p148, p149} {p150, p151, p152, p153, p154, p155} {p156, p157, p158, p159} {p160, p161} {p162, p163} {p168, p169, p170, p171} {p172, p173} {p178, p179} {p186, p187, p188, p189} {p196, p197, p198, p199, p200, p201} {p202, p203, p204, p205, p206, p207} {p208, p209, p210, p211, p212, p213} {p214, p215} {p216, p217, p218, p219} {p130, p131, p132, p133, p134, p135} {p164, p165, p166, p167} {p174, p175, p176, p177} {p180, p181} {p182, p183, p184, p185} {p190, p191, p192, p193, p194, p195} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p5: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p6: mark#(s(X)) -> mark#(X) p7: mark#(s(X)) -> active#(s(mark(X))) p8: active#(plus(N,|0|())) -> mark#(U51(isNat(N),N)) p9: mark#(U64(X1,X2,X3)) -> mark#(X1) p10: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p11: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p12: mark#(U63(X1,X2,X3)) -> mark#(X1) p13: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p14: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p15: mark#(U62(X1,X2,X3)) -> mark#(X1) p16: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p17: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p18: mark#(U61(X1,X2,X3)) -> mark#(X1) p19: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p20: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p21: mark#(U52(X1,X2)) -> mark#(X1) p22: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p23: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M))) p24: mark#(U51(X1,X2)) -> mark#(X1) p25: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p26: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p27: mark#(U41(X)) -> mark#(X) p28: mark#(U41(X)) -> active#(U41(mark(X))) p29: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p30: mark#(U32(X)) -> mark#(X) p31: mark#(U32(X)) -> active#(U32(mark(X))) p32: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p33: mark#(U31(X1,X2)) -> mark#(X1) p34: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p35: active#(U52(tt(),N)) -> mark#(N) p36: mark#(U23(X)) -> mark#(X) p37: mark#(U23(X)) -> active#(U23(mark(X))) p38: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p39: mark#(U22(X1,X2)) -> mark#(X1) p40: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p41: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p42: mark#(U21(X1,X2)) -> mark#(X1) p43: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p44: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p45: mark#(U16(X)) -> mark#(X) p46: mark#(U16(X)) -> active#(U16(mark(X))) p47: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p48: mark#(isNat(X)) -> active#(isNat(X)) p49: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p50: mark#(U15(X1,X2)) -> mark#(X1) p51: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p52: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p53: mark#(U14(X1,X2,X3)) -> mark#(X1) p54: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p55: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p56: mark#(U13(X1,X2,X3)) -> mark#(X1) p57: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p58: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p59: mark#(isNatKind(X)) -> active#(isNatKind(X)) p60: mark#(U12(X1,X2,X3)) -> mark#(X1) p61: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p62: mark#(U11(X1,X2,X3)) -> mark#(X1) p63: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 U11_A(x1,x2,x3) = (1,2) tt_A() = (0,2) mark#_A(x1) = (2,0) U12_A(x1,x2,x3) = x1 + (0,2) isNatKind_A(x1) = (1,2) plus_A(x1,x2) = x1 + x2 + (0,2) mark_A(x1) = ((1,0),(1,0)) x1 + (0,3) s_A(x1) = x1 + (0,2) U61_A(x1,x2,x3) = x2 + x3 + (0,2) isNat_A(x1) = (2,2) |0|_A() = (2,0) U51_A(x1,x2) = x2 + (2,2) U64_A(x1,x2,x3) = x2 + x3 + (0,2) U41_A(x1) = (1,2) U63_A(x1,x2,x3) = x2 + x3 + (0,2) U31_A(x1,x2) = (1,2) U62_A(x1,x2,x3) = x2 + x3 + (0,2) U21_A(x1,x2) = (2,2) U52_A(x1,x2) = x1 + x2 + (1,2) U32_A(x1) = x1 + (0,2) U23_A(x1) = (1,1) U22_A(x1,x2) = x1 + (1,2) U16_A(x1) = (0,2) U15_A(x1,x2) = (0,2) U14_A(x1,x2,x3) = (0,2) U13_A(x1,x2,x3) = (0,2) active_A(x1) = ((1,0),(1,1)) x1 + (0,1) The next rules are strictly ordered: p37 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p5: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p6: mark#(s(X)) -> mark#(X) p7: mark#(s(X)) -> active#(s(mark(X))) p8: active#(plus(N,|0|())) -> mark#(U51(isNat(N),N)) p9: mark#(U64(X1,X2,X3)) -> mark#(X1) p10: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p11: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p12: mark#(U63(X1,X2,X3)) -> mark#(X1) p13: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p14: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p15: mark#(U62(X1,X2,X3)) -> mark#(X1) p16: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p17: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p18: mark#(U61(X1,X2,X3)) -> mark#(X1) p19: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p20: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p21: mark#(U52(X1,X2)) -> mark#(X1) p22: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p23: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M))) p24: mark#(U51(X1,X2)) -> mark#(X1) p25: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p26: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p27: mark#(U41(X)) -> mark#(X) p28: mark#(U41(X)) -> active#(U41(mark(X))) p29: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p30: mark#(U32(X)) -> mark#(X) p31: mark#(U32(X)) -> active#(U32(mark(X))) p32: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p33: mark#(U31(X1,X2)) -> mark#(X1) p34: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p35: active#(U52(tt(),N)) -> mark#(N) p36: mark#(U23(X)) -> mark#(X) p37: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p38: mark#(U22(X1,X2)) -> mark#(X1) p39: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p40: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p41: mark#(U21(X1,X2)) -> mark#(X1) p42: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p43: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p44: mark#(U16(X)) -> mark#(X) p45: mark#(U16(X)) -> active#(U16(mark(X))) p46: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p47: mark#(isNat(X)) -> active#(isNat(X)) p48: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p49: mark#(U15(X1,X2)) -> mark#(X1) p50: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p51: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p52: mark#(U14(X1,X2,X3)) -> mark#(X1) p53: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p54: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p55: mark#(U13(X1,X2,X3)) -> mark#(X1) p56: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p57: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p58: mark#(isNatKind(X)) -> active#(isNatKind(X)) p59: mark#(U12(X1,X2,X3)) -> mark#(X1) p60: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p61: mark#(U11(X1,X2,X3)) -> mark#(X1) p62: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61, p62} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p4: mark#(U11(X1,X2,X3)) -> mark#(X1) p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p7: mark#(U12(X1,X2,X3)) -> mark#(X1) p8: mark#(isNatKind(X)) -> active#(isNatKind(X)) p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p12: mark#(U13(X1,X2,X3)) -> mark#(X1) p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p15: mark#(U14(X1,X2,X3)) -> mark#(X1) p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p18: mark#(U15(X1,X2)) -> mark#(X1) p19: mark#(isNat(X)) -> active#(isNat(X)) p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p21: mark#(U16(X)) -> active#(U16(mark(X))) p22: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p23: mark#(U16(X)) -> mark#(X) p24: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p25: active#(U52(tt(),N)) -> mark#(N) p26: mark#(U21(X1,X2)) -> mark#(X1) p27: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p28: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p29: mark#(U22(X1,X2)) -> mark#(X1) p30: mark#(U23(X)) -> mark#(X) p31: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p32: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p33: mark#(U31(X1,X2)) -> mark#(X1) p34: mark#(U32(X)) -> active#(U32(mark(X))) p35: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p36: mark#(U32(X)) -> mark#(X) p37: mark#(U41(X)) -> active#(U41(mark(X))) p38: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M))) p39: mark#(U41(X)) -> mark#(X) p40: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p41: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p42: mark#(U51(X1,X2)) -> mark#(X1) p43: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p44: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p45: mark#(U52(X1,X2)) -> mark#(X1) p46: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p47: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p48: mark#(U61(X1,X2,X3)) -> mark#(X1) p49: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p50: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p51: mark#(U62(X1,X2,X3)) -> mark#(X1) p52: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p53: active#(plus(N,|0|())) -> mark#(U51(isNat(N),N)) p54: mark#(U63(X1,X2,X3)) -> mark#(X1) p55: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p56: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p57: mark#(U64(X1,X2,X3)) -> mark#(X1) p58: mark#(s(X)) -> active#(s(mark(X))) p59: mark#(s(X)) -> mark#(X) p60: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p61: mark#(plus(X1,X2)) -> mark#(X1) p62: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = x1 U11_A(x1,x2,x3) = x1 + ((0,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (0,12) tt_A() = (4,1) mark#_A(x1) = x1 U12_A(x1,x2,x3) = x1 + ((0,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (0,11) isNatKind_A(x1) = (4,7) mark_A(x1) = x1 + (0,1) U13_A(x1,x2,x3) = x1 + ((0,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (0,3) U14_A(x1,x2,x3) = x1 + ((0,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (0,3) U15_A(x1,x2) = x1 + (0,2) isNat_A(x1) = ((0,0),(1,1)) x1 + (4,0) U16_A(x1) = x1 + (0,2) U21_A(x1,x2) = x1 + (0,4) U22_A(x1,x2) = x1 + (0,3) U23_A(x1) = x1 + (0,2) U31_A(x1,x2) = x1 + (0,6) U32_A(x1) = ((1,0),(1,0)) x1 + (0,1) U51_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (0,13) U52_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 + (0,1) U61_A(x1,x2,x3) = x1 + ((1,0),(1,0)) x2 + ((1,0),(1,1)) x3 + (1,6) U62_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (1,1) U63_A(x1,x2,x3) = x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (1,2) U64_A(x1,x2,x3) = x1 + x2 + ((1,0),(1,0)) x3 + (1,1) U41_A(x1) = ((1,0),(1,0)) x1 + (0,1) s_A(x1) = x1 + (5,0) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,0)) x2 + (0,13) |0|_A() = (5,1) active_A(x1) = x1 The next rules are strictly ordered: p25, p48, p51, p53, p54, p57, p59 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p4: mark#(U11(X1,X2,X3)) -> mark#(X1) p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p7: mark#(U12(X1,X2,X3)) -> mark#(X1) p8: mark#(isNatKind(X)) -> active#(isNatKind(X)) p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p12: mark#(U13(X1,X2,X3)) -> mark#(X1) p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p15: mark#(U14(X1,X2,X3)) -> mark#(X1) p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p18: mark#(U15(X1,X2)) -> mark#(X1) p19: mark#(isNat(X)) -> active#(isNat(X)) p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p21: mark#(U16(X)) -> active#(U16(mark(X))) p22: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p23: mark#(U16(X)) -> mark#(X) p24: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p25: mark#(U21(X1,X2)) -> mark#(X1) p26: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p27: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p28: mark#(U22(X1,X2)) -> mark#(X1) p29: mark#(U23(X)) -> mark#(X) p30: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p31: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p32: mark#(U31(X1,X2)) -> mark#(X1) p33: mark#(U32(X)) -> active#(U32(mark(X))) p34: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p35: mark#(U32(X)) -> mark#(X) p36: mark#(U41(X)) -> active#(U41(mark(X))) p37: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M))) p38: mark#(U41(X)) -> mark#(X) p39: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p40: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p41: mark#(U51(X1,X2)) -> mark#(X1) p42: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p43: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p44: mark#(U52(X1,X2)) -> mark#(X1) p45: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p46: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p47: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p48: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p49: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p50: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p51: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p52: mark#(s(X)) -> active#(s(mark(X))) p53: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p54: mark#(plus(X1,X2)) -> mark#(X1) p55: mark#(plus(X1,X2)) -> mark#(X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> mark#(X2) p3: mark#(plus(X1,X2)) -> mark#(X1) p4: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p5: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p6: mark#(s(X)) -> active#(s(mark(X))) p7: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p8: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p9: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p10: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p11: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p12: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p13: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p14: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p15: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M))) p16: mark#(U52(X1,X2)) -> mark#(X1) p17: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p18: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p19: mark#(U51(X1,X2)) -> mark#(X1) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p22: mark#(U41(X)) -> mark#(X) p23: mark#(U41(X)) -> active#(U41(mark(X))) p24: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p25: mark#(U32(X)) -> mark#(X) p26: mark#(U32(X)) -> active#(U32(mark(X))) p27: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p28: mark#(U31(X1,X2)) -> mark#(X1) p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p30: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p31: mark#(U23(X)) -> mark#(X) p32: mark#(U22(X1,X2)) -> mark#(X1) p33: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p34: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p35: mark#(U21(X1,X2)) -> mark#(X1) p36: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p37: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p38: mark#(U16(X)) -> mark#(X) p39: mark#(U16(X)) -> active#(U16(mark(X))) p40: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p41: mark#(isNat(X)) -> active#(isNat(X)) p42: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p43: mark#(U15(X1,X2)) -> mark#(X1) p44: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p45: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p46: mark#(U14(X1,X2,X3)) -> mark#(X1) p47: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p48: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p49: mark#(U13(X1,X2,X3)) -> mark#(X1) p50: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p51: mark#(isNatKind(X)) -> active#(isNatKind(X)) p52: mark#(U12(X1,X2,X3)) -> mark#(X1) p53: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p54: mark#(U11(X1,X2,X3)) -> mark#(X1) p55: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = x1 U11_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,5) tt_A() = (0,3) mark#_A(x1) = x1 U12_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,4) isNatKind_A(x1) = (0,6) plus_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,0)) x2 + (5,2) mark_A(x1) = x1 + (0,1) s_A(x1) = (9,0) U61_A(x1,x2,x3) = ((1,0),(1,1)) x3 + (14,10) isNat_A(x1) = ((0,0),(1,0)) x1 + (0,1) U41_A(x1) = x1 + (0,4) U64_A(x1,x2,x3) = x1 + x3 + (14,1) U31_A(x1,x2) = x1 + (0,5) U63_A(x1,x2,x3) = x3 + (14,8) U21_A(x1,x2) = x1 + (0,3) U62_A(x1,x2,x3) = ((1,0),(1,1)) x3 + (14,9) U52_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (0,1) U51_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (0,2) U32_A(x1) = x1 + (0,4) U23_A(x1) = ((1,0),(1,0)) x1 + (0,4) U22_A(x1,x2) = x1 + (0,5) U16_A(x1) = x1 + (0,1) U15_A(x1,x2) = x1 + ((0,0),(1,0)) x2 U14_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,2) U13_A(x1,x2,x3) = x1 + ((0,0),(1,0)) x2 + ((0,0),(1,0)) x3 + (0,3) active_A(x1) = x1 |0|_A() = (3,1) The next rules are strictly ordered: p2, p3, p15 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p4: mark#(s(X)) -> active#(s(mark(X))) p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p6: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p9: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p10: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p11: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p12: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p13: mark#(U52(X1,X2)) -> mark#(X1) p14: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p15: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p16: mark#(U51(X1,X2)) -> mark#(X1) p17: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p18: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p19: mark#(U41(X)) -> mark#(X) p20: mark#(U41(X)) -> active#(U41(mark(X))) p21: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p22: mark#(U32(X)) -> mark#(X) p23: mark#(U32(X)) -> active#(U32(mark(X))) p24: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p25: mark#(U31(X1,X2)) -> mark#(X1) p26: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p27: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p28: mark#(U23(X)) -> mark#(X) p29: mark#(U22(X1,X2)) -> mark#(X1) p30: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p31: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p32: mark#(U21(X1,X2)) -> mark#(X1) p33: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p34: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p35: mark#(U16(X)) -> mark#(X) p36: mark#(U16(X)) -> active#(U16(mark(X))) p37: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p38: mark#(isNat(X)) -> active#(isNat(X)) p39: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p40: mark#(U15(X1,X2)) -> mark#(X1) p41: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p42: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p43: mark#(U14(X1,X2,X3)) -> mark#(X1) p44: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p45: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p46: mark#(U13(X1,X2,X3)) -> mark#(X1) p47: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p48: mark#(isNatKind(X)) -> active#(isNatKind(X)) p49: mark#(U12(X1,X2,X3)) -> mark#(X1) p50: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p51: mark#(U11(X1,X2,X3)) -> mark#(X1) p52: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p4: mark#(U11(X1,X2,X3)) -> mark#(X1) p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p7: mark#(U12(X1,X2,X3)) -> mark#(X1) p8: mark#(isNatKind(X)) -> active#(isNatKind(X)) p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p12: mark#(U13(X1,X2,X3)) -> mark#(X1) p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p15: mark#(U14(X1,X2,X3)) -> mark#(X1) p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p18: mark#(U15(X1,X2)) -> mark#(X1) p19: mark#(isNat(X)) -> active#(isNat(X)) p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p21: mark#(U16(X)) -> active#(U16(mark(X))) p22: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p23: mark#(U16(X)) -> mark#(X) p24: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p25: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p26: mark#(U21(X1,X2)) -> mark#(X1) p27: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p28: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p29: mark#(U22(X1,X2)) -> mark#(X1) p30: mark#(U23(X)) -> mark#(X) p31: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p32: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p33: mark#(U31(X1,X2)) -> mark#(X1) p34: mark#(U32(X)) -> active#(U32(mark(X))) p35: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p36: mark#(U32(X)) -> mark#(X) p37: mark#(U41(X)) -> active#(U41(mark(X))) p38: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p39: mark#(U41(X)) -> mark#(X) p40: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p41: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p42: mark#(U51(X1,X2)) -> mark#(X1) p43: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p44: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p45: mark#(U52(X1,X2)) -> mark#(X1) p46: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p47: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p48: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p49: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p50: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3)) p51: mark#(s(X)) -> active#(s(mark(X))) p52: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 tt_A() = (1,1) mark#_A(x1) = x1 U12_A(x1,x2,x3) = ((1,0),(1,0)) x1 isNatKind_A(x1) = (1,1) mark_A(x1) = x1 U13_A(x1,x2,x3) = ((1,0),(1,0)) x1 U14_A(x1,x2,x3) = ((1,0),(1,0)) x1 U15_A(x1,x2) = ((1,0),(1,0)) x1 isNat_A(x1) = (1,1) U16_A(x1) = ((1,0),(1,0)) x1 U21_A(x1,x2) = ((1,0),(1,0)) x1 U22_A(x1,x2) = ((1,0),(1,0)) x1 U23_A(x1) = x1 U31_A(x1,x2) = ((1,0),(1,0)) x1 U32_A(x1) = x1 U51_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (2,2) U52_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (1,1) U61_A(x1,x2,x3) = (3,3) U62_A(x1,x2,x3) = (3,3) U63_A(x1,x2,x3) = (3,3) U64_A(x1,x2,x3) = (3,0) plus_A(x1,x2) = x1 + x2 + (3,3) U41_A(x1) = x1 s_A(x1) = (1,1) active_A(x1) = x1 |0|_A() = (0,0) The next rules are strictly ordered: p42, p45, p50 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p4: mark#(U11(X1,X2,X3)) -> mark#(X1) p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p7: mark#(U12(X1,X2,X3)) -> mark#(X1) p8: mark#(isNatKind(X)) -> active#(isNatKind(X)) p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p12: mark#(U13(X1,X2,X3)) -> mark#(X1) p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p15: mark#(U14(X1,X2,X3)) -> mark#(X1) p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p18: mark#(U15(X1,X2)) -> mark#(X1) p19: mark#(isNat(X)) -> active#(isNat(X)) p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p21: mark#(U16(X)) -> active#(U16(mark(X))) p22: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p23: mark#(U16(X)) -> mark#(X) p24: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p25: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p26: mark#(U21(X1,X2)) -> mark#(X1) p27: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p28: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p29: mark#(U22(X1,X2)) -> mark#(X1) p30: mark#(U23(X)) -> mark#(X) p31: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p32: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p33: mark#(U31(X1,X2)) -> mark#(X1) p34: mark#(U32(X)) -> active#(U32(mark(X))) p35: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p36: mark#(U32(X)) -> mark#(X) p37: mark#(U41(X)) -> active#(U41(mark(X))) p38: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p39: mark#(U41(X)) -> mark#(X) p40: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p41: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p42: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p43: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p44: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p45: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p46: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p47: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p48: mark#(s(X)) -> active#(s(mark(X))) p49: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p4: mark#(s(X)) -> active#(s(mark(X))) p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p6: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p9: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1)) p10: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p11: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2)) p12: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p13: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p14: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p15: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p16: mark#(U41(X)) -> mark#(X) p17: mark#(U41(X)) -> active#(U41(mark(X))) p18: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p19: mark#(U32(X)) -> mark#(X) p20: mark#(U32(X)) -> active#(U32(mark(X))) p21: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p22: mark#(U31(X1,X2)) -> mark#(X1) p23: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p24: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p25: mark#(U23(X)) -> mark#(X) p26: mark#(U22(X1,X2)) -> mark#(X1) p27: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p28: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p29: mark#(U21(X1,X2)) -> mark#(X1) p30: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2)) p31: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p32: mark#(U16(X)) -> mark#(X) p33: mark#(U16(X)) -> active#(U16(mark(X))) p34: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p35: mark#(isNat(X)) -> active#(isNat(X)) p36: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2)) p37: mark#(U15(X1,X2)) -> mark#(X1) p38: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p39: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p40: mark#(U14(X1,X2,X3)) -> mark#(X1) p41: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p42: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2)) p43: mark#(U13(X1,X2,X3)) -> mark#(X1) p44: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p45: mark#(isNatKind(X)) -> active#(isNatKind(X)) p46: mark#(U12(X1,X2,X3)) -> mark#(X1) p47: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3)) p48: mark#(U11(X1,X2,X3)) -> mark#(X1) p49: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,1)) x1 U11_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (5,6) tt_A() = (1,1) mark#_A(x1) = ((1,0),(1,0)) x1 + (1,1) U12_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (5,5) isNatKind_A(x1) = (1,2) plus_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (8,9) mark_A(x1) = x1 + (0,1) s_A(x1) = x1 + (6,7) U61_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (14,15) isNat_A(x1) = ((1,0),(1,0)) x1 + (1,0) U41_A(x1) = x1 + (0,1) U63_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (14,15) U31_A(x1,x2) = ((1,0),(1,0)) x1 + (0,1) U62_A(x1,x2,x3) = ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (14,15) U21_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (3,3) U52_A(x1,x2) = ((1,0),(1,0)) x2 + (1,2) U64_A(x1,x2,x3) = x2 + x3 + (14,1) U51_A(x1,x2) = ((1,0),(1,0)) x2 + (1,2) U32_A(x1) = ((1,0),(1,0)) x1 + (0,1) U23_A(x1) = ((1,0),(1,0)) x1 + (1,0) U22_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (2,3) U16_A(x1) = x1 + (1,0) U15_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (1,2) U14_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (2,3) U13_A(x1,x2,x3) = x1 + ((1,0),(1,0)) x2 + ((1,0),(1,0)) x3 + (3,4) active_A(x1) = x1 + (0,1) |0|_A() = (0,1) The next rules are strictly ordered: p9, p11, p25, p26, p29, p30, p32, p33, p35, p36, p37, p40, p42, p43, p46, p47, p48 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p4: mark#(s(X)) -> active#(s(mark(X))) p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p6: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p9: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p10: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p11: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p12: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p13: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p14: mark#(U41(X)) -> mark#(X) p15: mark#(U41(X)) -> active#(U41(mark(X))) p16: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p17: mark#(U32(X)) -> mark#(X) p18: mark#(U32(X)) -> active#(U32(mark(X))) p19: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p20: mark#(U31(X1,X2)) -> mark#(X1) p21: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p22: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p23: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p24: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p25: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p26: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p27: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p28: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p29: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p30: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p31: mark#(isNatKind(X)) -> active#(isNatKind(X)) p32: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p4: mark#(isNatKind(X)) -> active#(isNatKind(X)) p5: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p6: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p7: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p8: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3)) p9: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p10: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p11: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p12: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p13: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p14: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p15: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p16: mark#(U31(X1,X2)) -> mark#(X1) p17: mark#(U32(X)) -> active#(U32(mark(X))) p18: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p19: mark#(U32(X)) -> mark#(X) p20: mark#(U41(X)) -> active#(U41(mark(X))) p21: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p22: mark#(U41(X)) -> mark#(X) p23: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p24: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p25: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2)) p26: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p27: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p28: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p29: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p30: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p31: mark#(s(X)) -> active#(s(mark(X))) p32: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((1,1),(1,1)) x1 U11_A(x1,x2,x3) = (2,1) tt_A() = (1,1) mark#_A(x1) = (3,3) U12_A(x1,x2,x3) = (1,1) isNatKind_A(x1) = (1,2) mark_A(x1) = (1,1) U13_A(x1,x2,x3) = (2,1) U14_A(x1,x2,x3) = (1,1) U15_A(x1,x2) = (2,1) U16_A(x1) = (1,1) isNat_A(x1) = (1,1) U21_A(x1,x2) = (1,2) U22_A(x1,x2) = (2,1) U23_A(x1) = (1,1) U31_A(x1,x2) = (2,1) U32_A(x1) = (1,1) U51_A(x1,x2) = (2,1) U52_A(x1,x2) = (1,1) U61_A(x1,x2,x3) = (3,0) U62_A(x1,x2,x3) = (2,1) U63_A(x1,x2,x3) = (2,1) U41_A(x1) = (1,1) U64_A(x1,x2,x3) = (1,1) plus_A(x1,x2) = (2,1) s_A(x1) = (1,1) active_A(x1) = (1,1) |0|_A() = (1,1) The next rules are strictly ordered: p8, p17, p20, p25, p31 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p4: mark#(isNatKind(X)) -> active#(isNatKind(X)) p5: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p6: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p7: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p8: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p9: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p10: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p11: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p12: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p13: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p14: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p15: mark#(U31(X1,X2)) -> mark#(X1) p16: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p17: mark#(U32(X)) -> mark#(X) p18: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p19: mark#(U41(X)) -> mark#(X) p20: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p21: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p22: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p23: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p24: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p25: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p26: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p27: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p4: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p6: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p9: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p10: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p11: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p12: mark#(U41(X)) -> mark#(X) p13: mark#(U32(X)) -> mark#(X) p14: mark#(U31(X1,X2)) -> mark#(X1) p15: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p16: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p17: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p18: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p19: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p21: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p22: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p23: mark#(isNatKind(X)) -> active#(isNatKind(X)) p24: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1)) p25: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p26: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p27: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 U11_A(x1,x2,x3) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + ((1,1),(0,0)) x3 + (4,2) tt_A() = (1,1) mark#_A(x1) = (2,0) U12_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((0,0),(1,0)) x3 + (1,1) isNatKind_A(x1) = (1,2) plus_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (5,2) mark_A(x1) = ((1,1),(0,0)) x1 s_A(x1) = ((1,1),(0,0)) x1 U61_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((1,1),(0,0)) x3 + (5,2) isNat_A(x1) = x1 + (3,1) U63_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((1,1),(0,0)) x3 + (5,2) U41_A(x1) = ((1,1),(0,0)) x1 U62_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((1,1),(0,0)) x3 + (5,2) U31_A(x1,x2) = (1,2) U64_A(x1,x2,x3) = ((1,1),(0,0)) x2 + ((1,1),(0,0)) x3 + (7,0) U51_A(x1,x2) = ((1,1),(0,0)) x2 + (1,2) U32_A(x1) = ((0,0),(1,1)) x1 U22_A(x1,x2) = (0,2) U52_A(x1,x2) = ((0,0),(1,1)) x2 + (1,0) U15_A(x1,x2) = x2 + (4,2) U13_A(x1,x2,x3) = x3 + (4,2) U23_A(x1) = (1,1) U21_A(x1,x2) = ((0,0),(1,1)) x1 + (0,1) U16_A(x1) = ((0,0),(1,1)) x1 + (1,1) U14_A(x1,x2,x3) = x3 + (0,6) active_A(x1) = ((1,1),(0,0)) x1 |0|_A() = (1,1) 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: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p4: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p6: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p9: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p10: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p11: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p12: mark#(U41(X)) -> mark#(X) p13: mark#(U32(X)) -> mark#(X) p14: mark#(U31(X1,X2)) -> mark#(X1) p15: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p16: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p17: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p18: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p19: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p21: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p22: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p23: mark#(isNatKind(X)) -> active#(isNatKind(X)) p24: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p25: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p26: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3)) p3: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p4: mark#(isNatKind(X)) -> active#(isNatKind(X)) p5: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p6: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3)) p7: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p8: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2)) p9: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p10: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2)) p11: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p12: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) p13: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p14: mark#(U31(X1,X2)) -> mark#(X1) p15: mark#(U32(X)) -> mark#(X) p16: mark#(U41(X)) -> mark#(X) p17: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2)) p18: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p19: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3)) p20: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N)) p21: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3)) p22: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p23: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3)) p24: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p25: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) p26: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 U11_A(x1,x2,x3) = (5,5) tt_A() = (2,1) mark#_A(x1) = x1 + (1,0) U12_A(x1,x2,x3) = (4,4) isNatKind_A(x1) = ((1,1),(1,1)) x1 + (1,2) mark_A(x1) = x1 U13_A(x1,x2,x3) = (4,4) U14_A(x1,x2,x3) = (3,3) U15_A(x1,x2) = (3,3) U16_A(x1) = (2,1) isNat_A(x1) = (5,5) U22_A(x1,x2) = (3,3) U23_A(x1) = (2,1) U31_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 U32_A(x1) = x1 + (0,1) U51_A(x1,x2) = ((1,1),(1,1)) x2 + (2,2) U52_A(x1,x2) = ((1,1),(0,1)) x2 + (1,1) U61_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (18,18) U62_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (19,19) U41_A(x1) = x1 + (24,1) U63_A(x1,x2,x3) = ((0,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (13,13) U64_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (11,13) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 s_A(x1) = ((0,1),(1,0)) x1 + (11,13) active_A(x1) = x1 U21_A(x1,x2) = (3,3) |0|_A() = (1,1) The next rules are strictly ordered: p2, p6, p8, p10, p12, p16, p17, p19, p20, p21, p23, p25 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) p3: mark#(isNatKind(X)) -> active#(isNatKind(X)) p4: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p5: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p6: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p7: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p8: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p9: mark#(U31(X1,X2)) -> mark#(X1) p10: mark#(U32(X)) -> mark#(X) p11: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p12: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p13: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p14: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2)) p2: mark#(U32(X)) -> mark#(X) p3: mark#(U31(X1,X2)) -> mark#(X1) p4: mark#(isNatKind(X)) -> active#(isNatKind(X)) p5: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N)) p6: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N)) p9: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p10: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N)) p11: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p12: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p13: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2))) p14: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2)) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of r57, r58, r59, r60, r61, r62, r63, r64, r71, r72, r73, r74, r75, r76, r81, r82, r83, r84, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: active#_A(x1) = ((0,1),(0,0)) x1 U11_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,4) tt_A() = (1,1) mark#_A(x1) = (3,0) U12_A(x1,x2,x3) = ((1,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (0,1) isNatKind_A(x1) = ((1,1),(0,0)) x1 + (1,3) U32_A(x1) = ((1,1),(1,1)) x1 + (1,1) U31_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,1),(0,0)) x2 + (1,4) s_A(x1) = ((1,1),(1,1)) x1 + (1,1) U61_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (0,1) isNat_A(x1) = ((1,1),(1,1)) x1 + (1,1) U41_A(x1) = ((1,1),(1,1)) x1 U62_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (0,2) U63_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 U51_A(x1,x2) = ((1,1),(1,1)) x2 + (1,4) U52_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 U22_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,1),(1,1)) x2 + (0,3) U23_A(x1) = ((1,1),(1,1)) x1 U15_A(x1,x2) = ((1,1),(1,1)) x2 + (1,4) U16_A(x1) = ((1,1),(1,1)) x1 U13_A(x1,x2,x3) = ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,4) U14_A(x1,x2,x3) = ((1,0),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p5, p8, p10, p13, p14 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(U32(X)) -> mark#(X) p2: mark#(U31(X1,X2)) -> mark#(X1) p3: mark#(isNatKind(X)) -> active#(isNatKind(X)) p4: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p6: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p7: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p8: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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#(U32(X)) -> mark#(X) p2: mark#(isNatKind(X)) -> active#(isNatKind(X)) p3: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p4: mark#(U31(X1,X2)) -> mark#(X1) p5: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2))) p6: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p8: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of r63, r64, r81, r82, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r117, r118, r119, r120, r121, r122 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: mark#_A(x1) = ((0,1),(0,1)) x1 + (2,2) U32_A(x1) = ((1,1),(1,1)) x1 + (1,1) isNatKind_A(x1) = ((0,0),(1,1)) x1 + (1,1) active#_A(x1) = ((1,1),(1,1)) x1 U22_A(x1,x2) = x1 + ((1,1),(1,1)) x2 + (0,3) tt_A() = (1,1) U23_A(x1) = ((1,1),(1,1)) x1 isNat_A(x1) = ((1,1),(1,1)) x1 + (1,1) U31_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U61_A(x1,x2,x3) = ((1,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U62_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 plus_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (2,1) s_A(x1) = ((1,1),(1,1)) x1 + (1,1) U41_A(x1) = ((1,1),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p4, p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1))) p2: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N)) p3: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2)) p4: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1))) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(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: U12#(mark(X1),X2,X3) -> U12#(X1,X2,X3) p2: U12#(X1,X2,active(X3)) -> U12#(X1,X2,X3) p3: U12#(X1,active(X2),X3) -> U12#(X1,X2,X3) p4: U12#(active(X1),X2,X3) -> U12#(X1,X2,X3) p5: U12#(X1,X2,mark(X3)) -> U12#(X1,X2,X3) p6: U12#(X1,mark(X2),X3) -> U12#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U12#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: isNatKind#(mark(X)) -> isNatKind#(X) p2: isNatKind#(active(X)) -> isNatKind#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: isNatKind#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U13#(mark(X1),X2,X3) -> U13#(X1,X2,X3) p2: U13#(X1,X2,active(X3)) -> U13#(X1,X2,X3) p3: U13#(X1,active(X2),X3) -> U13#(X1,X2,X3) p4: U13#(active(X1),X2,X3) -> U13#(X1,X2,X3) p5: U13#(X1,X2,mark(X3)) -> U13#(X1,X2,X3) p6: U13#(X1,mark(X2),X3) -> U13#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U13#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U14#(mark(X1),X2,X3) -> U14#(X1,X2,X3) p2: U14#(X1,X2,active(X3)) -> U14#(X1,X2,X3) p3: U14#(X1,active(X2),X3) -> U14#(X1,X2,X3) p4: U14#(active(X1),X2,X3) -> U14#(X1,X2,X3) p5: U14#(X1,X2,mark(X3)) -> U14#(X1,X2,X3) p6: U14#(X1,mark(X2),X3) -> U14#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U14#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U15#(mark(X1),X2) -> U15#(X1,X2) p2: U15#(X1,active(X2)) -> U15#(X1,X2) p3: U15#(active(X1),X2) -> U15#(X1,X2) p4: U15#(X1,mark(X2)) -> U15#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U15#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: isNat#(mark(X)) -> isNat#(X) p2: isNat#(active(X)) -> isNat#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: isNat#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U16#(mark(X)) -> U16#(X) p2: U16#(active(X)) -> U16#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U16#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U22#(mark(X1),X2) -> U22#(X1,X2) p2: U22#(X1,active(X2)) -> U22#(X1,X2) p3: U22#(active(X1),X2) -> U22#(X1,X2) p4: U22#(X1,mark(X2)) -> U22#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U22#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: U23#(mark(X)) -> U23#(X) p2: U23#(active(X)) -> U23#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U23#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U32#(mark(X)) -> U32#(X) p2: U32#(active(X)) -> U32#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U32#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U52#(mark(X1),X2) -> U52#(X1,X2) p2: U52#(X1,active(X2)) -> U52#(X1,X2) p3: U52#(active(X1),X2) -> U52#(X1,X2) p4: U52#(X1,mark(X2)) -> U52#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U52#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: U62#(mark(X1),X2,X3) -> U62#(X1,X2,X3) p2: U62#(X1,X2,active(X3)) -> U62#(X1,X2,X3) p3: U62#(X1,active(X2),X3) -> U62#(X1,X2,X3) p4: U62#(active(X1),X2,X3) -> U62#(X1,X2,X3) p5: U62#(X1,X2,mark(X3)) -> U62#(X1,X2,X3) p6: U62#(X1,mark(X2),X3) -> U62#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U62#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U63#(mark(X1),X2,X3) -> U63#(X1,X2,X3) p2: U63#(X1,X2,active(X3)) -> U63#(X1,X2,X3) p3: U63#(X1,active(X2),X3) -> U63#(X1,X2,X3) p4: U63#(active(X1),X2,X3) -> U63#(X1,X2,X3) p5: U63#(X1,X2,mark(X3)) -> U63#(X1,X2,X3) p6: U63#(X1,mark(X2),X3) -> U63#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U63#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U64#(mark(X1),X2,X3) -> U64#(X1,X2,X3) p2: U64#(X1,X2,active(X3)) -> U64#(X1,X2,X3) p3: U64#(X1,active(X2),X3) -> U64#(X1,X2,X3) p4: U64#(active(X1),X2,X3) -> U64#(X1,X2,X3) p5: U64#(X1,X2,mark(X3)) -> U64#(X1,X2,X3) p6: U64#(X1,mark(X2),X3) -> U64#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U64#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: s#(mark(X)) -> s#(X) p2: s#(active(X)) -> s#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: s#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: plus#(mark(X1),X2) -> plus#(X1,X2) p2: plus#(X1,active(X2)) -> plus#(X1,X2) p3: plus#(active(X1),X2) -> plus#(X1,X2) p4: plus#(X1,mark(X2)) -> plus#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: plus#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: U11#(mark(X1),X2,X3) -> U11#(X1,X2,X3) p2: U11#(X1,X2,active(X3)) -> U11#(X1,X2,X3) p3: U11#(X1,active(X2),X3) -> U11#(X1,X2,X3) p4: U11#(active(X1),X2,X3) -> U11#(X1,X2,X3) p5: U11#(X1,X2,mark(X3)) -> U11#(X1,X2,X3) p6: U11#(X1,mark(X2),X3) -> U11#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U11#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U21#(mark(X1),X2) -> U21#(X1,X2) p2: U21#(X1,active(X2)) -> U21#(X1,X2) p3: U21#(active(X1),X2) -> U21#(X1,X2) p4: U21#(X1,mark(X2)) -> U21#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U21#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: U31#(mark(X1),X2) -> U31#(X1,X2) p2: U31#(X1,active(X2)) -> U31#(X1,X2) p3: U31#(active(X1),X2) -> U31#(X1,X2) p4: U31#(X1,mark(X2)) -> U31#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U31#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: U41#(mark(X)) -> U41#(X) p2: U41#(active(X)) -> U41#(X) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U41#_A(x1) = ((1,0),(1,1)) x1 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 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: U51#(mark(X1),X2) -> U51#(X1,X2) p2: U51#(X1,active(X2)) -> U51#(X1,X2) p3: U51#(active(X1),X2) -> U51#(X1,X2) p4: U51#(X1,mark(X2)) -> U51#(X1,X2) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U51#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 mark_A(x1) = ((0,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4 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: U61#(mark(X1),X2,X3) -> U61#(X1,X2,X3) p2: U61#(X1,X2,active(X3)) -> U61#(X1,X2,X3) p3: U61#(X1,active(X2),X3) -> U61#(X1,X2,X3) p4: U61#(active(X1),X2,X3) -> U61#(X1,X2,X3) p5: U61#(X1,X2,mark(X3)) -> U61#(X1,X2,X3) p6: U61#(X1,mark(X2),X3) -> U61#(X1,X2,X3) and R consists of: r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2)) r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2))) r6: active(U16(tt())) -> mark(tt()) r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1)) r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1))) r9: active(U23(tt())) -> mark(tt()) r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2))) r11: active(U32(tt())) -> mark(tt()) r12: active(U41(tt())) -> mark(tt()) r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N)) r14: active(U52(tt(),N)) -> mark(N) r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N)) r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N)) r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N)) r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M))) r19: active(isNat(|0|())) -> mark(tt()) r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) r22: active(isNatKind(|0|())) -> mark(tt()) r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2)) r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N)) r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N)) r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3)) r28: mark(tt()) -> active(tt()) r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3)) r30: mark(isNatKind(X)) -> active(isNatKind(X)) r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3)) r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3)) r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2)) r34: mark(isNat(X)) -> active(isNat(X)) r35: mark(U16(X)) -> active(U16(mark(X))) r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) r38: mark(U23(X)) -> active(U23(mark(X))) r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) r40: mark(U32(X)) -> active(U32(mark(X))) r41: mark(U41(X)) -> active(U41(mark(X))) r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2)) r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3)) r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3)) r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3)) r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3)) r48: mark(s(X)) -> active(s(mark(X))) r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2))) r50: mark(|0|()) -> active(|0|()) r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3) r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3) r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3) r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3) r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3) r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3) r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3) r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3) r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3) r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3) r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3) r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3) r63: isNatKind(mark(X)) -> isNatKind(X) r64: isNatKind(active(X)) -> isNatKind(X) r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3) r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3) r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3) r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3) r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3) r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3) r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3) r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3) r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3) r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3) r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3) r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3) r77: U15(mark(X1),X2) -> U15(X1,X2) r78: U15(X1,mark(X2)) -> U15(X1,X2) r79: U15(active(X1),X2) -> U15(X1,X2) r80: U15(X1,active(X2)) -> U15(X1,X2) r81: isNat(mark(X)) -> isNat(X) r82: isNat(active(X)) -> isNat(X) r83: U16(mark(X)) -> U16(X) r84: U16(active(X)) -> U16(X) r85: U21(mark(X1),X2) -> U21(X1,X2) r86: U21(X1,mark(X2)) -> U21(X1,X2) r87: U21(active(X1),X2) -> U21(X1,X2) r88: U21(X1,active(X2)) -> U21(X1,X2) r89: U22(mark(X1),X2) -> U22(X1,X2) r90: U22(X1,mark(X2)) -> U22(X1,X2) r91: U22(active(X1),X2) -> U22(X1,X2) r92: U22(X1,active(X2)) -> U22(X1,X2) r93: U23(mark(X)) -> U23(X) r94: U23(active(X)) -> U23(X) r95: U31(mark(X1),X2) -> U31(X1,X2) r96: U31(X1,mark(X2)) -> U31(X1,X2) r97: U31(active(X1),X2) -> U31(X1,X2) r98: U31(X1,active(X2)) -> U31(X1,X2) r99: U32(mark(X)) -> U32(X) r100: U32(active(X)) -> U32(X) r101: U41(mark(X)) -> U41(X) r102: U41(active(X)) -> U41(X) r103: U51(mark(X1),X2) -> U51(X1,X2) r104: U51(X1,mark(X2)) -> U51(X1,X2) r105: U51(active(X1),X2) -> U51(X1,X2) r106: U51(X1,active(X2)) -> U51(X1,X2) r107: U52(mark(X1),X2) -> U52(X1,X2) r108: U52(X1,mark(X2)) -> U52(X1,X2) r109: U52(active(X1),X2) -> U52(X1,X2) r110: U52(X1,active(X2)) -> U52(X1,X2) r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3) r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3) r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3) r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3) r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3) r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3) r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3) r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3) r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3) r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3) r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3) r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3) r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3) r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3) r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3) r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3) r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3) r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3) r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3) r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3) r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3) r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3) r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3) r135: s(mark(X)) -> s(X) r136: s(active(X)) -> s(X) r137: plus(mark(X1),X2) -> plus(X1,X2) r138: plus(X1,mark(X2)) -> plus(X1,X2) r139: plus(active(X1),X2) -> plus(X1,X2) r140: plus(X1,active(X2)) -> plus(X1,X2) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: U61#_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 mark_A(x1) = ((1,1),(1,1)) x1 + (1,1) active_A(x1) = ((1,1),(1,1)) x1 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140 We remove them from the problem. Then no dependency pair remains.