Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

active#( 2nd( cons( X , X1 ) ) ) 2nd#( cons1( X , X1 ) )
active#( 2nd( cons( X , X1 ) ) ) cons1#( X , X1 )
active#( from( X ) ) cons#( X , from( s( X ) ) )
active#( from( X ) ) from#( s( X ) )
active#( from( X ) ) s#( X )
active#( 2nd( X ) ) 2nd#( active( X ) )
active#( 2nd( X ) ) active#( X )
active#( cons( X1 , X2 ) ) cons#( active( X1 ) , X2 )
active#( cons( X1 , X2 ) ) active#( X1 )
active#( from( X ) ) from#( active( X ) )
active#( from( X ) ) active#( X )
active#( s( X ) ) s#( active( X ) )
active#( s( X ) ) active#( X )
active#( cons1( X1 , X2 ) ) cons1#( active( X1 ) , X2 )
active#( cons1( X1 , X2 ) ) active#( X1 )
active#( cons1( X1 , X2 ) ) cons1#( X1 , active( X2 ) )
active#( cons1( X1 , X2 ) ) active#( X2 )
2nd#( mark( X ) ) 2nd#( X )
cons#( mark( X1 ) , X2 ) cons#( X1 , X2 )
from#( mark( X ) ) from#( X )
s#( mark( X ) ) s#( X )
cons1#( mark( X1 ) , X2 ) cons1#( X1 , X2 )
cons1#( X1 , mark( X2 ) ) cons1#( X1 , X2 )
proper#( 2nd( X ) ) 2nd#( proper( X ) )
proper#( 2nd( X ) ) proper#( X )
proper#( cons( X1 , X2 ) ) cons#( proper( X1 ) , proper( X2 ) )
proper#( cons( X1 , X2 ) ) proper#( X1 )
proper#( cons( X1 , X2 ) ) proper#( X2 )
proper#( from( X ) ) from#( proper( X ) )
proper#( from( X ) ) proper#( X )
proper#( s( X ) ) s#( proper( X ) )
proper#( s( X ) ) proper#( X )
proper#( cons1( X1 , X2 ) ) cons1#( proper( X1 ) , proper( X2 ) )
proper#( cons1( X1 , X2 ) ) proper#( X1 )
proper#( cons1( X1 , X2 ) ) proper#( X2 )
2nd#( ok( X ) ) 2nd#( X )
cons#( ok( X1 ) , ok( X2 ) ) cons#( X1 , X2 )
from#( ok( X ) ) from#( X )
s#( ok( X ) ) s#( X )
cons1#( ok( X1 ) , ok( X2 ) ) cons1#( X1 , X2 )
top#( mark( X ) ) top#( proper( X ) )
top#( mark( X ) ) proper#( X )
top#( ok( X ) ) top#( active( X ) )
top#( ok( X ) ) active#( X )

1.1: dependency graph processor

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