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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: active#_A(x1) = x1 U11_A(x1,x2,x3) = ((1,0,0),(1,1,0),(1,0,0)) x1 + ((0,0,0),(1,0,0),(0,0,0)) x2 + ((0,0,0),(1,0,0),(0,0,0)) x3 + (0,27,0) tt_A() = (1,6,0) mark#_A(x1) = ((1,0,0),(0,1,0),(1,0,1)) x1 + (0,0,3) U12_A(x1,x2,x3) = x1 + ((0,0,0),(1,0,0),(1,1,0)) x2 + ((0,0,0),(1,0,0),(0,0,0)) x3 + (0,27,16) isNatKind_A(x1) = ((0,0,0),(0,0,0),(1,0,0)) x1 + (1,6,1) plus_A(x1,x2) = ((1,0,0),(1,1,0),(0,0,0)) x1 + ((1,0,0),(1,0,0),(0,0,0)) x2 + (18,1,53) mark_A(x1) = x1 + (0,0,2) s_A(x1) = ((1,0,0),(0,0,0),(0,1,0)) x1 + (14,1,0) U61_A(x1,x2,x3) = ((1,0,0),(0,0,0),(0,1,0)) x1 + ((1,0,0),(1,0,0),(0,1,0)) x2 + ((1,0,0),(1,0,0),(0,0,0)) x3 + (31,5,0) isNat_A(x1) = ((0,0,0),(1,0,0),(1,0,0)) x1 + (1,17,1) |0|_A() = (17,0,0) U51_A(x1,x2) = ((1,0,0),(1,1,0),(0,1,0)) x1 + ((1,0,0),(0,1,0),(1,0,1)) x2 + (33,0,0) U64_A(x1,x2,x3) = ((1,0,0),(1,0,0),(0,0,0)) x1 + x2 + x3 + (31,1,37) U41_A(x1) = x1 + (0,0,3) U63_A(x1,x2,x3) = x1 + ((1,0,0),(0,0,0),(0,1,0)) x2 + x3 + (31,3,73) U31_A(x1,x2) = x1 + ((0,0,0),(0,0,0),(1,0,0)) x2 + (0,0,13) U62_A(x1,x2,x3) = ((1,0,0),(0,0,0),(1,0,0)) x1 + x2 + ((1,0,0),(1,0,0),(0,1,0)) x3 + (31,4,108) U21_A(x1,x2) = ((1,0,0),(0,1,0),(0,1,1)) x1 + ((0,0,0),(1,0,0),(1,1,0)) x2 + (0,14,3) U52_A(x1,x2) = x1 + ((1,0,0),(1,1,0),(1,0,1)) x2 + (1,2,4) U32_A(x1) = ((1,0,0),(0,1,0),(0,1,1)) x1 + (0,0,1) U23_A(x1) = x1 + (0,1,0) U22_A(x1,x2) = ((1,0,0),(1,1,0),(0,1,0)) x1 + ((0,0,0),(1,0,0),(1,1,0)) x2 + (0,12,0) U16_A(x1) = x1 + (0,1,1) U15_A(x1,x2) = x1 + ((0,0,0),(1,0,0),(1,1,0)) x2 + (0,13,0) U14_A(x1,x2,x3) = ((1,0,0),(1,1,0),(0,0,1)) x1 + ((0,0,0),(1,0,0),(1,0,0)) x2 + ((0,0,0),(1,0,0),(0,0,0)) x3 + (0,24,5) U13_A(x1,x2,x3) = x1 + ((0,0,0),(1,0,0),(0,0,0)) x2 + ((0,0,0),(1,0,0),(0,0,0)) x3 + (0,26,11) active_A(x1) = x1 2. lexicographic path order with precedence: precedence: U14 > |0| > isNat > U22 > U23 > U61 > tt > U63 > U64 > U32 > mark > U16 > U12 > U11 > active > U52 > mark# > U31 > U21 > active# > U41 > plus > s > U62 > U13 > isNatKind > U51 > U15 argument filter: pi(active#) = [] pi(U11) = [] pi(tt) = [] pi(mark#) = [] pi(U12) = [] pi(isNatKind) = [] pi(plus) = [] pi(mark) = [1] pi(s) = [] pi(U61) = [] pi(isNat) = [] pi(|0|) = [] pi(U51) = [2] pi(U64) = [] pi(U41) = [] pi(U63) = [] pi(U31) = [1] pi(U62) = [] pi(U21) = [] pi(U52) = [1, 2] pi(U32) = [] pi(U23) = [] pi(U22) = [] pi(U16) = [] pi(U15) = [] pi(U14) = [] pi(U13) = [] pi(active) = [1] The next rules are strictly ordered: 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, p63 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: 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U12#_A(x1,x2,x3) = x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + ((1,0,0),(1,1,0),(0,0,1)) x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U12# > active > mark argument filter: pi(U12#) = [2, 3] pi(mark) = [1] pi(active) = 1 The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: isNatKind#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: isNatKind# > active > mark argument filter: pi(isNatKind#) = 1 pi(mark) = [1] pi(active) = 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U13#_A(x1,x2,x3) = ((1,0,0),(1,1,0),(0,0,0)) x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + ((1,0,0),(1,1,0),(0,0,0)) x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U13# > active > mark argument filter: pi(U13#) = [2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U14#_A(x1,x2,x3) = x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U14# > active > mark argument filter: pi(U14#) = [2] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U15#_A(x1,x2) = ((1,0,0),(1,1,0),(1,1,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U15# > active > mark argument filter: pi(U15#) = [1, 2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4 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: 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: isNat#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: isNat# > active > mark argument filter: pi(isNat#) = 1 pi(mark) = [1] pi(active) = 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U16#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U16# > active > mark argument filter: pi(U16#) = 1 pi(mark) = [1] pi(active) = 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U22#_A(x1,x2) = ((1,0,0),(1,1,0),(1,0,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U22# > active > mark argument filter: pi(U22#) = [1, 2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4 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: 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U23#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U23# > active > mark argument filter: pi(U23#) = 1 pi(mark) = [1] pi(active) = 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U32#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U32# > active > mark argument filter: pi(U32#) = 1 pi(mark) = [1] pi(active) = 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U52#_A(x1,x2) = ((1,0,0),(1,1,0),(1,1,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U52# > active > mark argument filter: pi(U52#) = [1, 2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4 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: 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U62#_A(x1,x2,x3) = x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + ((1,0,0),(1,1,0),(0,0,1)) x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U62# > active > mark argument filter: pi(U62#) = [2, 3] pi(mark) = [1] pi(active) = 1 The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U63#_A(x1,x2,x3) = x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + ((0,0,0),(1,0,0),(0,0,0)) x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U63# > active > mark argument filter: pi(U63#) = 2 pi(mark) = [1] pi(active) = 1 The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U64#_A(x1,x2,x3) = x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + ((1,0,0),(0,1,0),(1,1,1)) x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: mark > U64# > active argument filter: pi(U64#) = [2, 3] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: s#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: s# > active > mark argument filter: pi(s#) = 1 pi(mark) = [1] pi(active) = 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: plus#_A(x1,x2) = ((1,0,0),(1,1,0),(1,1,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: plus# > active > mark argument filter: pi(plus#) = [1, 2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4 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: 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U11#_A(x1,x2,x3) = ((1,0,0),(1,0,0),(1,0,0)) x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U11# > mark > active argument filter: pi(U11#) = [2] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U21#_A(x1,x2) = ((1,0,0),(1,1,0),(1,0,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U21# > active > mark argument filter: pi(U21#) = [2] pi(mark) = [1] pi(active) = [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 monotone reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U31#_A(x1,x2) = ((1,0,0),(1,1,0),(1,0,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U31# > active > mark argument filter: pi(U31#) = [1, 2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4 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: 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: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U41#_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U41# > active > mark argument filter: pi(U41#) = 1 pi(mark) = [1] pi(active) = 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 monotone reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U51#_A(x1,x2) = ((1,0,0),(1,1,0),(1,1,1)) x1 + ((1,0,0),(1,1,0),(1,1,1)) x2 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U51# > active > mark argument filter: pi(U51#) = [1, 2] pi(mark) = [1] pi(active) = [1] The next rules are strictly ordered: p1, p2, p3, p4 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: 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 reduction pair: lexicographic combination of reduction pairs: 1. matrix interpretations: carrier: N^3 order: lexicographic order interpretations: U61#_A(x1,x2,x3) = x1 + ((1,0,0),(0,1,0),(1,1,1)) x2 + x3 mark_A(x1) = ((1,0,0),(1,1,0),(1,1,1)) x1 + (1,1,1) active_A(x1) = ((1,0,0),(0,1,0),(1,1,0)) x1 + (1,1,1) 2. lexicographic path order with precedence: precedence: U61# > active > mark argument filter: pi(U61#) = [2] pi(mark) = [] pi(active) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 We remove them from the problem. Then no dependency pair remains.