![]() |
mutable
A Database System for Research and Fast Prototyping
|
Data Structures | |
struct | Clause |
A cnf::Clause represents a disjunction of Predicate s. More... | |
struct | CNF |
A CNF represents a conjunction of cnf::Clause s. More... | |
struct | Predicate |
A Predicate contains a Expr of Boolean type in either positive or negative form. More... | |
Functions | |
Clause M_EXPORT | operator|| (const Clause &lhs, const Clause &rhs) |
Returns the logical or of two cnf::Clause s, i.e. the disjunction of the Predicate s of lhs and rhs . | |
CNF M_EXPORT | operator&& (const Clause &lhs, const Clause &rhs) |
Returns the logical and of two cnf::Clause s, i.e. a CNF with the two cnf::Clause s lhs and rhs . | |
CNF M_EXPORT | operator&& (const CNF &lhs, const CNF &rhs) |
Returns the logical and of two CNF s, i.e. the conjunction of the cnf::Clause s of lhs and rhs . | |
CNF M_EXPORT | operator|| (const CNF &lhs, const CNF &rhs) |
Returns the logical or of two CNF s. | |
CNF M_EXPORT | operator! (const Clause &clause) |
Returns the logical negation of a cnf::Clause . | |
CNF M_EXPORT | operator! (const CNF &cnf) |
Returns the logical negation of a CNF . | |
CNF M_EXPORT | to_CNF (const ast::Expr &e) |
Converts the Boolean Expr e to a CNF . | |
CNF M_EXPORT | get_CNF (const ast::Clause &c) |
Converts the Boolean Expr of c to a CNF . | |
CNF M_EXPORT m::cnf::get_CNF | ( | const ast::Clause & | c | ) |
Returns the logical negation of a cnf::Clause
.
It is computed using [De Morgan's laws] (https://en.wikipedia.org/wiki/De_Morgan%27s_laws): ¬(P ∨ Q) ↔ ¬P ∧ ¬Q.
Returns the logical negation of a CNF
.
It is computed using [De Morgan's laws] (https://en.wikipedia.org/wiki/De_Morgan%27s_laws): ¬(P ∧ Q) ↔ ¬P ∨ ¬Q.
Returns the logical and of two cnf::Clause
s, i.e. a CNF
with the two cnf::Clause
s lhs
and rhs
.
Returns the logical and of two CNF
s, i.e. the conjunction of the cnf::Clause
s of lhs
and rhs
.
cnf::Clause m::cnf::operator|| | ( | const Clause & | lhs, |
const Clause & | rhs | ||
) |
Returns the logical or of two cnf::Clause
s, i.e. the disjunction of the Predicate
s of lhs
and rhs
.
Returns the logical or of two CNF
s.
It is computed using the distributive law from Boolean algebra: P ∨ (Q ∧ R) ↔ ((P ∨ Q) ∧ (P ∨ R))