Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

a__terms#( N ) a__sqr#( mark( N ) )
a__terms#( N ) mark#( N )
a__add#( 0 , X ) mark#( X )
a__first#( s( X ) , cons( Y , Z ) ) mark#( Y )
mark#( terms( X ) ) a__terms#( mark( X ) )
mark#( terms( X ) ) mark#( X )
mark#( sqr( X ) ) a__sqr#( mark( X ) )
mark#( sqr( X ) ) mark#( X )
mark#( add( X1 , X2 ) ) a__add#( mark( X1 ) , mark( X2 ) )
mark#( add( X1 , X2 ) ) mark#( X1 )
mark#( add( X1 , X2 ) ) mark#( X2 )
mark#( dbl( X ) ) a__dbl#( mark( X ) )
mark#( dbl( X ) ) mark#( X )
mark#( first( X1 , X2 ) ) a__first#( mark( X1 ) , mark( X2 ) )
mark#( first( X1 , X2 ) ) mark#( X1 )
mark#( first( X1 , X2 ) ) mark#( X2 )
mark#( cons( X1 , X2 ) ) mark#( X1 )
mark#( recip( X ) ) mark#( X )

1.1: dependency graph processor

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