YES

We show the termination of the TRS R:

  U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2))
  U12(tt(),V2) -> U13(isNat(activate(V2)))
  U13(tt()) -> tt()
  U21(tt(),V1) -> U22(isNat(activate(V1)))
  U22(tt()) -> tt()
  U31(tt(),N) -> activate(N)
  U41(tt(),M,N) -> s(plus(activate(N),activate(M)))
  and(tt(),X) -> activate(X)
  isNat(n__0()) -> tt()
  isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2))
  isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
  isNatKind(n__0()) -> tt()
  isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
  isNatKind(n__s(V1)) -> isNatKind(activate(V1))
  plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N)
  plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N)
  |0|() -> n__0()
  plus(X1,X2) -> n__plus(X1,X2)
  isNatKind(X) -> n__isNatKind(X)
  s(X) -> n__s(X)
  and(X1,X2) -> n__and(X1,X2)
  activate(n__0()) -> |0|()
  activate(n__plus(X1,X2)) -> plus(X1,X2)
  activate(n__isNatKind(X)) -> isNatKind(X)
  activate(n__s(X)) -> s(X)
  activate(n__and(X1,X2)) -> and(X1,X2)
  activate(X) -> X

-- SCC decomposition.

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

p1: U11#(tt(),V1,V2) -> U12#(isNat(activate(V1)),activate(V2))
p2: U11#(tt(),V1,V2) -> isNat#(activate(V1))
p3: U11#(tt(),V1,V2) -> activate#(V1)
p4: U11#(tt(),V1,V2) -> activate#(V2)
p5: U12#(tt(),V2) -> U13#(isNat(activate(V2)))
p6: U12#(tt(),V2) -> isNat#(activate(V2))
p7: U12#(tt(),V2) -> activate#(V2)
p8: U21#(tt(),V1) -> U22#(isNat(activate(V1)))
p9: U21#(tt(),V1) -> isNat#(activate(V1))
p10: U21#(tt(),V1) -> activate#(V1)
p11: U31#(tt(),N) -> activate#(N)
p12: U41#(tt(),M,N) -> s#(plus(activate(N),activate(M)))
p13: U41#(tt(),M,N) -> plus#(activate(N),activate(M))
p14: U41#(tt(),M,N) -> activate#(N)
p15: U41#(tt(),M,N) -> activate#(M)
p16: and#(tt(),X) -> activate#(X)
p17: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2))
p18: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
p19: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
p20: isNat#(n__plus(V1,V2)) -> activate#(V1)
p21: isNat#(n__plus(V1,V2)) -> activate#(V2)
p22: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
p23: isNat#(n__s(V1)) -> isNatKind#(activate(V1))
p24: isNat#(n__s(V1)) -> activate#(V1)
p25: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
p26: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
p27: isNatKind#(n__plus(V1,V2)) -> activate#(V1)
p28: isNatKind#(n__plus(V1,V2)) -> activate#(V2)
p29: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
p30: isNatKind#(n__s(V1)) -> activate#(V1)
p31: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N)
p32: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N))
p33: plus#(N,|0|()) -> isNat#(N)
p34: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N)
p35: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))
p36: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M))
p37: plus#(N,s(M)) -> isNat#(M)
p38: plus#(N,s(M)) -> isNat#(N)
p39: activate#(n__0()) -> |0|#()
p40: activate#(n__plus(X1,X2)) -> plus#(X1,X2)
p41: activate#(n__isNatKind(X)) -> isNatKind#(X)
p42: activate#(n__s(X)) -> s#(X)
p43: activate#(n__and(X1,X2)) -> and#(X1,X2)

and R consists of:

r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2))
r2: U12(tt(),V2) -> U13(isNat(activate(V2)))
r3: U13(tt()) -> tt()
r4: U21(tt(),V1) -> U22(isNat(activate(V1)))
r5: U22(tt()) -> tt()
r6: U31(tt(),N) -> activate(N)
r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M)))
r8: and(tt(),X) -> activate(X)
r9: isNat(n__0()) -> tt()
r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2))
r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
r12: isNatKind(n__0()) -> tt()
r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1))
r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N)
r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N)
r17: |0|() -> n__0()
r18: plus(X1,X2) -> n__plus(X1,X2)
r19: isNatKind(X) -> n__isNatKind(X)
r20: s(X) -> n__s(X)
r21: and(X1,X2) -> n__and(X1,X2)
r22: activate(n__0()) -> |0|()
r23: activate(n__plus(X1,X2)) -> plus(X1,X2)
r24: activate(n__isNatKind(X)) -> isNatKind(X)
r25: activate(n__s(X)) -> s(X)
r26: activate(n__and(X1,X2)) -> and(X1,X2)
r27: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p6, p7, p9, p10, p11, 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, p40, p41, p43}


-- Reduction pair.

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

p1: U11#(tt(),V1,V2) -> U12#(isNat(activate(V1)),activate(V2))
p2: U12#(tt(),V2) -> activate#(V2)
p3: activate#(n__and(X1,X2)) -> and#(X1,X2)
p4: and#(tt(),X) -> activate#(X)
p5: activate#(n__isNatKind(X)) -> isNatKind#(X)
p6: isNatKind#(n__s(V1)) -> activate#(V1)
p7: activate#(n__plus(X1,X2)) -> plus#(X1,X2)
p8: plus#(N,s(M)) -> isNat#(N)
p9: isNat#(n__s(V1)) -> activate#(V1)
p10: isNat#(n__s(V1)) -> isNatKind#(activate(V1))
p11: isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
p12: isNatKind#(n__plus(V1,V2)) -> activate#(V2)
p13: isNatKind#(n__plus(V1,V2)) -> activate#(V1)
p14: isNatKind#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
p15: isNatKind#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
p16: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
p17: U21#(tt(),V1) -> activate#(V1)
p18: U21#(tt(),V1) -> isNat#(activate(V1))
p19: isNat#(n__plus(V1,V2)) -> activate#(V2)
p20: isNat#(n__plus(V1,V2)) -> activate#(V1)
p21: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
p22: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
p23: isNat#(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2))
p24: U11#(tt(),V1,V2) -> activate#(V2)
p25: U11#(tt(),V1,V2) -> activate#(V1)
p26: U11#(tt(),V1,V2) -> isNat#(activate(V1))
p27: plus#(N,s(M)) -> isNat#(M)
p28: plus#(N,s(M)) -> and#(isNat(M),n__isNatKind(M))
p29: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))
p30: plus#(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N)
p31: U41#(tt(),M,N) -> activate#(M)
p32: U41#(tt(),M,N) -> activate#(N)
p33: U41#(tt(),M,N) -> plus#(activate(N),activate(M))
p34: plus#(N,|0|()) -> isNat#(N)
p35: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N))
p36: plus#(N,|0|()) -> U31#(and(isNat(N),n__isNatKind(N)),N)
p37: U31#(tt(),N) -> activate#(N)
p38: U12#(tt(),V2) -> isNat#(activate(V2))

and R consists of:

r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2))
r2: U12(tt(),V2) -> U13(isNat(activate(V2)))
r3: U13(tt()) -> tt()
r4: U21(tt(),V1) -> U22(isNat(activate(V1)))
r5: U22(tt()) -> tt()
r6: U31(tt(),N) -> activate(N)
r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M)))
r8: and(tt(),X) -> activate(X)
r9: isNat(n__0()) -> tt()
r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2))
r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
r12: isNatKind(n__0()) -> tt()
r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1))
r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N)
r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N)
r17: |0|() -> n__0()
r18: plus(X1,X2) -> n__plus(X1,X2)
r19: isNatKind(X) -> n__isNatKind(X)
r20: s(X) -> n__s(X)
r21: and(X1,X2) -> n__and(X1,X2)
r22: activate(n__0()) -> |0|()
r23: activate(n__plus(X1,X2)) -> plus(X1,X2)
r24: activate(n__isNatKind(X)) -> isNatKind(X)
r25: activate(n__s(X)) -> s(X)
r26: activate(n__and(X1,X2)) -> and(X1,X2)
r27: activate(X) -> X

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      U11#_A(x1,x2,x3) = x2 + x3 + 1
      tt_A() = 1
      U12#_A(x1,x2) = x1 + x2
      isNat_A(x1) = x1
      activate_A(x1) = x1
      activate#_A(x1) = x1 + 1
      n__and_A(x1,x2) = x2 + 1
      and#_A(x1,x2) = x2 + 1
      n__isNatKind_A(x1) = x1 + 1
      isNatKind#_A(x1) = x1 + 1
      n__s_A(x1) = x1 + 2
      n__plus_A(x1,x2) = x1 + x2 + 2
      plus#_A(x1,x2) = x1 + x2 + 1
      s_A(x1) = x1 + 2
      isNat#_A(x1) = x1
      isNatKind_A(x1) = x1 + 1
      U21#_A(x1,x2) = x2 + 1
      and_A(x1,x2) = x2 + 1
      U41#_A(x1,x2,x3) = x2 + x3 + 1
      |0|_A() = 1
      U31#_A(x1,x2) = x2 + 1
      U13_A(x1) = 1
      U12_A(x1,x2) = 1
      U22_A(x1) = 1
      U31_A(x1,x2) = x2
      U41_A(x1,x2,x3) = x2 + x3 + 4
      plus_A(x1,x2) = x1 + x2 + 2
      U11_A(x1,x2,x3) = x1
      U21_A(x1,x2) = x1
      n__0_A() = 1

The next rules are strictly ordered:

  p1, p3, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p23, p26, p27, p28, p30, p34, p36, p38

We remove them from the problem.

-- SCC decomposition.

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

p1: U12#(tt(),V2) -> activate#(V2)
p2: and#(tt(),X) -> activate#(X)
p3: U21#(tt(),V1) -> activate#(V1)
p4: isNat#(n__plus(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
p5: U11#(tt(),V1,V2) -> activate#(V2)
p6: U11#(tt(),V1,V2) -> activate#(V1)
p7: plus#(N,s(M)) -> and#(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))
p8: U41#(tt(),M,N) -> activate#(M)
p9: U41#(tt(),M,N) -> activate#(N)
p10: U41#(tt(),M,N) -> plus#(activate(N),activate(M))
p11: plus#(N,|0|()) -> and#(isNat(N),n__isNatKind(N))
p12: U31#(tt(),N) -> activate#(N)

and R consists of:

r1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2))
r2: U12(tt(),V2) -> U13(isNat(activate(V2)))
r3: U13(tt()) -> tt()
r4: U21(tt(),V1) -> U22(isNat(activate(V1)))
r5: U22(tt()) -> tt()
r6: U31(tt(),N) -> activate(N)
r7: U41(tt(),M,N) -> s(plus(activate(N),activate(M)))
r8: and(tt(),X) -> activate(X)
r9: isNat(n__0()) -> tt()
r10: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2))
r11: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
r12: isNatKind(n__0()) -> tt()
r13: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2)))
r14: isNatKind(n__s(V1)) -> isNatKind(activate(V1))
r15: plus(N,|0|()) -> U31(and(isNat(N),n__isNatKind(N)),N)
r16: plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N)
r17: |0|() -> n__0()
r18: plus(X1,X2) -> n__plus(X1,X2)
r19: isNatKind(X) -> n__isNatKind(X)
r20: s(X) -> n__s(X)
r21: and(X1,X2) -> n__and(X1,X2)
r22: activate(n__0()) -> |0|()
r23: activate(n__plus(X1,X2)) -> plus(X1,X2)
r24: activate(n__isNatKind(X)) -> isNatKind(X)
r25: activate(n__s(X)) -> s(X)
r26: activate(n__and(X1,X2)) -> and(X1,X2)
r27: activate(X) -> X

The estimated dependency graph contains the following SCCs:

  (no SCCs)