usi-verification-and-security / opensmt

The opensmt solver
Other
78 stars 18 forks source link

Lazy construction of `MainSolver` in `Opensmt` #667

Open Tomaqa opened 10 months ago

Tomaqa commented 10 months ago

MainSolver requires concrete SMTConfig because it eagerly constructs SimpSMTSolver that requires parameters. This is certainly inconsistent with the fact that Opensmt is possible to construct without SMTConfig, allowing to modify some parts of the config later, but not all.

MainSolver should be possible to construct lazily once it is required. Similarly, the construction of SimpSMTSolver inside of MainSolver may be lazy as well.

This may be connected to #666 (hmm is 666 just a coincidence here? :fearful:)