(VAR M N V1 V2 X ) (STRATEGY CONTEXTSENSITIVE (U11 1) (tt ) (U12 1) (isNat ) (U13 1) (U21 1) (U22 1) (U31 1) (U41 1) (s 1) (plus 1 2) (and 1) (0 ) (isNatKind ) ) (RULES U11(tt, V1, V2) -> U12(isNat(V1), V2) U12(tt, V2) -> U13(isNat(V2)) U13(tt) -> tt U21(tt, V1) -> U22(isNat(V1)) U22(tt) -> tt U31(tt, N) -> N U41(tt, M, N) -> s(plus(N, M)) and(tt, X) -> X isNat(0) -> tt isNat(plus(V1, V2)) -> U11(and(isNatKind(V1), isNatKind(V2)), V1, V2) isNat(s(V1)) -> U21(isNatKind(V1), V1) isNatKind(0) -> tt isNatKind(plus(V1, V2)) -> and(isNatKind(V1), isNatKind(V2)) isNatKind(s(V1)) -> isNatKind(V1) plus(N, 0) -> U31(and(isNat(N), isNatKind(N)), N) plus(N, s(M)) -> U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) )