Provide standard complient behaviour for a sequence of commands.
This driver will properly understand the whole SMT-LIB 2.5 language,
maintaining proper state and forwarding work to an underlying solver.
The behaviour of this driver is to perfectly follow the standard, and
properly abstract the peculiarities of the black box solvers so that
they can be used with SMT-LIB 2.5 language.
One difficult in implementing the SMT-LIB standard is that the standard
is designed for process interaction, relying on both a standard output and
standard error channel. Standard output and error are part of the interface
of the driver, and by default will be available on the driver. If one sets
the :diagnostic-output-channel or :regular-output-channel options, that
will redirect this behaviour and send the outputs to files.
Basically: stdout and stderr are the iterator attached to this driver.
Provide standard complient behaviour for a sequence of commands.
This driver will properly understand the whole SMT-LIB 2.5 language, maintaining proper state and forwarding work to an underlying solver. The behaviour of this driver is to perfectly follow the standard, and properly abstract the peculiarities of the black box solvers so that they can be used with SMT-LIB 2.5 language.
One difficult in implementing the SMT-LIB standard is that the standard is designed for process interaction, relying on both a standard output and standard error channel. Standard output and error are part of the interface of the driver, and by default will be available on the driver. If one sets the :diagnostic-output-channel or :regular-output-channel options, that will redirect this behaviour and send the outputs to files. Basically: stdout and stderr are the iterator attached to this driver.
TODO: this is work in progress, not usable yet.