pub enum ProofStep {
Rup(Vec<Lit>),
Pr {
clause: Vec<Lit>,
witness: Witness,
},
Delete(Vec<Lit>),
}Expand description
One step of a refutation: add a clause with the justification a checker replays, or delete a clause from the working database (the DRAT deletion that inprocessing — vivification, BVE — relies on; deletions are unchecked, only additions carry a redundancy obligation).
Variants§
Rup(Vec<Lit>)
Add a clause that is RUP w.r.t. the current database.
Pr
Add a clause that is propagation-redundant w.r.t. the current database, certified by
witness. May remove models; preserves satisfiability.
Delete(Vec<Lit>)
Remove a clause from the working database (a sound DRAT deletion).
Implementations§
Trait Implementations§
impl Eq for ProofStep
impl StructuralPartialEq for ProofStep
Auto Trait Implementations§
impl Freeze for ProofStep
impl RefUnwindSafe for ProofStep
impl Send for ProofStep
impl Sync for ProofStep
impl Unpin for ProofStep
impl UnsafeUnpin for ProofStep
impl UnwindSafe for ProofStep
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