For certain semirings we want to be able to optimize or even abstract (over/underapproximate) the results of operations.
To be able to switch conveniently between different libraries/tools (LP-solvers, SMT-solvers, custom approximators, dummy optimizers that don't do anything) we want to be able to pass them as template parameters e.g. to our semiring.
For certain semirings we want to be able to optimize or even abstract (over/underapproximate) the results of operations.
To be able to switch conveniently between different libraries/tools (LP-solvers, SMT-solvers, custom approximators, dummy optimizers that don't do anything) we want to be able to pass them as template parameters e.g. to our semiring.