[][src]Struct varisat::proof::Proof

pub struct Proof<'a> {
    format: Option<ProofFormat>,
    target: BufWriter<Box<dyn Write + 'a>>,
    checker: Option<Checker<'a>>,
    map_step: MapStep,
    hash_bits: u32,
    clause_count: isize,
}

Proof generation.

Fields

format: Option<ProofFormat>target: BufWriter<Box<dyn Write + 'a>>checker: Option<Checker<'a>>map_step: MapStephash_bits: u32

How many bits are used for storing clause hashes.

clause_count: isize

How many clauses are currently in the db.

This is used to pick a good number of hash_bits

Methods

impl<'a> Proof<'a>[src]

pub fn write_proof(&mut self, target: impl Write + 'a, format: ProofFormat)[src]

Start writing proof steps to the given target with the given format.

pub fn begin_checking(&mut self)[src]

Begin checking proof steps.

pub fn add_processor(&mut self, processor: &'a mut dyn ProofProcessor)[src]

pub fn is_active(&self) -> bool[src]

Whether proof generation is active.

pub fn native_format(&self) -> bool[src]

Are we emitting or checking our native format.

pub fn clause_hashes_required(&self) -> bool[src]

Whether clause hashes are required for steps that support them.

pub fn models_in_proof(&self) -> bool[src]

Whether found models are included in the proof.

Trait Implementations

impl<'a> Default for Proof<'a>[src]

Auto Trait Implementations

impl<'a> !Send for Proof<'a>

impl<'a> !Sync for Proof<'a>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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