pub struct ProofStep { /* private fields */ }Expand description
A single step in a Proof.
Each step records:
- The
Formuladerived at this step (ProofStep::conclusion) - The
ProofRuleused to derive it (ProofStep::rule) - The indices (into
Proof::steps) of the premises this step depends on (ProofStep::premises) - A discovery-order counter assigned by Vampire (
ProofStep::discovery_order)
Implementations§
Source§impl ProofStep
impl ProofStep
Sourcepub fn conclusion(&self) -> Formula
pub fn conclusion(&self) -> Formula
Returns the formula derived at this step.
Sourcepub fn premises(&self) -> &[usize]
pub fn premises(&self) -> &[usize]
Returns the indices of the premises this step was derived from.
Each value is an index into the Proof::steps slice (i.e. the position
of the premise among the steps that actually appear in the proof, not its
ProofStep::discovery_order).
Sourcepub fn discovery_order(&self) -> u32
pub fn discovery_order(&self) -> u32
Returns Vampire’s internal discovery-order ID for this step.
As Vampire searches for a proof it assigns every derived fact a
monotonically increasing numeric ID. When the proof is extracted, only
the facts that were actually used in the refutation are included, so
there may be gaps in the sequence. The steps in Proof::steps are
sorted by this value, which also gives a valid topological ordering of
the proof DAG.
Trait Implementations§
impl Eq for ProofStep
impl StructuralPartialEq for ProofStep
Auto Trait Implementations§
impl Freeze for ProofStep
impl RefUnwindSafe for ProofStep
impl !Send for ProofStep
impl !Sync for ProofStep
impl Unpin for ProofStep
impl UnsafeUnpin for ProofStep
impl UnwindSafe for ProofStep
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