| U11#( tt , V1 , V2 ) | → | U12#( isNat( activate( V1 ) ) , activate( V2 ) ) |
| U11#( tt , V1 , V2 ) | → | isNat#( activate( V1 ) ) |
| U11#( tt , V1 , V2 ) | → | activate#( V1 ) |
| U11#( tt , V1 , V2 ) | → | activate#( V2 ) |
| U12#( tt , V2 ) | → | U13#( isNat( activate( V2 ) ) ) |
| U12#( tt , V2 ) | → | isNat#( activate( V2 ) ) |
| U12#( tt , V2 ) | → | activate#( V2 ) |
| U21#( tt , V1 ) | → | U22#( isNat( activate( V1 ) ) ) |
| U21#( tt , V1 ) | → | isNat#( activate( V1 ) ) |
| U21#( tt , V1 ) | → | activate#( V1 ) |
| U31#( tt , N ) | → | activate#( N ) |
| U41#( tt , M , N ) | → | s#( plus( activate( N ) , activate( M ) ) ) |
| U41#( tt , M , N ) | → | plus#( activate( N ) , activate( M ) ) |
| U41#( tt , M , N ) | → | activate#( N ) |
| U41#( tt , M , N ) | → | activate#( M ) |
| and#( tt , X ) | → | activate#( X ) |
| isNat#( n__plus( V1 , V2 ) ) | → | U11#( and( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) , activate( V1 ) , activate( V2 ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNat#( n__s( V1 ) ) | → | U21#( isNatKind( activate( V1 ) ) , activate( V1 ) ) |
| isNat#( n__s( V1 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNat#( n__s( V1 ) ) | → | activate#( V1 ) |
| isNat#( n__s( V1 ) ) | → | activate#( V1 ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNatKind#( n__s( V1 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__s( V1 ) ) | → | activate#( V1 ) |
| plus#( N , 0 ) | → | U31#( and( isNat( N ) , n__isNatKind( N ) ) , N ) |
| plus#( N , 0 ) | → | and#( isNat( N ) , n__isNatKind( N ) ) |
| plus#( N , 0 ) | → | isNat#( N ) |
| plus#( N , s( M ) ) | → | U41#( and( and( isNat( M ) , n__isNatKind( M ) ) , n__and( n__isNat( N ) , n__isNatKind( N ) ) ) , M , N ) |
| plus#( N , s( M ) ) | → | and#( and( isNat( M ) , n__isNatKind( M ) ) , n__and( n__isNat( N ) , n__isNatKind( N ) ) ) |
| plus#( N , s( M ) ) | → | and#( isNat( M ) , n__isNatKind( M ) ) |
| plus#( N , s( M ) ) | → | isNat#( M ) |
| activate#( n__0 ) | → | 0# |
| activate#( n__plus( X1 , X2 ) ) | → | plus#( activate( X1 ) , activate( X2 ) ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X2 ) |
| activate#( n__isNatKind( X ) ) | → | isNatKind#( X ) |
| activate#( n__s( X ) ) | → | s#( activate( X ) ) |
| activate#( n__s( X ) ) | → | activate#( X ) |
| activate#( n__and( X1 , X2 ) ) | → | and#( activate( X1 ) , X2 ) |
| activate#( n__and( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__isNat( X ) ) | → | isNat#( X ) |
The dependency pairs are split into 1 component(s).
| U12#( tt , V2 ) | → | isNat#( activate( V2 ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | U11#( and( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) , activate( V1 ) , activate( V2 ) ) |
| U11#( tt , V1 , V2 ) | → | U12#( isNat( activate( V1 ) ) , activate( V2 ) ) |
| U12#( tt , V2 ) | → | activate#( V2 ) |
| activate#( n__plus( X1 , X2 ) ) | → | plus#( activate( X1 ) , activate( X2 ) ) |
| plus#( N , 0 ) | → | U31#( and( isNat( N ) , n__isNatKind( N ) ) , N ) |
| U31#( tt , N ) | → | activate#( N ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X2 ) |
| activate#( n__isNatKind( X ) ) | → | isNatKind#( X ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| and#( tt , X ) | → | activate#( X ) |
| activate#( n__s( X ) ) | → | activate#( X ) |
| activate#( n__and( X1 , X2 ) ) | → | and#( activate( X1 ) , X2 ) |
| activate#( n__and( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__isNat( X ) ) | → | isNat#( X ) |
| isNat#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNatKind#( n__s( V1 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__s( V1 ) ) | → | activate#( V1 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNat#( n__s( V1 ) ) | → | U21#( isNatKind( activate( V1 ) ) , activate( V1 ) ) |
| U21#( tt , V1 ) | → | isNat#( activate( V1 ) ) |
| isNat#( n__s( V1 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNat#( n__s( V1 ) ) | → | activate#( V1 ) |
| U21#( tt , V1 ) | → | activate#( V1 ) |
| plus#( N , 0 ) | → | and#( isNat( N ) , n__isNatKind( N ) ) |
| plus#( N , 0 ) | → | isNat#( N ) |
| plus#( N , s( M ) ) | → | U41#( and( and( isNat( M ) , n__isNatKind( M ) ) , n__and( n__isNat( N ) , n__isNatKind( N ) ) ) , M , N ) |
| U41#( tt , M , N ) | → | plus#( activate( N ) , activate( M ) ) |
| plus#( N , s( M ) ) | → | and#( and( isNat( M ) , n__isNatKind( M ) ) , n__and( n__isNat( N ) , n__isNatKind( N ) ) ) |
| plus#( N , s( M ) ) | → | and#( isNat( M ) , n__isNatKind( M ) ) |
| plus#( N , s( M ) ) | → | isNat#( M ) |
| U41#( tt , M , N ) | → | activate#( N ) |
| U41#( tt , M , N ) | → | activate#( M ) |
| U11#( tt , V1 , V2 ) | → | isNat#( activate( V1 ) ) |
| U11#( tt , V1 , V2 ) | → | activate#( V1 ) |
| U11#( tt , V1 , V2 ) | → | activate#( V2 ) |
Linear polynomial interpretation over the naturals
| [U11 (x1, x2, x3) ] | = | x1 + x2 + x3 | |
| [n__plus (x1, x2) ] | = | 3 x1 + 3 x2 | |
| [isNatKind (x1) ] | = | x1 | |
| [U22 (x1) ] | = | 1 | |
| [n__0] | = | 0 | |
| [U13 (x1) ] | = | 0 | |
| [U12 (x1, x2) ] | = | x1 + x2 | |
| [U41# (x1, x2, x3) ] | = | 3 x1 + 3 x2 + 2 | |
| [0] | = | 0 | |
| [U41 (x1, x2, x3) ] | = | 3 x1 + 3 x2 + 1 | |
| [isNat# (x1) ] | = | x1 + 1 | |
| [activate (x1) ] | = | x1 | |
| [U21 (x1, x2) ] | = | x1 + 1 | |
| [isNatKind# (x1) ] | = | x1 + 1 | |
| [U31 (x1, x2) ] | = | x1 | |
| [and (x1, x2) ] | = | x1 + 2 x2 | |
| [s (x1) ] | = | x1 + 1 | |
| [U31# (x1, x2) ] | = | x1 + 1 | |
| [and# (x1, x2) ] | = | x1 + 1 | |
| [U21# (x1, x2) ] | = | x1 + 2 | |
| [n__isNatKind (x1) ] | = | x1 | |
| [U11# (x1, x2, x3) ] | = | x1 + x2 + 1 | |
| [n__s (x1) ] | = | x1 + 1 | |
| [plus# (x1, x2) ] | = | 3 x1 + 3 x2 + 1 | |
| [U12# (x1, x2) ] | = | x1 + 1 | |
| [tt] | = | 0 | |
| [isNat (x1) ] | = | x1 | |
| [activate# (x1) ] | = | x1 + 1 | |
| [plus (x1, x2) ] | = | 3 x1 + 3 x2 | |
| [n__and (x1, x2) ] | = | x1 + 2 x2 | |
| [n__isNat (x1) ] | = | x1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| U12#( tt , V2 ) | → | isNat#( activate( V2 ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | U11#( and( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) , activate( V1 ) , activate( V2 ) ) |
| U11#( tt , V1 , V2 ) | → | U12#( isNat( activate( V1 ) ) , activate( V2 ) ) |
| U12#( tt , V2 ) | → | activate#( V2 ) |
| activate#( n__plus( X1 , X2 ) ) | → | plus#( activate( X1 ) , activate( X2 ) ) |
| plus#( N , 0 ) | → | U31#( and( isNat( N ) , n__isNatKind( N ) ) , N ) |
| U31#( tt , N ) | → | activate#( N ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X2 ) |
| activate#( n__isNatKind( X ) ) | → | isNatKind#( X ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| and#( tt , X ) | → | activate#( X ) |
| activate#( n__and( X1 , X2 ) ) | → | and#( activate( X1 ) , X2 ) |
| activate#( n__and( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__isNat( X ) ) | → | isNat#( X ) |
| isNat#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNat#( n__s( V1 ) ) | → | U21#( isNatKind( activate( V1 ) ) , activate( V1 ) ) |
| plus#( N , 0 ) | → | and#( isNat( N ) , n__isNatKind( N ) ) |
| plus#( N , 0 ) | → | isNat#( N ) |
| U11#( tt , V1 , V2 ) | → | isNat#( activate( V1 ) ) |
| U11#( tt , V1 , V2 ) | → | activate#( V1 ) |
| U11#( tt , V1 , V2 ) | → | activate#( V2 ) |
The dependency pairs are split into 1 component(s).
| isNat#( n__plus( V1 , V2 ) ) | → | U11#( and( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) , activate( V1 ) , activate( V2 ) ) |
| U11#( tt , V1 , V2 ) | → | U12#( isNat( activate( V1 ) ) , activate( V2 ) ) |
| U12#( tt , V2 ) | → | isNat#( activate( V2 ) ) |
| isNat#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| and#( tt , X ) | → | activate#( X ) |
| activate#( n__plus( X1 , X2 ) ) | → | plus#( activate( X1 ) , activate( X2 ) ) |
| plus#( N , 0 ) | → | U31#( and( isNat( N ) , n__isNatKind( N ) ) , N ) |
| U31#( tt , N ) | → | activate#( N ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__plus( X1 , X2 ) ) | → | activate#( X2 ) |
| activate#( n__isNatKind( X ) ) | → | isNatKind#( X ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | and#( isNatKind( activate( V1 ) ) , n__isNatKind( activate( V2 ) ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| activate#( n__and( X1 , X2 ) ) | → | and#( activate( X1 ) , X2 ) |
| activate#( n__and( X1 , X2 ) ) | → | activate#( X1 ) |
| activate#( n__isNat( X ) ) | → | isNat#( X ) |
| isNat#( n__plus( V1 , V2 ) ) | → | isNatKind#( activate( V1 ) ) |
| isNatKind#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V1 ) |
| isNat#( n__plus( V1 , V2 ) ) | → | activate#( V2 ) |
| plus#( N , 0 ) | → | and#( isNat( N ) , n__isNatKind( N ) ) |
| plus#( N , 0 ) | → | isNat#( N ) |
| U12#( tt , V2 ) | → | activate#( V2 ) |
| U11#( tt , V1 , V2 ) | → | isNat#( activate( V1 ) ) |
| U11#( tt , V1 , V2 ) | → | activate#( V1 ) |
| U11#( tt , V1 , V2 ) | → | activate#( V2 ) |
Linear polynomial interpretation over the naturals
| [U11 (x1, x2, x3) ] | = | 2 x1 + 3 | |
| [n__plus (x1, x2) ] | = | 2 x1 + 3 x2 + 3 | |
| [isNatKind (x1) ] | = | x1 | |
| [U22 (x1) ] | = | 1 | |
| [n__0] | = | 2 | |
| [U13 (x1) ] | = | 1 | |
| [U12 (x1, x2) ] | = | 1 | |
| [0] | = | 2 | |
| [U41 (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 | |
| [isNat# (x1) ] | = | 2 x1 | |
| [activate (x1) ] | = | x1 | |
| [U21 (x1, x2) ] | = | x1 + 1 | |
| [isNatKind# (x1) ] | = | 2 x1 | |
| [and (x1, x2) ] | = | 2 x1 + x2 + 1 | |
| [U31 (x1, x2) ] | = | x1 + 3 | |
| [s (x1) ] | = | x1 | |
| [and# (x1, x2) ] | = | 3 x1 + 2 | |
| [U31# (x1, x2) ] | = | 3 x1 + 1 | |
| [n__isNatKind (x1) ] | = | x1 | |
| [U11# (x1, x2, x3) ] | = | 3 x1 + 3 x2 | |
| [n__s (x1) ] | = | x1 | |
| [plus# (x1, x2) ] | = | 3 x1 + 2 x2 | |
| [U12# (x1, x2) ] | = | 3 x1 | |
| [tt] | = | 0 | |
| [isNat (x1) ] | = | 2 x1 + 1 | |
| [activate# (x1) ] | = | 3 x1 | |
| [plus (x1, x2) ] | = | 2 x1 + 3 x2 + 3 | |
| [n__and (x1, x2) ] | = | 2 x1 + x2 + 1 | |
| [n__isNat (x1) ] | = | 2 x1 + 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| U11#( tt , V1 , V2 ) | → | U12#( isNat( activate( V1 ) ) , activate( V2 ) ) |
| U12#( tt , V2 ) | → | isNat#( activate( V2 ) ) |
| activate#( n__isNatKind( X ) ) | → | isNatKind#( X ) |
| U12#( tt , V2 ) | → | activate#( V2 ) |
| U11#( tt , V1 , V2 ) | → | isNat#( activate( V1 ) ) |
| U11#( tt , V1 , V2 ) | → | activate#( V1 ) |
| U11#( tt , V1 , V2 ) | → | activate#( V2 ) |
The dependency pairs are split into 0 component(s).