Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

a__U11#( tt , V1 , V2 ) a__U12#( a__isNatKind( V1 ) , V1 , V2 )
a__U11#( tt , V1 , V2 ) a__isNatKind#( V1 )
a__U12#( tt , V1 , V2 ) a__U13#( a__isNatKind( V2 ) , V1 , V2 )
a__U12#( tt , V1 , V2 ) a__isNatKind#( V2 )
a__U13#( tt , V1 , V2 ) a__U14#( a__isNatKind( V2 ) , V1 , V2 )
a__U13#( tt , V1 , V2 ) a__isNatKind#( V2 )
a__U14#( tt , V1 , V2 ) a__U15#( a__isNat( V1 ) , V2 )
a__U14#( tt , V1 , V2 ) a__isNat#( V1 )
a__U15#( tt , V2 ) a__U16#( a__isNat( V2 ) )
a__U15#( tt , V2 ) a__isNat#( V2 )
a__U21#( tt , V1 ) a__U22#( a__isNatKind( V1 ) , V1 )
a__U21#( tt , V1 ) a__isNatKind#( V1 )
a__U22#( tt , V1 ) a__U23#( a__isNat( V1 ) )
a__U22#( tt , V1 ) a__isNat#( V1 )
a__U31#( tt , V2 ) a__U32#( a__isNatKind( V2 ) )
a__U31#( tt , V2 ) a__isNatKind#( V2 )
a__U51#( tt , N ) a__U52#( a__isNatKind( N ) , N )
a__U51#( tt , N ) a__isNatKind#( N )
a__U52#( tt , N ) mark#( N )
a__U61#( tt , M , N ) a__U62#( a__isNatKind( M ) , M , N )
a__U61#( tt , M , N ) a__isNatKind#( M )
a__U62#( tt , M , N ) a__U63#( a__isNat( N ) , M , N )
a__U62#( tt , M , N ) a__isNat#( N )
a__U63#( tt , M , N ) a__U64#( a__isNatKind( N ) , M , N )
a__U63#( tt , M , N ) a__isNatKind#( N )
a__U64#( tt , M , N ) a__plus#( mark( N ) , mark( M ) )
a__U64#( tt , M , N ) mark#( N )
a__U64#( tt , M , N ) mark#( M )
a__isNat#( plus( V1 , V2 ) ) a__U11#( a__isNatKind( V1 ) , V1 , V2 )
a__isNat#( plus( V1 , V2 ) ) a__isNatKind#( V1 )
a__isNat#( s( V1 ) ) a__U21#( a__isNatKind( V1 ) , V1 )
a__isNat#( s( V1 ) ) a__isNatKind#( V1 )
a__isNatKind#( plus( V1 , V2 ) ) a__U31#( a__isNatKind( V1 ) , V2 )
a__isNatKind#( plus( V1 , V2 ) ) a__isNatKind#( V1 )
a__isNatKind#( s( V1 ) ) a__U41#( a__isNatKind( V1 ) )
a__isNatKind#( s( V1 ) ) a__isNatKind#( V1 )
a__plus#( N , 0 ) a__U51#( a__isNat( N ) , N )
a__plus#( N , 0 ) a__isNat#( N )
a__plus#( N , s( M ) ) a__U61#( a__isNat( M ) , M , N )
a__plus#( N , s( M ) ) a__isNat#( M )
mark#( U11( X1 , X2 , X3 ) ) a__U11#( mark( X1 ) , X2 , X3 )
mark#( U11( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U12( X1 , X2 , X3 ) ) a__U12#( mark( X1 ) , X2 , X3 )
mark#( U12( X1 , X2 , X3 ) ) mark#( X1 )
mark#( isNatKind( X ) ) a__isNatKind#( X )
mark#( U13( X1 , X2 , X3 ) ) a__U13#( mark( X1 ) , X2 , X3 )
mark#( U13( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U14( X1 , X2 , X3 ) ) a__U14#( mark( X1 ) , X2 , X3 )
mark#( U14( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U15( X1 , X2 ) ) a__U15#( mark( X1 ) , X2 )
mark#( U15( X1 , X2 ) ) mark#( X1 )
mark#( isNat( X ) ) a__isNat#( X )
mark#( U16( X ) ) a__U16#( mark( X ) )
mark#( U16( X ) ) mark#( X )
mark#( U21( X1 , X2 ) ) a__U21#( mark( X1 ) , X2 )
mark#( U21( X1 , X2 ) ) mark#( X1 )
mark#( U22( X1 , X2 ) ) a__U22#( mark( X1 ) , X2 )
mark#( U22( X1 , X2 ) ) mark#( X1 )
mark#( U23( X ) ) a__U23#( mark( X ) )
mark#( U23( X ) ) mark#( X )
mark#( U31( X1 , X2 ) ) a__U31#( mark( X1 ) , X2 )
mark#( U31( X1 , X2 ) ) mark#( X1 )
mark#( U32( X ) ) a__U32#( mark( X ) )
mark#( U32( X ) ) mark#( X )
mark#( U41( X ) ) a__U41#( mark( X ) )
mark#( U41( X ) ) mark#( X )
mark#( U51( X1 , X2 ) ) a__U51#( mark( X1 ) , X2 )
mark#( U51( X1 , X2 ) ) mark#( X1 )
mark#( U52( X1 , X2 ) ) a__U52#( mark( X1 ) , X2 )
mark#( U52( X1 , X2 ) ) mark#( X1 )
mark#( U61( X1 , X2 , X3 ) ) a__U61#( mark( X1 ) , X2 , X3 )
mark#( U61( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U62( X1 , X2 , X3 ) ) a__U62#( mark( X1 ) , X2 , X3 )
mark#( U62( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U63( X1 , X2 , X3 ) ) a__U63#( mark( X1 ) , X2 , X3 )
mark#( U63( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U64( X1 , X2 , X3 ) ) a__U64#( mark( X1 ) , X2 , X3 )
mark#( U64( X1 , X2 , X3 ) ) mark#( X1 )
mark#( plus( X1 , X2 ) ) a__plus#( mark( X1 ) , mark( X2 ) )
mark#( plus( X1 , X2 ) ) mark#( X1 )
mark#( plus( X1 , X2 ) ) mark#( X2 )
mark#( s( X ) ) mark#( X )

1.1: dependency graph processor

The dependency pairs are split into 3 component(s).