#include <cnf.h>
+ Inheritance diagram for cnft:
+ Collaboration diagram for cnft:
Tseitin encoding of conjunction between multiple literals.
Tseitin encoding of disjunction between multiple literals.
Tseitin encoding of XOR between multiple literals.
Generate a new variable and return it as a literal.
Generate a vector of new variables.
Tseitin encoding of conjunction of two literals.
Tseitin encoding of disjunction of two literals.
Tseitin encoding of XOR of two literals.
Tseitin encoding of NAND of two literals.
Tseitin encoding of NOR of two literals.
Tseitin encoding of equality between two literals.
Tseitin encoding of implication between two literals.
- Public Member Functions inherited from
propt
asserts a==b in the propositional formula
Returns true if an assumption is in the final conflict.
Protected Member Functions
filter 'true' from clause, eliminate duplicates, recognise trivially satisfied clauses
- Protected Member Functions inherited from
propt
Static Protected Member Functions
eliminate duplicates from given vector of literals
- Protected Attributes inherited from
propt
Additional Inherited Members
- Public Types inherited from
propt
Detailed Description
Definition at line 17 of file cnf.h.
Constructor & Destructor Documentation
◆ cnft()
Definition at line 22 of file cnf.h.
◆ ~cnft()
Definition at line 26 of file cnf.h.
Member Function Documentation
◆ eliminate_duplicates()
eliminate duplicates from given vector of literals
- parameters: set of literals given as vector
- Returns
- set of literals, duplicates removed
Definition at line 412 of file cnf.cpp.
◆ gate_and()
Tseitin encoding of conjunction of two literals.
Side effect: add clauses that encodes relation between inputs/output via lcnf.
- parameters: Two input signals to the AND gate, one output
Definition at line 23 of file cnf.cpp.
◆ gate_equal()
Tseitin encoding of equality between two literals.
- parameters: Two input signals to the EQUAL gate, one output
Definition at line 143 of file cnf.cpp.
◆ gate_implies()
Tseitin encoding of implication between two literals.
- parameters: Two input signals to the IMPLIES gate, one output
Definition at line 150 of file cnf.cpp.
◆ gate_nand()
Tseitin encoding of NAND of two literals.
- parameters: Two input signals to the NAND gate, one output
Definition at line 99 of file cnf.cpp.
◆ gate_nor()
Tseitin encoding of NOR of two literals.
- parameters: Two input signals to the NOR gate, one output
Definition at line 121 of file cnf.cpp.
◆ gate_or()
Tseitin encoding of disjunction of two literals.
- parameters: Two input signals to the OR gate, one output
Definition at line 46 of file cnf.cpp.
◆ gate_xor()
Tseitin encoding of XOR of two literals.
- parameters: Two input signals to the XOR gate, one output
Definition at line 68 of file cnf.cpp.
◆ is_all()
Definition at line 61 of file cnf.h.
◆ land() [1/2]
Tseitin encoding of conjunction between multiple literals.
- parameters: Any number of inputs to the AND gate
- Returns
- Output signal of the AND gate as literal
Implements propt.
Definition at line 158 of file cnf.cpp.
◆ land() [2/2]
- parameters: Two inputs to the AND gate
- Returns
- Output signal of the AND gate as literal
Implements propt.
Definition at line 263 of file cnf.cpp.
◆ lequal()
◆ limplies()
◆ lnand()
- parameters: Two inputs to the NAND gate
- Returns
- Output signal of the NAND gate as literal
Implements propt.
Definition at line 317 of file cnf.cpp.
◆ lnor()
- parameters: Two inputs to the NOR gate
- Returns
- Output signal of the NOR gate as literal
Implements propt.
Definition at line 324 of file cnf.cpp.
◆ lor() [1/2]
Tseitin encoding of disjunction between multiple literals.
- parameters: Any number of inputs to the OR gate
- Returns
- Output signal of the OR gate as literal
Implements propt.
Reimplemented in qbf_bdd_coret.
Definition at line 201 of file cnf.cpp.
◆ lor() [2/2]
- parameters: Two inputs to the OR gate
- Returns
- Output signal of the OR gate as literal
Implements propt.
Reimplemented in qbf_bdd_coret.
Definition at line 279 of file cnf.cpp.
◆ lselect()
◆ lxor() [1/2]
Tseitin encoding of XOR between multiple literals.
- parameters: Any number of inputs to the XOR gate
- Returns
- Output signal of the XOR gate as literal
Implements propt.
Definition at line 244 of file cnf.cpp.
◆ lxor() [2/2]
- parameters: Two inputs to the XOR gate
- Returns
- Output signal of the XOR gate as literal
Implements propt.
Definition at line 295 of file cnf.cpp.
◆ new_variable()
◆ new_variables()
bvt cnft::new_variables
(
std::size_t
width )
overridevirtual
Generate a vector of new variables.
- Returns
- Vector of new variables.
Reimplemented from propt.
Definition at line 396 of file cnf.cpp.
◆ no_clauses()
◆ no_variables()
◆ process_clause()
filter 'true' from clause, eliminate duplicates, recognise trivially satisfied clauses
Definition at line 424 of file cnf.cpp.
◆ set_no_variables()
Member Data Documentation
◆ _no_variables
Definition at line 57 of file cnf.h.
The documentation for this class was generated from the following files:
- /home/runner/work/cbmc/cbmc/src/solvers/sat/cnf.h
- /home/runner/work/cbmc/cbmc/src/solvers/sat/cnf.cpp