Skip to main content

ProofVerifier

Struct ProofVerifier 

Source
pub struct ProofVerifier { /* private fields */ }
Expand description

A utility for verifying the correctness and integrity of a LogicProof.

The ProofVerifier checks that a proof adheres to logical principles, refers to known rules (if provided), and has not been tampered with.

Implementations§

Source§

impl ProofVerifier

Source

pub fn new() -> Self

Creates a new ProofVerifier with default options and no pre-loaded rules.

Source

pub fn add_rule(&mut self, rule: Rule)

Adds a single Rule to the verifier’s set of known rules.

These rules are used when check_rules is enabled in VerifyOptions.

§Arguments
  • rule - The Rule to add.
Source

pub fn add_rules(&mut self, rules: &[Rule])

Adds multiple Rules from a slice to the verifier’s set of known rules.

§Arguments
  • rules - A slice of Rules to add.
Source

pub fn with_options(self, options: VerifyOptions) -> Self

Sets the verification options for this ProofVerifier.

§Arguments
  • options - The VerifyOptions to use.
§Returns

The ProofVerifier instance with the new options applied.

Source

pub fn verify(&self, proof: &LogicProof) -> VerifyResult

Verifies a given LogicProof against the verifier’s configuration and known rules.

This is the main entry point for proof verification. It checks hash integrity (if enabled), validates each step, and ensures the conclusion logically follows.

§Arguments
  • proof - The LogicProof to verify.
§Returns

A VerifyResult indicating whether the proof is valid and listing any errors or warnings.

Trait Implementations§

Source§

impl Default for ProofVerifier

Source§

fn default() -> Self

Provides a default ProofVerifier instance, equivalent to calling ProofVerifier::new().

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.