-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change architecture around assertion stack, preprocessing and cnfization
Maintaining the assertion stack should be the responsibility of the MainSolver, not the Theory. Related to this change of responsibilities, we also change the preprocessing, so that it operates only on the current frame. (This should probably be changed so that simplifications from lower frames can be applied to higher frames as well, but we need to test if this would really be useful.) Another change is a more separate Cnfizer, which now does not need to know about the PartitioningManager or the CoreSolver. Instead, it just reports new clauses to a callback that needs to be set up beforehand. The larger goal here is to eventually remove separate Theory and Logic classes and have a single class responsible for managing terms (former Logic) and a single class for preprocessing (former Theory). These could be customized using a plugin architecture.
- Loading branch information
Showing
29 changed files
with
572 additions
and
1,184 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.