pub struct ProofRecorder { /* private fields */ }Expand description
A proof recorder that can be used during SAT/SMT solving
This provides a simple interface for recording proof steps during search
Implementations§
Source§impl ProofRecorder
impl ProofRecorder
Sourcepub fn enable_batch_mode(&mut self)
pub fn enable_batch_mode(&mut self)
Enable batch mode (queue steps instead of adding immediately)
Sourcepub fn disable_batch_mode(&mut self)
pub fn disable_batch_mode(&mut self)
Disable batch mode
Sourcepub fn alloc_clause_id(&mut self) -> u32
pub fn alloc_clause_id(&mut self) -> u32
Allocate a new clause ID
Sourcepub fn record_input(&mut self, conclusion: impl Into<String>) -> u32
pub fn record_input(&mut self, conclusion: impl Into<String>) -> u32
Record an input clause
Sourcepub fn record_derived(
&mut self,
rule: impl Into<String>,
premises: &[u32],
conclusion: impl Into<String>,
) -> u32
pub fn record_derived( &mut self, rule: impl Into<String>, premises: &[u32], conclusion: impl Into<String>, ) -> u32
Record a derived clause
Sourcepub const fn builder(&self) -> &IncrementalProofBuilder
pub const fn builder(&self) -> &IncrementalProofBuilder
Get the builder
Sourcepub fn builder_mut(&mut self) -> &mut IncrementalProofBuilder
pub fn builder_mut(&mut self) -> &mut IncrementalProofBuilder
Get the mutable builder
Sourcepub fn take_proof(&mut self) -> Proof
pub fn take_proof(&mut self) -> Proof
Take the proof
Trait Implementations§
Source§impl Debug for ProofRecorder
impl Debug for ProofRecorder
Auto Trait Implementations§
impl Freeze for ProofRecorder
impl RefUnwindSafe for ProofRecorder
impl Send for ProofRecorder
impl Sync for ProofRecorder
impl Unpin for ProofRecorder
impl UnsafeUnpin for ProofRecorder
impl UnwindSafe for ProofRecorder
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