pub struct IncrementalProofBuilder { /* private fields */ }Expand description
A scoped proof builder for incremental construction
Supports:
- Push/pop scoping (for backtracking)
- Efficient deduplication
- Premise tracking
Implementations§
Source§impl IncrementalProofBuilder
impl IncrementalProofBuilder
Sourcepub const fn is_enabled(&self) -> bool
pub const fn is_enabled(&self) -> bool
Check if proof recording is enabled
Sourcepub fn push_scope(&mut self)
pub fn push_scope(&mut self)
Push a new scope (for backtracking)
Sourcepub fn scope_level(&self) -> usize
pub fn scope_level(&self) -> usize
Get the current scope level
Sourcepub fn record_axiom(
&mut self,
clause_id: u32,
conclusion: impl Into<String>,
) -> ProofNodeId
pub fn record_axiom( &mut self, clause_id: u32, conclusion: impl Into<String>, ) -> ProofNodeId
Record an axiom (input clause)
Sourcepub fn record_inference(
&mut self,
clause_id: u32,
rule: impl Into<String>,
premise_ids: &[u32],
conclusion: impl Into<String>,
) -> ProofNodeId
pub fn record_inference( &mut self, clause_id: u32, rule: impl Into<String>, premise_ids: &[u32], conclusion: impl Into<String>, ) -> ProofNodeId
Record an inference step
Sourcepub fn record_inference_with_args(
&mut self,
clause_id: u32,
rule: impl Into<String>,
premise_ids: &[u32],
args: Vec<String>,
conclusion: impl Into<String>,
) -> ProofNodeId
pub fn record_inference_with_args( &mut self, clause_id: u32, rule: impl Into<String>, premise_ids: &[u32], args: Vec<String>, conclusion: impl Into<String>, ) -> ProofNodeId
Record an inference step with arguments
Sourcepub fn get_clause_proof(&self, clause_id: u32) -> Option<ProofNodeId>
pub fn get_clause_proof(&self, clause_id: u32) -> Option<ProofNodeId>
Get the proof node for a solver clause ID
Sourcepub fn take_proof(&mut self) -> Proof
pub fn take_proof(&mut self) -> Proof
Take the proof, leaving an empty one
Sourcepub fn stats(&self) -> IncrementalStats
pub fn stats(&self) -> IncrementalStats
Get statistics about the incremental construction
Trait Implementations§
Source§impl Debug for IncrementalProofBuilder
impl Debug for IncrementalProofBuilder
Auto Trait Implementations§
impl Freeze for IncrementalProofBuilder
impl RefUnwindSafe for IncrementalProofBuilder
impl Send for IncrementalProofBuilder
impl Sync for IncrementalProofBuilder
impl Unpin for IncrementalProofBuilder
impl UnsafeUnpin for IncrementalProofBuilder
impl UnwindSafe for IncrementalProofBuilder
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