Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

active#( f( g( X ) , Y ) ) f#( X , f( g( X ) , Y ) )
active#( f( g( X ) , Y ) ) f#( g( X ) , Y )
active#( f( g( X ) , Y ) ) g#( X )
active#( f( X1 , X2 ) ) f#( active( X1 ) , X2 )
active#( f( X1 , X2 ) ) active#( X1 )
active#( g( X ) ) g#( active( X ) )
active#( g( X ) ) active#( X )
f#( mark( X1 ) , X2 ) f#( X1 , X2 )
g#( mark( X ) ) g#( X )
proper#( f( X1 , X2 ) ) f#( proper( X1 ) , proper( X2 ) )
proper#( f( X1 , X2 ) ) proper#( X1 )
proper#( f( X1 , X2 ) ) proper#( X2 )
proper#( g( X ) ) g#( proper( X ) )
proper#( g( X ) ) proper#( X )
f#( ok( X1 ) , ok( X2 ) ) f#( X1 , X2 )
g#( ok( X ) ) g#( X )
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 5 component(s).