pub struct Formula { /* private fields */ }
Expand description
Represents a formula in propositional logic
Implementations§
Source§impl Formula
impl Formula
Sourcepub fn add_clause(&mut self, literals: Vec<i32>)
pub fn add_clause(&mut self, literals: Vec<i32>)
Add a clause to the formula
Sourcepub fn set_num_variables(&mut self, num_vars: usize)
pub fn set_num_variables(&mut self, num_vars: usize)
Set the number of variables directly
Sourcepub fn reserve_clauses(&mut self, num_clauses: usize)
pub fn reserve_clauses(&mut self, num_clauses: usize)
Pre-allocate space for the expected number of clauses
Sourcepub fn translate_to_implication_form(&mut self)
pub fn translate_to_implication_form(&mut self)
Translate to implication form
Sourcepub fn get_implication_form(&self) -> Option<&ImplicationFormula>
pub fn get_implication_form(&self) -> Option<&ImplicationFormula>
Get the stored implication form
Sourcepub fn encode_formula_to_triplets(&mut self)
pub fn encode_formula_to_triplets(&mut self)
Encode the formula into triplets
Sourcepub fn get_triplets(&self) -> Option<&TripletFormula>
pub fn get_triplets(&self) -> Option<&TripletFormula>
Get the triplets representation
Sourcepub fn num_variables(&self) -> usize
pub fn num_variables(&self) -> usize
Get the number of variables in the formula
Sourcepub fn num_clauses(&self) -> usize
pub fn num_clauses(&self) -> usize
Get the number of clauses in the formula
Sourcepub fn get_clauses(&self) -> &[Vec<i32>]
pub fn get_clauses(&self) -> &[Vec<i32>]
Get the clauses
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Formula
impl RefUnwindSafe for Formula
impl Send for Formula
impl Sync for Formula
impl Unpin for Formula
impl UnwindSafe for Formula
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more