[−][src]Enum varisat::variables::data::SamplingMode
Variable sampling mode.
This partitions all variables into three sets. Using these partitions it is possible to specify equivalence vs. equisatisfiability per variable. Let V be the set of all variables, S, W and H the sets of Sampling, Witness and Hidden variables. Let F be the input formula and G be the current formula. The following invariants are upheld:
- The formulas are always equisatisfiable: (∃ V) G ⇔ (∃ V) F
- Restricted to the sampling variables they are equivalent: (∀ S) ((∃ V∖S) G ⇔ (∃ V∖S) F)
- Restricted to the non-hidden variables the input formula is implied: (∀ V∖H) ((∃ H) G ⇒ (∃ H) F)
This ensures that the solver will be able to find and extend each satisfiable assignment of the sampling variables to an assignment that covers the witness variables.
Variants
Sample
Witness
Hide
Trait Implementations
impl Eq for SamplingMode
[src]
fn assert_receiver_is_total_eq(&self)
[src]
impl PartialEq<SamplingMode> for SamplingMode
[src]
fn eq(&self, other: &SamplingMode) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=
.
impl Copy for SamplingMode
[src]
impl Clone for SamplingMode
[src]
fn clone(&self) -> SamplingMode
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for SamplingMode
[src]
Auto Trait Implementations
impl Send for SamplingMode
impl Sync for SamplingMode
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Reference, Outer, OuterFieldType, Inner> HasPart<Nested<Outer, Inner>> for Reference where
Inner: Part,
Outer: Part<PartType = Field<OuterFieldType>>,
OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
Reference: HasPart<Outer> + ?Sized,
Inner: Part,
Outer: Part<PartType = Field<OuterFieldType>>,
OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
Reference: HasPart<Outer> + ?Sized,
unsafe fn part_ptr(
ptr: *const <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::Ptr
ptr: *const <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::Ptr
unsafe fn part_ptr_mut(
ptr: *mut <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::PtrMut
ptr: *mut <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::PtrMut