Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

fst#( s( X ) , cons( Y , Z ) ) activate#( X )
fst#( s( X ) , cons( Y , Z ) ) activate#( Z )
add#( s( X ) , Y ) s#( n__add( activate( X ) , Y ) )
add#( s( X ) , Y ) activate#( X )
len#( cons( X , Z ) ) s#( n__len( activate( Z ) ) )
len#( cons( X , Z ) ) activate#( Z )
activate#( n__fst( X1 , X2 ) ) fst#( activate( X1 ) , activate( X2 ) )
activate#( n__fst( X1 , X2 ) ) activate#( X1 )
activate#( n__fst( X1 , X2 ) ) activate#( X2 )
activate#( n__from( X ) ) from#( activate( X ) )
activate#( n__from( X ) ) activate#( X )
activate#( n__s( X ) ) s#( X )
activate#( n__add( X1 , X2 ) ) add#( activate( X1 ) , activate( X2 ) )
activate#( n__add( X1 , X2 ) ) activate#( X1 )
activate#( n__add( X1 , X2 ) ) activate#( X2 )
activate#( n__len( X ) ) len#( activate( X ) )
activate#( n__len( X ) ) activate#( X )

1.1: dependency graph processor

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