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^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 0
        tt_A() = 1
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = 0
        isNatKind_A(x1) = 0
        plus_A(x1,x2) = 0
        mark_A(x1) = 1
        s_A(x1) = 0
        U61_A(x1,x2,x3) = 0
        isNat_A(x1) = 0
        |0|_A() = 1
        U51_A(x1,x2) = 0
        U64_A(x1,x2,x3) = 0
        U41_A(x1) = 0
        U63_A(x1,x2,x3) = 0
        U31_A(x1,x2) = 0
        U62_A(x1,x2,x3) = 0
        U21_A(x1,x2) = 0
        U52_A(x1,x2) = 0
        U32_A(x1) = 0
        U23_A(x1) = 0
        U22_A(x1,x2) = 0
        U16_A(x1) = 0
        U15_A(x1,x2) = 0
        U14_A(x1,x2,x3) = 0
        U13_A(x1,x2,x3) = 0
        active_A(x1) = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 2
        tt_A() = 1
        mark#_A(x1) = 2
        U12_A(x1,x2,x3) = 2
        isNatKind_A(x1) = 2
        plus_A(x1,x2) = 2
        mark_A(x1) = 1
        s_A(x1) = 0
        U61_A(x1,x2,x3) = 2
        isNat_A(x1) = 2
        |0|_A() = 1
        U51_A(x1,x2) = 2
        U64_A(x1,x2,x3) = 2
        U41_A(x1) = 1
        U63_A(x1,x2,x3) = 2
        U31_A(x1,x2) = 2
        U62_A(x1,x2,x3) = 2
        U21_A(x1,x2) = 2
        U52_A(x1,x2) = 2
        U32_A(x1) = 1
        U23_A(x1) = 1
        U22_A(x1,x2) = 2
        U16_A(x1) = 1
        U15_A(x1,x2) = 2
        U14_A(x1,x2,x3) = 2
        U13_A(x1,x2,x3) = 2
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p7, p28, p31, p37, p46

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(plus(X1,X2)) -> mark#(X2)
p3: mark#(plus(X1,X2)) -> mark#(X1)
p4: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
p5: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))
p6: mark#(s(X)) -> mark#(X)
p7: active#(plus(N,|0|())) -> mark#(U51(isNat(N),N))
p8: mark#(U64(X1,X2,X3)) -> mark#(X1)
p9: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p10: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p11: mark#(U63(X1,X2,X3)) -> mark#(X1)
p12: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p13: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p14: mark#(U62(X1,X2,X3)) -> mark#(X1)
p15: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p16: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p17: mark#(U61(X1,X2,X3)) -> mark#(X1)
p18: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p19: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p20: mark#(U52(X1,X2)) -> mark#(X1)
p21: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2))
p22: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p23: mark#(U51(X1,X2)) -> mark#(X1)
p24: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2))
p25: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p26: mark#(U41(X)) -> mark#(X)
p27: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p28: mark#(U32(X)) -> mark#(X)
p29: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p30: mark#(U31(X1,X2)) -> mark#(X1)
p31: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p32: active#(U52(tt(),N)) -> mark#(N)
p33: mark#(U23(X)) -> mark#(X)
p34: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N))
p35: mark#(U22(X1,X2)) -> mark#(X1)
p36: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p37: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p38: mark#(U21(X1,X2)) -> mark#(X1)
p39: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p40: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p41: mark#(U16(X)) -> mark#(X)
p42: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p43: mark#(isNat(X)) -> active#(isNat(X))
p44: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p45: mark#(U15(X1,X2)) -> mark#(X1)
p46: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p47: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p48: mark#(U14(X1,X2,X3)) -> mark#(X1)
p49: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p50: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p51: mark#(U13(X1,X2,X3)) -> mark#(X1)
p52: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p53: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p54: mark#(isNatKind(X)) -> active#(isNatKind(X))
p55: mark#(U12(X1,X2,X3)) -> mark#(X1)
p56: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p57: mark#(U11(X1,X2,X3)) -> mark#(X1)
p58: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(U51(tt(),N)) -> mark#(U52(isNatKind(N),N))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(U52(tt(),N)) -> mark#(N)
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2))
p35: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p36: mark#(U51(X1,X2)) -> mark#(X1)
p37: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2))
p38: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p39: mark#(U52(X1,X2)) -> mark#(X1)
p40: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p41: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p42: mark#(U61(X1,X2,X3)) -> mark#(X1)
p43: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p44: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p45: mark#(U62(X1,X2,X3)) -> mark#(X1)
p46: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p47: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p48: mark#(U63(X1,X2,X3)) -> mark#(X1)
p49: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p50: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p51: mark#(U64(X1,X2,X3)) -> mark#(X1)
p52: mark#(s(X)) -> mark#(X)
p53: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
p54: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p55: mark#(plus(X1,X2)) -> mark#(X1)
p56: mark#(plus(X1,X2)) -> mark#(X2)
p57: active#(plus(N,|0|())) -> mark#(U51(isNat(N),N))
p58: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = x1
        tt_A() = 1
        mark#_A(x1) = x1
        U12_A(x1,x2,x3) = x1
        isNatKind_A(x1) = 1
        mark_A(x1) = x1
        U13_A(x1,x2,x3) = x1
        U14_A(x1,x2,x3) = x1
        U15_A(x1,x2) = x1
        isNat_A(x1) = 1
        U16_A(x1) = x1
        U21_A(x1,x2) = x1
        U22_A(x1,x2) = x1
        U23_A(x1) = x1
        U31_A(x1,x2) = x1
        U32_A(x1) = x1
        U51_A(x1,x2) = x1 + x2 + 2
        U52_A(x1,x2) = x1 + x2 + 1
        U61_A(x1,x2,x3) = x1 + x2 + x3 + 1
        U62_A(x1,x2,x3) = x1 + x2 + x3 + 1
        U41_A(x1) = x1
        U63_A(x1,x2,x3) = x1 + x2 + x3 + 1
        U64_A(x1,x2,x3) = x1 + x2 + x3 + 1
        s_A(x1) = x1 + 1
        plus_A(x1,x2) = x1 + x2 + 1
        |0|_A() = 3
        active_A(x1) = x1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = 1
        tt_A() = 1
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = 1
        isNatKind_A(x1) = 1
        mark_A(x1) = 1
        U13_A(x1,x2,x3) = 1
        U14_A(x1,x2,x3) = 1
        U15_A(x1,x2) = 1
        isNat_A(x1) = 1
        U16_A(x1) = 1
        U21_A(x1,x2) = 1
        U22_A(x1,x2) = 0
        U23_A(x1) = 1
        U31_A(x1,x2) = 0
        U32_A(x1) = 1
        U51_A(x1,x2) = 1
        U52_A(x1,x2) = 1
        U61_A(x1,x2,x3) = 1
        U62_A(x1,x2,x3) = 1
        U41_A(x1) = 1
        U63_A(x1,x2,x3) = 1
        U64_A(x1,x2,x3) = 1
        s_A(x1) = 1
        plus_A(x1,x2) = 1
        |0|_A() = 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p23, p26, p36, p39, p42, p45, p48, p51, p52, p55, p56, p57

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: mark#(U21(X1,X2)) -> mark#(X1)
p24: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p25: mark#(U22(X1,X2)) -> mark#(X1)
p26: mark#(U23(X)) -> mark#(X)
p27: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p28: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p29: mark#(U31(X1,X2)) -> mark#(X1)
p30: mark#(U32(X)) -> mark#(X)
p31: mark#(U41(X)) -> mark#(X)
p32: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2))
p33: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p34: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2))
p35: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p36: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p37: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p38: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p39: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p40: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p41: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p42: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p43: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p44: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
p45: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p46: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, 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}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))
p4: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p6: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p8: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p9: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p10: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p11: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p12: mark#(U52(X1,X2)) -> active#(U52(mark(X1),X2))
p13: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p14: mark#(U51(X1,X2)) -> active#(U51(mark(X1),X2))
p15: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p16: mark#(U41(X)) -> mark#(X)
p17: mark#(U32(X)) -> mark#(X)
p18: mark#(U31(X1,X2)) -> mark#(X1)
p19: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p20: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p21: mark#(U23(X)) -> mark#(X)
p22: mark#(U22(X1,X2)) -> mark#(X1)
p23: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p24: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p25: mark#(U21(X1,X2)) -> mark#(X1)
p26: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p27: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p28: mark#(U16(X)) -> mark#(X)
p29: mark#(isNat(X)) -> active#(isNat(X))
p30: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p31: mark#(U15(X1,X2)) -> mark#(X1)
p32: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p33: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p34: mark#(U14(X1,X2,X3)) -> mark#(X1)
p35: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p36: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p37: mark#(U13(X1,X2,X3)) -> mark#(X1)
p38: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p39: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p40: mark#(isNatKind(X)) -> active#(isNatKind(X))
p41: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p42: mark#(U12(X1,X2,X3)) -> mark#(X1)
p43: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p44: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p45: mark#(U11(X1,X2,X3)) -> mark#(X1)
p46: 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^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 2
        tt_A() = 1
        mark#_A(x1) = 2
        U12_A(x1,x2,x3) = 2
        isNatKind_A(x1) = 2
        plus_A(x1,x2) = 2
        mark_A(x1) = 0
        s_A(x1) = 1
        U61_A(x1,x2,x3) = 2
        isNat_A(x1) = 2
        U64_A(x1,x2,x3) = 2
        U41_A(x1) = 1
        U63_A(x1,x2,x3) = 2
        U31_A(x1,x2) = 2
        U62_A(x1,x2,x3) = 2
        U21_A(x1,x2) = 2
        U52_A(x1,x2) = 1
        U51_A(x1,x2) = 1
        U32_A(x1) = 1
        U23_A(x1) = 1
        U22_A(x1,x2) = 2
        U16_A(x1) = 1
        U15_A(x1,x2) = 2
        U14_A(x1,x2,x3) = 2
        U13_A(x1,x2,x3) = 2
        active_A(x1) = 0
        |0|_A() = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 1
        tt_A() = 0
        mark#_A(x1) = 1
        U12_A(x1,x2,x3) = 1
        isNatKind_A(x1) = 1
        plus_A(x1,x2) = 1
        mark_A(x1) = 0
        s_A(x1) = 1
        U61_A(x1,x2,x3) = 1
        isNat_A(x1) = 1
        U64_A(x1,x2,x3) = 1
        U41_A(x1) = 0
        U63_A(x1,x2,x3) = 1
        U31_A(x1,x2) = 1
        U62_A(x1,x2,x3) = 1
        U21_A(x1,x2) = 1
        U52_A(x1,x2) = 0
        U51_A(x1,x2) = 0
        U32_A(x1) = 0
        U23_A(x1) = 0
        U22_A(x1,x2) = 1
        U16_A(x1) = 0
        U15_A(x1,x2) = 1
        U14_A(x1,x2,x3) = 1
        U13_A(x1,x2,x3) = 1
        active_A(x1) = 0
        |0|_A() = 0
    

The next rules are strictly ordered:

  p12, p14

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))
p4: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p6: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p8: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p9: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p10: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p11: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p12: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p13: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p14: mark#(U41(X)) -> mark#(X)
p15: mark#(U32(X)) -> mark#(X)
p16: mark#(U31(X1,X2)) -> mark#(X1)
p17: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p18: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p19: mark#(U23(X)) -> mark#(X)
p20: mark#(U22(X1,X2)) -> mark#(X1)
p21: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p22: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p23: mark#(U21(X1,X2)) -> mark#(X1)
p24: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p25: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p26: mark#(U16(X)) -> mark#(X)
p27: mark#(isNat(X)) -> active#(isNat(X))
p28: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p29: mark#(U15(X1,X2)) -> mark#(X1)
p30: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p31: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p32: mark#(U14(X1,X2,X3)) -> mark#(X1)
p33: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p34: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p35: mark#(U13(X1,X2,X3)) -> mark#(X1)
p36: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p37: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p38: mark#(isNatKind(X)) -> active#(isNatKind(X))
p39: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p40: mark#(U12(X1,X2,X3)) -> mark#(X1)
p41: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p42: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p43: mark#(U11(X1,X2,X3)) -> mark#(X1)
p44: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p35: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p36: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p37: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p38: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p39: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p40: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p41: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p42: mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
p43: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p44: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = x1
        tt_A() = 0
        mark#_A(x1) = x1
        U12_A(x1,x2,x3) = x1
        isNatKind_A(x1) = 0
        mark_A(x1) = x1
        U13_A(x1,x2,x3) = x1
        U14_A(x1,x2,x3) = x1
        U15_A(x1,x2) = x1
        isNat_A(x1) = 0
        U16_A(x1) = x1
        U21_A(x1,x2) = x1
        U22_A(x1,x2) = x1
        U23_A(x1) = x1
        U31_A(x1,x2) = x1
        U32_A(x1) = x1
        U61_A(x1,x2,x3) = 0
        U62_A(x1,x2,x3) = 0
        U63_A(x1,x2,x3) = 0
        U64_A(x1,x2,x3) = 0
        U41_A(x1) = x1
        s_A(x1) = 0
        plus_A(x1,x2) = x1 + 3
        active_A(x1) = x1
        U51_A(x1,x2) = x2 + 2
        U52_A(x1,x2) = x2 + 1
        |0|_A() = 0
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = 2
        tt_A() = 0
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = 2
        isNatKind_A(x1) = 2
        mark_A(x1) = 2
        U13_A(x1,x2,x3) = 2
        U14_A(x1,x2,x3) = 2
        U15_A(x1,x2) = 2
        isNat_A(x1) = 2
        U16_A(x1) = 2
        U21_A(x1,x2) = 2
        U22_A(x1,x2) = 2
        U23_A(x1) = 2
        U31_A(x1,x2) = 2
        U32_A(x1) = 2
        U61_A(x1,x2,x3) = 2
        U62_A(x1,x2,x3) = 2
        U63_A(x1,x2,x3) = 2
        U64_A(x1,x2,x3) = 2
        U41_A(x1) = 2
        s_A(x1) = 0
        plus_A(x1,x2) = 1
        active_A(x1) = x1
        U51_A(x1,x2) = 0
        U52_A(x1,x2) = 0
        |0|_A() = 1
    

The next rules are strictly ordered:

  p42

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p35: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p36: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p37: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p38: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p39: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p40: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p41: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p42: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p43: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, 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}


-- 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#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p3: active#(plus(N,s(M))) -> mark#(U61(isNat(M),M,N))
p4: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p6: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p8: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p9: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p10: mark#(U41(X)) -> mark#(X)
p11: mark#(U32(X)) -> mark#(X)
p12: mark#(U31(X1,X2)) -> mark#(X1)
p13: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p14: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p15: mark#(U23(X)) -> mark#(X)
p16: mark#(U22(X1,X2)) -> mark#(X1)
p17: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p18: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p19: mark#(U21(X1,X2)) -> mark#(X1)
p20: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p21: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p22: mark#(U16(X)) -> mark#(X)
p23: mark#(isNat(X)) -> active#(isNat(X))
p24: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p25: mark#(U15(X1,X2)) -> mark#(X1)
p26: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p27: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p28: mark#(U14(X1,X2,X3)) -> mark#(X1)
p29: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p30: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p31: mark#(U13(X1,X2,X3)) -> mark#(X1)
p32: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p33: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p34: mark#(isNatKind(X)) -> active#(isNatKind(X))
p35: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p36: mark#(U12(X1,X2,X3)) -> mark#(X1)
p37: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p38: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p39: mark#(U11(X1,X2,X3)) -> mark#(X1)
p40: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p41: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p42: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p43: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 0
        tt_A() = 0
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = 0
        isNatKind_A(x1) = 0
        U64_A(x1,x2,x3) = 0
        mark_A(x1) = 0
        plus_A(x1,x2) = 0
        s_A(x1) = 0
        U61_A(x1,x2,x3) = 0
        isNat_A(x1) = 0
        U63_A(x1,x2,x3) = 0
        U41_A(x1) = 0
        U62_A(x1,x2,x3) = 0
        U31_A(x1,x2) = 0
        U21_A(x1,x2) = 0
        U32_A(x1) = 0
        U23_A(x1) = 0
        U22_A(x1,x2) = 0
        U16_A(x1) = 0
        U15_A(x1,x2) = 0
        U14_A(x1,x2,x3) = 0
        U13_A(x1,x2,x3) = 0
        active_A(x1) = x1
        U51_A(x1,x2) = 0
        U52_A(x1,x2) = 0
        |0|_A() = 0
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 1
        tt_A() = 0
        mark#_A(x1) = 1
        U12_A(x1,x2,x3) = 1
        isNatKind_A(x1) = 1
        U64_A(x1,x2,x3) = 1
        mark_A(x1) = 1
        plus_A(x1,x2) = 2
        s_A(x1) = 1
        U61_A(x1,x2,x3) = 1
        isNat_A(x1) = 1
        U63_A(x1,x2,x3) = 1
        U41_A(x1) = 1
        U62_A(x1,x2,x3) = 1
        U31_A(x1,x2) = 1
        U21_A(x1,x2) = 1
        U32_A(x1) = 1
        U23_A(x1) = 1
        U22_A(x1,x2) = 1
        U16_A(x1) = 1
        U15_A(x1,x2) = 1
        U14_A(x1,x2,x3) = 1
        U13_A(x1,x2,x3) = 1
        active_A(x1) = 1
        U51_A(x1,x2) = 1
        U52_A(x1,x2) = 1
        |0|_A() = 1
    

The next rules are strictly ordered:

  p3

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p3: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p4: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p5: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p6: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p7: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p8: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p9: mark#(U41(X)) -> mark#(X)
p10: mark#(U32(X)) -> mark#(X)
p11: mark#(U31(X1,X2)) -> mark#(X1)
p12: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p13: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p14: mark#(U23(X)) -> mark#(X)
p15: mark#(U22(X1,X2)) -> mark#(X1)
p16: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p17: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p18: mark#(U21(X1,X2)) -> mark#(X1)
p19: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p20: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(isNat(X)) -> active#(isNat(X))
p23: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p24: mark#(U15(X1,X2)) -> mark#(X1)
p25: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p26: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p27: mark#(U14(X1,X2,X3)) -> mark#(X1)
p28: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p29: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p30: mark#(U13(X1,X2,X3)) -> mark#(X1)
p31: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p32: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p33: mark#(isNatKind(X)) -> active#(isNatKind(X))
p34: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p35: mark#(U12(X1,X2,X3)) -> mark#(X1)
p36: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p37: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p38: mark#(U11(X1,X2,X3)) -> mark#(X1)
p39: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p40: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p41: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p42: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: mark#(U61(X1,X2,X3)) -> active#(U61(mark(X1),X2,X3))
p35: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p36: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p37: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p38: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p39: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p40: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p41: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p42: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  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^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = x1
        tt_A() = 0
        mark#_A(x1) = x1
        U12_A(x1,x2,x3) = x1
        isNatKind_A(x1) = 0
        mark_A(x1) = x1
        U13_A(x1,x2,x3) = x1
        U14_A(x1,x2,x3) = x1
        U15_A(x1,x2) = x1
        isNat_A(x1) = 0
        U16_A(x1) = x1
        U21_A(x1,x2) = x1
        U22_A(x1,x2) = x1
        U23_A(x1) = x1
        U31_A(x1,x2) = x1
        U32_A(x1) = x1
        U61_A(x1,x2,x3) = x3 + 1
        U62_A(x1,x2,x3) = 0
        U63_A(x1,x2,x3) = 0
        U64_A(x1,x2,x3) = 0
        U41_A(x1) = x1
        s_A(x1) = 0
        plus_A(x1,x2) = x1 + 3
        active_A(x1) = x1
        U51_A(x1,x2) = x1 + x2 + 2
        U52_A(x1,x2) = x2 + 1
        |0|_A() = 0
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = 19
        tt_A() = 1
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = 16
        isNatKind_A(x1) = 9
        mark_A(x1) = x1 + 2
        U13_A(x1,x2,x3) = 13
        U14_A(x1,x2,x3) = 10
        U15_A(x1,x2) = 7
        isNat_A(x1) = 22
        U16_A(x1) = 4
        U21_A(x1,x2) = x1 + 9
        U22_A(x1,x2) = 7
        U23_A(x1) = 4
        U31_A(x1,x2) = 6
        U32_A(x1) = 4
        U61_A(x1,x2,x3) = x3 + 1
        U62_A(x1,x2,x3) = 10
        U63_A(x1,x2,x3) = 7
        U64_A(x1,x2,x3) = 4
        U41_A(x1) = 4
        s_A(x1) = 1
        plus_A(x1,x2) = 28
        active_A(x1) = x1
        U51_A(x1,x2) = x1 + x2 + 3
        U52_A(x1,x2) = 1
        |0|_A() = 1
    

The next rules are strictly ordered:

  p34

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p35: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p36: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p37: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p38: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p39: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p40: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p41: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {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}


-- 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#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p3: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p4: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p6: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p7: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p8: mark#(U41(X)) -> mark#(X)
p9: mark#(U32(X)) -> mark#(X)
p10: mark#(U31(X1,X2)) -> mark#(X1)
p11: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p12: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p13: mark#(U23(X)) -> mark#(X)
p14: mark#(U22(X1,X2)) -> mark#(X1)
p15: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p16: active#(U64(tt(),M,N)) -> mark#(s(plus(N,M)))
p17: mark#(U21(X1,X2)) -> mark#(X1)
p18: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p19: active#(U63(tt(),M,N)) -> mark#(U64(isNatKind(N),M,N))
p20: mark#(U16(X)) -> mark#(X)
p21: mark#(isNat(X)) -> active#(isNat(X))
p22: active#(U62(tt(),M,N)) -> mark#(U63(isNat(N),M,N))
p23: mark#(U15(X1,X2)) -> mark#(X1)
p24: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p25: active#(U61(tt(),M,N)) -> mark#(U62(isNatKind(M),M,N))
p26: mark#(U14(X1,X2,X3)) -> mark#(X1)
p27: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p28: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p29: mark#(U13(X1,X2,X3)) -> mark#(X1)
p30: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p31: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p32: mark#(isNatKind(X)) -> active#(isNatKind(X))
p33: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p34: mark#(U12(X1,X2,X3)) -> mark#(X1)
p35: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p36: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p37: mark#(U11(X1,X2,X3)) -> mark#(X1)
p38: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p39: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p40: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p41: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = x1
        tt_A() = 1
        mark#_A(x1) = x1
        U12_A(x1,x2,x3) = x1
        isNatKind_A(x1) = 1
        U64_A(x1,x2,x3) = x3 + 2
        mark_A(x1) = x1
        s_A(x1) = 1
        U41_A(x1) = x1
        U63_A(x1,x2,x3) = x3 + 3
        plus_A(x1,x2) = x1 + 6
        U31_A(x1,x2) = x1
        U62_A(x1,x2,x3) = x1 + x3 + 3
        isNat_A(x1) = 1
        U21_A(x1,x2) = x1
        U32_A(x1) = x1
        U23_A(x1) = x1
        U22_A(x1,x2) = x1
        U16_A(x1) = x1
        U15_A(x1,x2) = x1
        U61_A(x1,x2,x3) = x1 + x3 + 4
        U14_A(x1,x2,x3) = x1
        U13_A(x1,x2,x3) = x1
        active_A(x1) = x1
        U51_A(x1,x2) = x2 + 2
        U52_A(x1,x2) = x2 + 1
        |0|_A() = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = x1 + 21
        tt_A() = 1
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = x1 + 13
        isNatKind_A(x1) = 7
        U64_A(x1,x2,x3) = 1
        mark_A(x1) = x1 + 1
        s_A(x1) = 1
        U41_A(x1) = 6
        U63_A(x1,x2,x3) = 1
        plus_A(x1,x2) = x1 + 1
        U31_A(x1,x2) = 5
        U62_A(x1,x2,x3) = 1
        isNat_A(x1) = 29
        U21_A(x1,x2) = 4
        U32_A(x1) = 3
        U23_A(x1) = 2
        U22_A(x1,x2) = 3
        U16_A(x1) = 2
        U15_A(x1,x2) = 3
        U61_A(x1,x2,x3) = 1
        U14_A(x1,x2,x3) = 4
        U13_A(x1,x2,x3) = x1 + 5
        active_A(x1) = x1
        U51_A(x1,x2) = 2
        U52_A(x1,x2) = x2 + 2
        |0|_A() = 0
    

The next rules are strictly ordered:

  p16, p19, p22, p25

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U64(X1,X2,X3)) -> active#(U64(mark(X1),X2,X3))
p3: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p4: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p6: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p7: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p8: mark#(U41(X)) -> mark#(X)
p9: mark#(U32(X)) -> mark#(X)
p10: mark#(U31(X1,X2)) -> mark#(X1)
p11: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p12: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p13: mark#(U23(X)) -> mark#(X)
p14: mark#(U22(X1,X2)) -> mark#(X1)
p15: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p16: mark#(U21(X1,X2)) -> mark#(X1)
p17: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p18: mark#(U16(X)) -> mark#(X)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: mark#(U15(X1,X2)) -> mark#(X1)
p21: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p22: mark#(U14(X1,X2,X3)) -> mark#(X1)
p23: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p24: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p25: mark#(U13(X1,X2,X3)) -> mark#(X1)
p26: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p27: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p28: mark#(isNatKind(X)) -> active#(isNatKind(X))
p29: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p30: mark#(U12(X1,X2,X3)) -> mark#(X1)
p31: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p32: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p33: mark#(U11(X1,X2,X3)) -> mark#(X1)
p34: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p35: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p36: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p37: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: mark#(U62(X1,X2,X3)) -> active#(U62(mark(X1),X2,X3))
p35: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p36: mark#(U63(X1,X2,X3)) -> active#(U63(mark(X1),X2,X3))
p37: mark#(U64(X1,X2,X3)) -> active#(U64(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^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 2
        tt_A() = 1
        mark#_A(x1) = 2
        U12_A(x1,x2,x3) = 2
        isNatKind_A(x1) = 2
        mark_A(x1) = 3
        U13_A(x1,x2,x3) = 2
        U14_A(x1,x2,x3) = 2
        U15_A(x1,x2) = 2
        isNat_A(x1) = 2
        U16_A(x1) = 2
        U21_A(x1,x2) = 2
        U22_A(x1,x2) = 2
        U23_A(x1) = 2
        U31_A(x1,x2) = 2
        U32_A(x1) = 2
        plus_A(x1,x2) = 2
        s_A(x1) = 1
        U41_A(x1) = 2
        U62_A(x1,x2,x3) = 2
        U63_A(x1,x2,x3) = 2
        U64_A(x1,x2,x3) = 2
        active_A(x1) = x1 + 1
        U51_A(x1,x2) = 2
        U52_A(x1,x2) = 2
        U61_A(x1,x2,x3) = 2
        |0|_A() = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = 2
        tt_A() = 1
        mark#_A(x1) = 2
        U12_A(x1,x2,x3) = 2
        isNatKind_A(x1) = 2
        mark_A(x1) = 1
        U13_A(x1,x2,x3) = 2
        U14_A(x1,x2,x3) = 2
        U15_A(x1,x2) = 2
        isNat_A(x1) = 2
        U16_A(x1) = 1
        U21_A(x1,x2) = 2
        U22_A(x1,x2) = 2
        U23_A(x1) = 1
        U31_A(x1,x2) = 2
        U32_A(x1) = 1
        plus_A(x1,x2) = 1
        s_A(x1) = 1
        U41_A(x1) = 1
        U62_A(x1,x2,x3) = 1
        U63_A(x1,x2,x3) = 1
        U64_A(x1,x2,x3) = 0
        active_A(x1) = 1
        U51_A(x1,x2) = 1
        U52_A(x1,x2) = 1
        U61_A(x1,x2,x3) = 1
        |0|_A() = 1
    

The next rules are strictly ordered:

  p34, p36, p37

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: active#(U11(tt(),V1,V2)) -> mark#(U12(isNatKind(V1),V1,V2))
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))
p4: mark#(U11(X1,X2,X3)) -> mark#(X1)
p5: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p6: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p7: mark#(U12(X1,X2,X3)) -> mark#(X1)
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p10: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p11: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p12: mark#(U13(X1,X2,X3)) -> mark#(X1)
p13: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p14: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p15: mark#(U14(X1,X2,X3)) -> mark#(X1)
p16: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p17: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p18: mark#(U15(X1,X2)) -> mark#(X1)
p19: mark#(isNat(X)) -> active#(isNat(X))
p20: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p21: mark#(U16(X)) -> mark#(X)
p22: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p23: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p24: mark#(U21(X1,X2)) -> mark#(X1)
p25: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p26: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p27: mark#(U22(X1,X2)) -> mark#(X1)
p28: mark#(U23(X)) -> mark#(X)
p29: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p30: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p31: mark#(U31(X1,X2)) -> mark#(X1)
p32: mark#(U32(X)) -> mark#(X)
p33: mark#(U41(X)) -> mark#(X)
p34: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {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}


-- 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#(U41(X)) -> mark#(X)
p3: mark#(U32(X)) -> mark#(X)
p4: mark#(U31(X1,X2)) -> mark#(X1)
p5: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p6: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p7: mark#(U23(X)) -> mark#(X)
p8: mark#(U22(X1,X2)) -> mark#(X1)
p9: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p10: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p11: mark#(U21(X1,X2)) -> mark#(X1)
p12: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p13: active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1),V1))
p14: mark#(U16(X)) -> mark#(X)
p15: mark#(isNat(X)) -> active#(isNat(X))
p16: active#(isNat(plus(V1,V2))) -> mark#(U11(isNatKind(V1),V1,V2))
p17: mark#(U15(X1,X2)) -> mark#(X1)
p18: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p19: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p20: mark#(U14(X1,X2,X3)) -> mark#(X1)
p21: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p22: active#(U22(tt(),V1)) -> mark#(U23(isNat(V1)))
p23: mark#(U13(X1,X2,X3)) -> mark#(X1)
p24: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p25: active#(U21(tt(),V1)) -> mark#(U22(isNatKind(V1),V1))
p26: mark#(isNatKind(X)) -> active#(isNatKind(X))
p27: active#(U15(tt(),V2)) -> mark#(U16(isNat(V2)))
p28: mark#(U12(X1,X2,X3)) -> mark#(X1)
p29: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p30: active#(U14(tt(),V1,V2)) -> mark#(U15(isNat(V1),V2))
p31: mark#(U11(X1,X2,X3)) -> mark#(X1)
p32: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p33: active#(U13(tt(),V1,V2)) -> mark#(U14(isNatKind(V2),V1,V2))
p34: active#(U12(tt(),V1,V2)) -> mark#(U13(isNatKind(V2),V1,V2))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = x1
        U11_A(x1,x2,x3) = x1 + x2 + x3 + 6
        tt_A() = 1
        mark#_A(x1) = x1
        U12_A(x1,x2,x3) = x1 + x2 + x3 + 5
        isNatKind_A(x1) = 1
        U41_A(x1) = x1
        U32_A(x1) = x1
        U31_A(x1,x2) = x1
        mark_A(x1) = x1
        s_A(x1) = x1 + 4
        U23_A(x1) = x1 + 1
        U22_A(x1,x2) = x1 + x2 + 2
        plus_A(x1,x2) = x1 + x2 + 7
        U21_A(x1,x2) = x1 + x2 + 3
        isNat_A(x1) = x1 + 1
        U16_A(x1) = x1 + 1
        U15_A(x1,x2) = x1 + x2 + 2
        U14_A(x1,x2,x3) = x1 + x2 + x3 + 3
        U13_A(x1,x2,x3) = x1 + x2 + x3 + 4
        active_A(x1) = x1
        U51_A(x1,x2) = x2 + 2
        U52_A(x1,x2) = x2 + 1
        U61_A(x1,x2,x3) = x2 + x3 + 11
        U62_A(x1,x2,x3) = x1 + x2 + x3 + 10
        U63_A(x1,x2,x3) = x2 + x3 + 11
        U64_A(x1,x2,x3) = x2 + x3 + 11
        |0|_A() = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        active#_A(x1) = 0
        U11_A(x1,x2,x3) = x3 + 6
        tt_A() = 0
        mark#_A(x1) = 0
        U12_A(x1,x2,x3) = x2 + x3 + 7
        isNatKind_A(x1) = 2
        U41_A(x1) = 1
        U32_A(x1) = 0
        U31_A(x1,x2) = x1
        mark_A(x1) = x1
        s_A(x1) = 1
        U23_A(x1) = 3
        U22_A(x1,x2) = x2 + 2
        plus_A(x1,x2) = x1 + x2 + 4
        U21_A(x1,x2) = 1
        isNat_A(x1) = x1 + 1
        U16_A(x1) = 11
        U15_A(x1,x2) = x2 + 10
        U14_A(x1,x2,x3) = 9
        U13_A(x1,x2,x3) = x3 + 8
        active_A(x1) = x1
        U51_A(x1,x2) = x2
        U52_A(x1,x2) = 0
        U61_A(x1,x2,x3) = x3 + 5
        U62_A(x1,x2,x3) = x3 + 4
        U63_A(x1,x2,x3) = x3 + 3
        U64_A(x1,x2,x3) = x3 + 2
        |0|_A() = 1
    

The next rules are strictly ordered:

  p1, p7, p8, p11, p13, p14, p16, p17, p20, p22, p23, p25, p27, p28, p30, p31, p33, p34

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(U41(X)) -> mark#(X)
p2: mark#(U32(X)) -> mark#(X)
p3: mark#(U31(X1,X2)) -> mark#(X1)
p4: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p5: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p6: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p7: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p8: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p9: mark#(isNat(X)) -> active#(isNat(X))
p10: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p11: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p12: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p13: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p14: mark#(isNatKind(X)) -> active#(isNatKind(X))
p15: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p16: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(U41(X)) -> mark#(X)
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p4: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p6: mark#(isNatKind(X)) -> active#(isNatKind(X))
p7: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p8: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p9: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p10: mark#(U15(X1,X2)) -> active#(U15(mark(X1),X2))
p11: mark#(isNat(X)) -> active#(isNat(X))
p12: mark#(U21(X1,X2)) -> active#(U21(mark(X1),X2))
p13: mark#(U22(X1,X2)) -> active#(U22(mark(X1),X2))
p14: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p15: mark#(U31(X1,X2)) -> mark#(X1)
p16: mark#(U32(X)) -> mark#(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

  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^1
      order: standard order
      interpretations:
        mark#_A(x1) = x1
        U41_A(x1) = x1
        U11_A(x1,x2,x3) = x1 + x3
        active#_A(x1) = x1
        mark_A(x1) = x1
        U31_A(x1,x2) = x1 + x2 + 1
        tt_A() = 7
        U32_A(x1) = x1 + 7
        isNatKind_A(x1) = x1 + 1
        U12_A(x1,x2,x3) = x3 + 6
        plus_A(x1,x2) = x1 + x2 + 1
        s_A(x1) = x1
        U13_A(x1,x2,x3) = x3 + 5
        U14_A(x1,x2,x3) = x1 + 3
        U15_A(x1,x2) = 9
        isNat_A(x1) = x1 + 11
        U21_A(x1,x2) = 10
        U22_A(x1,x2) = 9
        active_A(x1) = x1
        U16_A(x1) = 8
        U23_A(x1) = 8
        U51_A(x1,x2) = x2 + 2
        U52_A(x1,x2) = x2 + 1
        U61_A(x1,x2,x3) = x2 + x3 + 1
        U62_A(x1,x2,x3) = x2 + x3 + 1
        U63_A(x1,x2,x3) = x2 + x3 + 1
        U64_A(x1,x2,x3) = x2 + x3 + 1
        |0|_A() = 7
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        mark#_A(x1) = 5
        U41_A(x1) = x1
        U11_A(x1,x2,x3) = 5
        active#_A(x1) = x1
        mark_A(x1) = x1
        U31_A(x1,x2) = 5
        tt_A() = 2
        U32_A(x1) = 1
        isNatKind_A(x1) = 5
        U12_A(x1,x2,x3) = 5
        plus_A(x1,x2) = x1 + 6
        s_A(x1) = 1
        U13_A(x1,x2,x3) = 5
        U14_A(x1,x2,x3) = 5
        U15_A(x1,x2) = 1
        isNat_A(x1) = 2
        U21_A(x1,x2) = 3
        U22_A(x1,x2) = 4
        active_A(x1) = x1
        U16_A(x1) = 0
        U23_A(x1) = 4
        U51_A(x1,x2) = x2
        U52_A(x1,x2) = x2 + 1
        U61_A(x1,x2,x3) = x3 + 5
        U62_A(x1,x2,x3) = x3 + 4
        U63_A(x1,x2,x3) = x3 + 3
        U64_A(x1,x2,x3) = x3 + 2
        |0|_A() = 1
    

The next rules are strictly ordered:

  p10, p11, p12, p13, p15, p16

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(U41(X)) -> mark#(X)
p2: mark#(U11(X1,X2,X3)) -> active#(U11(mark(X1),X2,X3))
p3: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p4: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p6: mark#(isNatKind(X)) -> active#(isNatKind(X))
p7: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p8: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p9: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p10: mark#(U31(X1,X2)) -> active#(U31(mark(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, p2, p3, p4, p5, p6, p7, p8, p9, p10}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(U41(X)) -> mark#(X)
p2: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p3: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p4: mark#(U14(X1,X2,X3)) -> active#(U14(mark(X1),X2,X3))
p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p6: mark#(U13(X1,X2,X3)) -> active#(U13(mark(X1),X2,X3))
p7: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p8: mark#(isNatKind(X)) -> active#(isNatKind(X))
p9: mark#(U12(X1,X2,X3)) -> active#(U12(mark(X1),X2,X3))
p10: 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^1
      order: standard order
      interpretations:
        mark#_A(x1) = 2
        U41_A(x1) = 1
        U31_A(x1,x2) = 2
        active#_A(x1) = x1
        mark_A(x1) = 1
        isNatKind_A(x1) = 2
        s_A(x1) = 1
        U14_A(x1,x2,x3) = 1
        plus_A(x1,x2) = 1
        U13_A(x1,x2,x3) = 1
        tt_A() = 1
        U32_A(x1) = 0
        U12_A(x1,x2,x3) = 1
        U11_A(x1,x2,x3) = 0
        active_A(x1) = 1
        U15_A(x1,x2) = 1
        isNat_A(x1) = 1
        U16_A(x1) = 1
        U21_A(x1,x2) = 1
        U22_A(x1,x2) = 1
        U23_A(x1) = 1
        U51_A(x1,x2) = 1
        U52_A(x1,x2) = 1
        U61_A(x1,x2,x3) = 1
        U62_A(x1,x2,x3) = 1
        U63_A(x1,x2,x3) = 1
        U64_A(x1,x2,x3) = 1
        |0|_A() = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        mark#_A(x1) = 0
        U41_A(x1) = 1
        U31_A(x1,x2) = 0
        active#_A(x1) = 0
        mark_A(x1) = 1
        isNatKind_A(x1) = 1
        s_A(x1) = 1
        U14_A(x1,x2,x3) = 0
        plus_A(x1,x2) = 1
        U13_A(x1,x2,x3) = 0
        tt_A() = 1
        U32_A(x1) = 0
        U12_A(x1,x2,x3) = 1
        U11_A(x1,x2,x3) = 1
        active_A(x1) = 1
        U15_A(x1,x2) = 1
        isNat_A(x1) = 1
        U16_A(x1) = 1
        U21_A(x1,x2) = 1
        U22_A(x1,x2) = 1
        U23_A(x1) = 1
        U51_A(x1,x2) = 1
        U52_A(x1,x2) = 1
        U61_A(x1,x2,x3) = 1
        U62_A(x1,x2,x3) = 1
        U63_A(x1,x2,x3) = 1
        U64_A(x1,x2,x3) = 1
        |0|_A() = 1
    

The next rules are strictly ordered:

  p4, p6, p9, p10

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(U41(X)) -> mark#(X)
p2: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p3: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))
p4: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p5: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p6: mark#(isNatKind(X)) -> active#(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 estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5, p6}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(U41(X)) -> mark#(X)
p2: mark#(isNatKind(X)) -> active#(isNatKind(X))
p3: active#(U31(tt(),V2)) -> mark#(U32(isNatKind(V2)))
p4: mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
p5: active#(isNatKind(plus(V1,V2))) -> mark#(U31(isNatKind(V1),V2))
p6: active#(isNatKind(s(V1))) -> mark#(U41(isNatKind(V1)))

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  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^1
      order: standard order
      interpretations:
        mark#_A(x1) = x1 + 1
        U41_A(x1) = x1 + 1
        isNatKind_A(x1) = x1 + 1
        active#_A(x1) = x1
        U31_A(x1,x2) = x1 + x2 + 3
        tt_A() = 1
        U32_A(x1) = 2
        mark_A(x1) = x1
        plus_A(x1,x2) = x1 + x2 + 5
        s_A(x1) = x1 + 3
        active_A(x1) = x1
        U11_A(x1,x2,x3) = x2 + x3 + 7
        U12_A(x1,x2,x3) = x2 + x3 + 6
        U13_A(x1,x2,x3) = x2 + x3 + 5
        U14_A(x1,x2,x3) = x2 + x3 + 4
        U15_A(x1,x2) = x2 + 3
        isNat_A(x1) = x1 + 3
        U16_A(x1) = 2
        U21_A(x1,x2) = x2 + 4
        U22_A(x1,x2) = x1 + 2
        U23_A(x1) = 2
        U51_A(x1,x2) = x2 + 2
        U52_A(x1,x2) = x2 + 1
        U61_A(x1,x2,x3) = x2 + x3 + 8
        U62_A(x1,x2,x3) = x2 + x3 + 8
        U63_A(x1,x2,x3) = x2 + x3 + 8
        U64_A(x1,x2,x3) = x2 + x3 + 8
        |0|_A() = 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        mark#_A(x1) = 0
        U41_A(x1) = 1
        isNatKind_A(x1) = 1
        active#_A(x1) = x1 + 1
        U31_A(x1,x2) = 0
        tt_A() = 1
        U32_A(x1) = 1
        mark_A(x1) = x1 + 1
        plus_A(x1,x2) = 0
        s_A(x1) = 0
        active_A(x1) = 1
        U11_A(x1,x2,x3) = 1
        U12_A(x1,x2,x3) = 1
        U13_A(x1,x2,x3) = 1
        U14_A(x1,x2,x3) = 1
        U15_A(x1,x2) = 1
        isNat_A(x1) = 1
        U16_A(x1) = 1
        U21_A(x1,x2) = 1
        U22_A(x1,x2) = 1
        U23_A(x1) = 1
        U51_A(x1,x2) = 1
        U52_A(x1,x2) = 1
        U61_A(x1,x2,x3) = 0
        U62_A(x1,x2,x3) = 0
        U63_A(x1,x2,x3) = 0
        U64_A(x1,x2,x3) = 0
        |0|_A() = 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: 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^1
      order: standard order
      interpretations:
        U12#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U12#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U12#(mark(X1),X2,X3) -> U12#(X1,X2,X3)
p2: U12#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U12#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U12#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U12#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        isNatKind#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        isNatKind#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p1, p2

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^1
      order: standard order
      interpretations:
        U13#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U13#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U13#(mark(X1),X2,X3) -> U13#(X1,X2,X3)
p2: U13#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U13#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U13#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U13#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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^1
      order: standard order
      interpretations:
        U14#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U14#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U14#(mark(X1),X2,X3) -> U14#(X1,X2,X3)
p2: U14#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U14#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U14#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U14#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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^1
      order: standard order
      interpretations:
        U15#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U15#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        isNat#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        isNat#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p1, p2

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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U16#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U16#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p1, p2

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^1
      order: standard order
      interpretations:
        U22#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U22#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U23#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U23#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p1, p2

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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U32#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U32#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p1, p2

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^1
      order: standard order
      interpretations:
        U52#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U52#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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^1
      order: standard order
      interpretations:
        U62#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U62#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U62#(mark(X1),X2,X3) -> U62#(X1,X2,X3)
p2: U62#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U62#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U62#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U62#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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^1
      order: standard order
      interpretations:
        U63#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U63#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U63#(mark(X1),X2,X3) -> U63#(X1,X2,X3)
p2: U63#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U63#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U63#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U63#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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^1
      order: standard order
      interpretations:
        U64#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U64#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U64#(mark(X1),X2,X3) -> U64#(X1,X2,X3)
p2: U64#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U64#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U64#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U64#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        s#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        s#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = 1
    

The next rules are strictly ordered:

  p1, p2

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^1
      order: standard order
      interpretations:
        plus#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        plus#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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^1
      order: standard order
      interpretations:
        U11#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U11#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U11#(mark(X1),X2,X3) -> U11#(X1,X2,X3)
p2: U11#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U11#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U11#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U11#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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 monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U21#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U21#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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: 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^1
      order: standard order
      interpretations:
        U31#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U31#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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 reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U41#_A(x1) = x1
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U41#_A(x1) = 0
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p1, p2

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^1
      order: standard order
      interpretations:
        U51#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U51#_A(x1,x2) = x1 + x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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^1
      order: standard order
      interpretations:
        U61#_A(x1,x2,x3) = x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U61#_A(x1,x2,x3) = x2
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    

The next rules are strictly ordered:

  p2, p3, p5, p6

We remove them from the problem.

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: U61#(mark(X1),X2,X3) -> U61#(X1,X2,X3)
p2: U61#(active(X1),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 estimated dependency graph contains the following SCCs:

  {p1, p2}


-- 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#(active(X1),X2,X3) -> U61#(X1,X2,X3)

and R consists of:

r1: active(U11(tt(),V1,V2)) -> mark(U12(isNatKind(V1),V1,V2))
r2: active(U12(tt(),V1,V2)) -> mark(U13(isNatKind(V2),V1,V2))
r3: active(U13(tt(),V1,V2)) -> mark(U14(isNatKind(V2),V1,V2))
r4: active(U14(tt(),V1,V2)) -> mark(U15(isNat(V1),V2))
r5: active(U15(tt(),V2)) -> mark(U16(isNat(V2)))
r6: active(U16(tt())) -> mark(tt())
r7: active(U21(tt(),V1)) -> mark(U22(isNatKind(V1),V1))
r8: active(U22(tt(),V1)) -> mark(U23(isNat(V1)))
r9: active(U23(tt())) -> mark(tt())
r10: active(U31(tt(),V2)) -> mark(U32(isNatKind(V2)))
r11: active(U32(tt())) -> mark(tt())
r12: active(U41(tt())) -> mark(tt())
r13: active(U51(tt(),N)) -> mark(U52(isNatKind(N),N))
r14: active(U52(tt(),N)) -> mark(N)
r15: active(U61(tt(),M,N)) -> mark(U62(isNatKind(M),M,N))
r16: active(U62(tt(),M,N)) -> mark(U63(isNat(N),M,N))
r17: active(U63(tt(),M,N)) -> mark(U64(isNatKind(N),M,N))
r18: active(U64(tt(),M,N)) -> mark(s(plus(N,M)))
r19: active(isNat(|0|())) -> mark(tt())
r20: active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2))
r21: active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1))
r22: active(isNatKind(|0|())) -> mark(tt())
r23: active(isNatKind(plus(V1,V2))) -> mark(U31(isNatKind(V1),V2))
r24: active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1)))
r25: active(plus(N,|0|())) -> mark(U51(isNat(N),N))
r26: active(plus(N,s(M))) -> mark(U61(isNat(M),M,N))
r27: mark(U11(X1,X2,X3)) -> active(U11(mark(X1),X2,X3))
r28: mark(tt()) -> active(tt())
r29: mark(U12(X1,X2,X3)) -> active(U12(mark(X1),X2,X3))
r30: mark(isNatKind(X)) -> active(isNatKind(X))
r31: mark(U13(X1,X2,X3)) -> active(U13(mark(X1),X2,X3))
r32: mark(U14(X1,X2,X3)) -> active(U14(mark(X1),X2,X3))
r33: mark(U15(X1,X2)) -> active(U15(mark(X1),X2))
r34: mark(isNat(X)) -> active(isNat(X))
r35: mark(U16(X)) -> active(U16(mark(X)))
r36: mark(U21(X1,X2)) -> active(U21(mark(X1),X2))
r37: mark(U22(X1,X2)) -> active(U22(mark(X1),X2))
r38: mark(U23(X)) -> active(U23(mark(X)))
r39: mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
r40: mark(U32(X)) -> active(U32(mark(X)))
r41: mark(U41(X)) -> active(U41(mark(X)))
r42: mark(U51(X1,X2)) -> active(U51(mark(X1),X2))
r43: mark(U52(X1,X2)) -> active(U52(mark(X1),X2))
r44: mark(U61(X1,X2,X3)) -> active(U61(mark(X1),X2,X3))
r45: mark(U62(X1,X2,X3)) -> active(U62(mark(X1),X2,X3))
r46: mark(U63(X1,X2,X3)) -> active(U63(mark(X1),X2,X3))
r47: mark(U64(X1,X2,X3)) -> active(U64(mark(X1),X2,X3))
r48: mark(s(X)) -> active(s(mark(X)))
r49: mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
r50: mark(|0|()) -> active(|0|())
r51: U11(mark(X1),X2,X3) -> U11(X1,X2,X3)
r52: U11(X1,mark(X2),X3) -> U11(X1,X2,X3)
r53: U11(X1,X2,mark(X3)) -> U11(X1,X2,X3)
r54: U11(active(X1),X2,X3) -> U11(X1,X2,X3)
r55: U11(X1,active(X2),X3) -> U11(X1,X2,X3)
r56: U11(X1,X2,active(X3)) -> U11(X1,X2,X3)
r57: U12(mark(X1),X2,X3) -> U12(X1,X2,X3)
r58: U12(X1,mark(X2),X3) -> U12(X1,X2,X3)
r59: U12(X1,X2,mark(X3)) -> U12(X1,X2,X3)
r60: U12(active(X1),X2,X3) -> U12(X1,X2,X3)
r61: U12(X1,active(X2),X3) -> U12(X1,X2,X3)
r62: U12(X1,X2,active(X3)) -> U12(X1,X2,X3)
r63: isNatKind(mark(X)) -> isNatKind(X)
r64: isNatKind(active(X)) -> isNatKind(X)
r65: U13(mark(X1),X2,X3) -> U13(X1,X2,X3)
r66: U13(X1,mark(X2),X3) -> U13(X1,X2,X3)
r67: U13(X1,X2,mark(X3)) -> U13(X1,X2,X3)
r68: U13(active(X1),X2,X3) -> U13(X1,X2,X3)
r69: U13(X1,active(X2),X3) -> U13(X1,X2,X3)
r70: U13(X1,X2,active(X3)) -> U13(X1,X2,X3)
r71: U14(mark(X1),X2,X3) -> U14(X1,X2,X3)
r72: U14(X1,mark(X2),X3) -> U14(X1,X2,X3)
r73: U14(X1,X2,mark(X3)) -> U14(X1,X2,X3)
r74: U14(active(X1),X2,X3) -> U14(X1,X2,X3)
r75: U14(X1,active(X2),X3) -> U14(X1,X2,X3)
r76: U14(X1,X2,active(X3)) -> U14(X1,X2,X3)
r77: U15(mark(X1),X2) -> U15(X1,X2)
r78: U15(X1,mark(X2)) -> U15(X1,X2)
r79: U15(active(X1),X2) -> U15(X1,X2)
r80: U15(X1,active(X2)) -> U15(X1,X2)
r81: isNat(mark(X)) -> isNat(X)
r82: isNat(active(X)) -> isNat(X)
r83: U16(mark(X)) -> U16(X)
r84: U16(active(X)) -> U16(X)
r85: U21(mark(X1),X2) -> U21(X1,X2)
r86: U21(X1,mark(X2)) -> U21(X1,X2)
r87: U21(active(X1),X2) -> U21(X1,X2)
r88: U21(X1,active(X2)) -> U21(X1,X2)
r89: U22(mark(X1),X2) -> U22(X1,X2)
r90: U22(X1,mark(X2)) -> U22(X1,X2)
r91: U22(active(X1),X2) -> U22(X1,X2)
r92: U22(X1,active(X2)) -> U22(X1,X2)
r93: U23(mark(X)) -> U23(X)
r94: U23(active(X)) -> U23(X)
r95: U31(mark(X1),X2) -> U31(X1,X2)
r96: U31(X1,mark(X2)) -> U31(X1,X2)
r97: U31(active(X1),X2) -> U31(X1,X2)
r98: U31(X1,active(X2)) -> U31(X1,X2)
r99: U32(mark(X)) -> U32(X)
r100: U32(active(X)) -> U32(X)
r101: U41(mark(X)) -> U41(X)
r102: U41(active(X)) -> U41(X)
r103: U51(mark(X1),X2) -> U51(X1,X2)
r104: U51(X1,mark(X2)) -> U51(X1,X2)
r105: U51(active(X1),X2) -> U51(X1,X2)
r106: U51(X1,active(X2)) -> U51(X1,X2)
r107: U52(mark(X1),X2) -> U52(X1,X2)
r108: U52(X1,mark(X2)) -> U52(X1,X2)
r109: U52(active(X1),X2) -> U52(X1,X2)
r110: U52(X1,active(X2)) -> U52(X1,X2)
r111: U61(mark(X1),X2,X3) -> U61(X1,X2,X3)
r112: U61(X1,mark(X2),X3) -> U61(X1,X2,X3)
r113: U61(X1,X2,mark(X3)) -> U61(X1,X2,X3)
r114: U61(active(X1),X2,X3) -> U61(X1,X2,X3)
r115: U61(X1,active(X2),X3) -> U61(X1,X2,X3)
r116: U61(X1,X2,active(X3)) -> U61(X1,X2,X3)
r117: U62(mark(X1),X2,X3) -> U62(X1,X2,X3)
r118: U62(X1,mark(X2),X3) -> U62(X1,X2,X3)
r119: U62(X1,X2,mark(X3)) -> U62(X1,X2,X3)
r120: U62(active(X1),X2,X3) -> U62(X1,X2,X3)
r121: U62(X1,active(X2),X3) -> U62(X1,X2,X3)
r122: U62(X1,X2,active(X3)) -> U62(X1,X2,X3)
r123: U63(mark(X1),X2,X3) -> U63(X1,X2,X3)
r124: U63(X1,mark(X2),X3) -> U63(X1,X2,X3)
r125: U63(X1,X2,mark(X3)) -> U63(X1,X2,X3)
r126: U63(active(X1),X2,X3) -> U63(X1,X2,X3)
r127: U63(X1,active(X2),X3) -> U63(X1,X2,X3)
r128: U63(X1,X2,active(X3)) -> U63(X1,X2,X3)
r129: U64(mark(X1),X2,X3) -> U64(X1,X2,X3)
r130: U64(X1,mark(X2),X3) -> U64(X1,X2,X3)
r131: U64(X1,X2,mark(X3)) -> U64(X1,X2,X3)
r132: U64(active(X1),X2,X3) -> U64(X1,X2,X3)
r133: U64(X1,active(X2),X3) -> U64(X1,X2,X3)
r134: U64(X1,X2,active(X3)) -> U64(X1,X2,X3)
r135: s(mark(X)) -> s(X)
r136: s(active(X)) -> s(X)
r137: plus(mark(X1),X2) -> plus(X1,X2)
r138: plus(X1,mark(X2)) -> plus(X1,X2)
r139: plus(active(X1),X2) -> plus(X1,X2)
r140: plus(X1,active(X2)) -> plus(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U61#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 1
    
    2. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        U61#_A(x1,x2,x3) = x1 + x2 + x3
        mark_A(x1) = x1 + 1
        active_A(x1) = x1 + 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.