pub enum CdclKind {
Root,
BeginCheck(Option<CdclIdx>),
Empty(CdclIdx),
Decision(LitIdx),
Conflict(Conflict),
}Variants§
Root
Represents an empty node. Used as the root of the CDCL tree (in which the solver may already propagate some facts).
BeginCheck(Option<CdclIdx>)
Represents an empty node. Used to indicate that assignments are reset between begin-checks.
Empty(CdclIdx)
Same as Root but used when assignments are propagated at a different
stack frame than the current decision. The frame of the current decision
may have been popped, thus this points to where it should be slotted in.
Decision(LitIdx)
The branching decision z3 took, it “arbitrarily” decided that this clause has this boolean value.
Conflict(Conflict)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CdclKind
impl RefUnwindSafe for CdclKind
impl Send for CdclKind
impl Sync for CdclKind
impl Unpin for CdclKind
impl UnwindSafe for CdclKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more