![]() |
SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Data Structures | |
| struct | BaseSettings |
| struct | DefaultSettings |
| struct | Explanation |
Functions | |
| template<typename Settings > | |
| std::optional< cadcells::DNF > | onecell (const std::vector< cadcells::Atom > &constraints, const cadcells::Polynomial::ContextType &context, const cadcells::Assignment &sample) |
| An MCSAT-style single cell explanation function. More... | |
| std::optional<cadcells::DNF> smtrat::mcsat::onecell::onecell | ( | const std::vector< cadcells::Atom > & | constraints, |
| const cadcells::Polynomial::ContextType & | context, | ||
| const cadcells::Assignment & | sample | ||
| ) |
An MCSAT-style single cell explanation function.
A set of constraints is called infeasible w.r.t. an assignment if the defining polynomials are univariate under the sample and there does not exists a value for the unassigned variable that satisfies all constraints.
This method eliminates the unassigned variable using get_level_covering or get_delineation and then constructs a single cell in the assigned variables level by level.
| constraints | Atoms of the same level such that sample cannot be extended for the highest variable without making one atom false. Note that this property is not checked. |
| sample | A sample such that all but the highest variable in constraints are assigned. |
Definition at line 31 of file onecell.h.
