mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
stuff
This commit is contained in:
parent
99fd9d54fc
commit
1252235e88
@ -566,6 +566,10 @@ pair<CheckResult, map<string, rational>> BooleanLPSolver::runDPLL(SolvingState&
|
||||
|
||||
CheckResult result = CheckResult::UNKNOWN;
|
||||
map<string, rational> model;
|
||||
// TODO we really should do the below, and probably even before and after each boolean decision.
|
||||
// It is very likely that we have some complicated boolean condition in the program, but
|
||||
// the unconditional things are already unsatisfiable.
|
||||
|
||||
// TODO could run this check already even though not all variables are assigned
|
||||
// and return unsat if it is already unsat.
|
||||
if (_dpll.clauses.empty())
|
||||
|
@ -79,6 +79,16 @@ struct DPLL
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Component that satisfies the SMT SolverInterface and uses an LP solver plus the DPLL
|
||||
* algorithm internally.
|
||||
* It uses a rational relaxation of the integer program and thus will not be able to answer
|
||||
* "satisfiable", but its answers are still correct.
|
||||
*
|
||||
* TODO are integers always non-negative?
|
||||
*
|
||||
* Integers are unbounded.
|
||||
*/
|
||||
class BooleanLPSolver: public smtutil::SolverInterface
|
||||
{
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user