pub struct Proof { /* private fields */ }Expand description
A lowering’s proof: the program, and how it is proved equal to its 64-bit definition.
Implementations§
Source§impl Proof
impl Proof
pub fn kind(&self) -> &ProofKind
pub fn program(&self) -> &LaneProgram
Sourcepub fn check(&self) -> bool
pub fn check(&self) -> bool
Checks the proof afresh: the program evaluated symbolically again, its identities and intervals derived again, the identities equal to those the proof carries, each accepted by the first kernel and never contradicted by the second, with the verdicts the proof records; or the circuits’ equivalence decided again and its derivation replayed.
Sourcepub fn with_kind(&self, kind: ProofKind) -> Proof
pub fn with_kind(&self, kind: ProofKind) -> Proof
The same program with kind in place of its proof, to be checked.
Sourcepub fn second_kernel_decided(&self) -> (usize, usize)
pub fn second_kernel_decided(&self) -> (usize, usize)
The identities both kernels decided, and all of them; zero and zero for a circuit proof.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Proof
impl RefUnwindSafe for Proof
impl Send for Proof
impl Sync for Proof
impl Unpin for Proof
impl UnsafeUnpin for Proof
impl UnwindSafe for Proof
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.