Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

active#( U11( tt , V2 ) ) mark#( U12( isNat( V2 ) ) )
active#( U11( tt , V2 ) ) U12#( isNat( V2 ) )
active#( U11( tt , V2 ) ) isNat#( V2 )
active#( U12( tt ) ) mark#( tt )
active#( U21( tt ) ) mark#( tt )
active#( U31( tt , N ) ) mark#( N )
active#( U41( tt , M , N ) ) mark#( U42( isNat( N ) , M , N ) )
active#( U41( tt , M , N ) ) U42#( isNat( N ) , M , N )
active#( U41( tt , M , N ) ) isNat#( N )
active#( U42( tt , M , N ) ) mark#( s( plus( N , M ) ) )
active#( U42( tt , M , N ) ) s#( plus( N , M ) )
active#( U42( tt , M , N ) ) plus#( N , M )
active#( isNat( 0 ) ) mark#( tt )
active#( isNat( plus( V1 , V2 ) ) ) mark#( U11( isNat( V1 ) , V2 ) )
active#( isNat( plus( V1 , V2 ) ) ) U11#( isNat( V1 ) , V2 )
active#( isNat( plus( V1 , V2 ) ) ) isNat#( V1 )
active#( isNat( s( V1 ) ) ) mark#( U21( isNat( V1 ) ) )
active#( isNat( s( V1 ) ) ) U21#( isNat( V1 ) )
active#( isNat( s( V1 ) ) ) isNat#( V1 )
active#( plus( N , 0 ) ) mark#( U31( isNat( N ) , N ) )
active#( plus( N , 0 ) ) U31#( isNat( N ) , N )
active#( plus( N , 0 ) ) isNat#( N )
active#( plus( N , s( M ) ) ) mark#( U41( isNat( M ) , M , N ) )
active#( plus( N , s( M ) ) ) U41#( isNat( M ) , M , N )
active#( plus( N , s( M ) ) ) isNat#( M )
mark#( U11( X1 , X2 ) ) active#( U11( mark( X1 ) , X2 ) )
mark#( U11( X1 , X2 ) ) U11#( mark( X1 ) , X2 )
mark#( U11( X1 , X2 ) ) mark#( X1 )
mark#( tt ) active#( tt )
mark#( U12( X ) ) active#( U12( mark( X ) ) )
mark#( U12( X ) ) U12#( mark( X ) )
mark#( U12( X ) ) mark#( X )
mark#( isNat( X ) ) active#( isNat( X ) )
mark#( isNat( X ) ) isNat#( X )
mark#( U21( X ) ) active#( U21( mark( X ) ) )
mark#( U21( X ) ) U21#( mark( X ) )
mark#( U21( X ) ) mark#( X )
mark#( U31( X1 , X2 ) ) active#( U31( mark( X1 ) , X2 ) )
mark#( U31( X1 , X2 ) ) U31#( mark( X1 ) , X2 )
mark#( U31( X1 , X2 ) ) mark#( X1 )
mark#( U41( X1 , X2 , X3 ) ) active#( U41( mark( X1 ) , X2 , X3 ) )
mark#( U41( X1 , X2 , X3 ) ) U41#( mark( X1 ) , X2 , X3 )
mark#( U41( X1 , X2 , X3 ) ) mark#( X1 )
mark#( U42( X1 , X2 , X3 ) ) active#( U42( mark( X1 ) , X2 , X3 ) )
mark#( U42( X1 , X2 , X3 ) ) U42#( mark( X1 ) , X2 , X3 )
mark#( U42( X1 , X2 , X3 ) ) mark#( X1 )
mark#( s( X ) ) active#( s( mark( X ) ) )
mark#( s( X ) ) s#( mark( X ) )
mark#( s( X ) ) mark#( X )
mark#( plus( X1 , X2 ) ) active#( plus( mark( X1 ) , mark( X2 ) ) )
mark#( plus( X1 , X2 ) ) plus#( mark( X1 ) , mark( X2 ) )
mark#( plus( X1 , X2 ) ) mark#( X1 )
mark#( plus( X1 , X2 ) ) mark#( X2 )
mark#( 0 ) active#( 0 )
U11#( mark( X1 ) , X2 ) U11#( X1 , X2 )
U11#( X1 , mark( X2 ) ) U11#( X1 , X2 )
U11#( active( X1 ) , X2 ) U11#( X1 , X2 )
U11#( X1 , active( X2 ) ) U11#( X1 , X2 )
U12#( mark( X ) ) U12#( X )
U12#( active( X ) ) U12#( X )
isNat#( mark( X ) ) isNat#( X )
isNat#( active( X ) ) isNat#( X )
U21#( mark( X ) ) U21#( X )
U21#( active( X ) ) U21#( 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 )
U41#( mark( X1 ) , X2 , X3 ) U41#( X1 , X2 , X3 )
U41#( X1 , mark( X2 ) , X3 ) U41#( X1 , X2 , X3 )
U41#( X1 , X2 , mark( X3 ) ) U41#( X1 , X2 , X3 )
U41#( active( X1 ) , X2 , X3 ) U41#( X1 , X2 , X3 )
U41#( X1 , active( X2 ) , X3 ) U41#( X1 , X2 , X3 )
U41#( X1 , X2 , active( X3 ) ) U41#( X1 , X2 , X3 )
U42#( mark( X1 ) , X2 , X3 ) U42#( X1 , X2 , X3 )
U42#( X1 , mark( X2 ) , X3 ) U42#( X1 , X2 , X3 )
U42#( X1 , X2 , mark( X3 ) ) U42#( X1 , X2 , X3 )
U42#( active( X1 ) , X2 , X3 ) U42#( X1 , X2 , X3 )
U42#( X1 , active( X2 ) , X3 ) U42#( X1 , X2 , X3 )
U42#( X1 , X2 , active( X3 ) ) U42#( 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 )

1.1: dependency graph processor

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