Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

active#( minus( 0 , Y ) ) mark#( 0 )
active#( minus( s( X ) , s( Y ) ) ) mark#( minus( X , Y ) )
active#( minus( s( X ) , s( Y ) ) ) minus#( X , Y )
active#( geq( X , 0 ) ) mark#( true )
active#( geq( 0 , s( Y ) ) ) mark#( false )
active#( geq( s( X ) , s( Y ) ) ) mark#( geq( X , Y ) )
active#( geq( s( X ) , s( Y ) ) ) geq#( X , Y )
active#( div( 0 , s( Y ) ) ) mark#( 0 )
active#( div( s( X ) , s( Y ) ) ) mark#( if( geq( X , Y ) , s( div( minus( X , Y ) , s( Y ) ) ) , 0 ) )
active#( div( s( X ) , s( Y ) ) ) if#( geq( X , Y ) , s( div( minus( X , Y ) , s( Y ) ) ) , 0 )
active#( div( s( X ) , s( Y ) ) ) geq#( X , Y )
active#( div( s( X ) , s( Y ) ) ) s#( div( minus( X , Y ) , s( Y ) ) )
active#( div( s( X ) , s( Y ) ) ) div#( minus( X , Y ) , s( Y ) )
active#( div( s( X ) , s( Y ) ) ) minus#( X , Y )
active#( div( s( X ) , s( Y ) ) ) s#( Y )
active#( if( true , X , Y ) ) mark#( X )
active#( if( false , X , Y ) ) mark#( Y )
mark#( minus( X1 , X2 ) ) active#( minus( X1 , X2 ) )
mark#( minus( X1 , X2 ) ) minus#( X1 , X2 )
mark#( 0 ) active#( 0 )
mark#( s( X ) ) active#( s( mark( X ) ) )
mark#( s( X ) ) s#( mark( X ) )
mark#( s( X ) ) mark#( X )
mark#( geq( X1 , X2 ) ) active#( geq( X1 , X2 ) )
mark#( geq( X1 , X2 ) ) geq#( X1 , X2 )
mark#( true ) active#( true )
mark#( false ) active#( false )
mark#( div( X1 , X2 ) ) active#( div( mark( X1 ) , X2 ) )
mark#( div( X1 , X2 ) ) div#( mark( X1 ) , X2 )
mark#( div( X1 , X2 ) ) mark#( X1 )
mark#( if( X1 , X2 , X3 ) ) active#( if( mark( X1 ) , X2 , X3 ) )
mark#( if( X1 , X2 , X3 ) ) if#( mark( X1 ) , X2 , X3 )
mark#( if( X1 , X2 , X3 ) ) mark#( X1 )
minus#( mark( X1 ) , X2 ) minus#( X1 , X2 )
minus#( X1 , mark( X2 ) ) minus#( X1 , X2 )
minus#( active( X1 ) , X2 ) minus#( X1 , X2 )
minus#( X1 , active( X2 ) ) minus#( X1 , X2 )
s#( mark( X ) ) s#( X )
s#( active( X ) ) s#( X )
geq#( mark( X1 ) , X2 ) geq#( X1 , X2 )
geq#( X1 , mark( X2 ) ) geq#( X1 , X2 )
geq#( active( X1 ) , X2 ) geq#( X1 , X2 )
geq#( X1 , active( X2 ) ) geq#( X1 , X2 )
div#( mark( X1 ) , X2 ) div#( X1 , X2 )
div#( X1 , mark( X2 ) ) div#( X1 , X2 )
div#( active( X1 ) , X2 ) div#( X1 , X2 )
div#( X1 , active( X2 ) ) div#( X1 , X2 )
if#( mark( X1 ) , X2 , X3 ) if#( X1 , X2 , X3 )
if#( X1 , mark( X2 ) , X3 ) if#( X1 , X2 , X3 )
if#( X1 , X2 , mark( X3 ) ) if#( X1 , X2 , X3 )
if#( active( X1 ) , X2 , X3 ) if#( X1 , X2 , X3 )
if#( X1 , active( X2 ) , X3 ) if#( X1 , X2 , X3 )
if#( X1 , X2 , active( X3 ) ) if#( X1 , X2 , X3 )

1.1: dependency graph processor

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