pub struct WordProofSecurityModel { /* private fields */ }Expand description
Checked dimensions of one complete word-level relation proof.
Implementations§
Source§impl WordProofSecurityModel
impl WordProofSecurityModel
Sourcepub fn new(
field_bits: usize,
relation_families: usize,
zerocheck_variables: usize,
zerocheck_degree: usize,
integer_mul: Option<WordIntegerMulSecurityModel>,
shift: WordShiftSecurityModel,
commitment: Vec<SecurityTerm>,
log2_candidates: f64,
) -> Option<Self>
pub fn new( field_bits: usize, relation_families: usize, zerocheck_variables: usize, zerocheck_degree: usize, integer_mul: Option<WordIntegerMulSecurityModel>, shift: WordShiftSecurityModel, commitment: Vec<SecurityTerm>, log2_candidates: f64, ) -> Option<Self>
Creates a model when every sampled experiment has a well-formed shape.
The width argument is a lower bound on the base-two logarithm of the challenge-field order.
Every batching, vanishing, and reduction challenge must be drawn from that same field.
The last two arguments both come from the commitment.
They are what it charges, and how many candidates it still leaves open.
A statement without multiplication relations passes no multiplication model.
Sourcepub fn components(&self) -> Vec<SecurityTerm>
pub fn components(&self) -> Vec<SecurityTerm>
Returns each algebraic error source for diagnostic reporting.
Sourcepub fn combined_term(&self) -> SecurityTerm
pub fn combined_term(&self) -> SecurityTerm
Returns the union bound over every experiment the proof runs.
Trait Implementations§
Source§impl Clone for WordProofSecurityModel
impl Clone for WordProofSecurityModel
Source§impl Debug for WordProofSecurityModel
impl Debug for WordProofSecurityModel
Source§impl PartialEq for WordProofSecurityModel
impl PartialEq for WordProofSecurityModel
impl StructuralPartialEq for WordProofSecurityModel
Auto Trait Implementations§
impl Freeze for WordProofSecurityModel
impl RefUnwindSafe for WordProofSecurityModel
impl Send for WordProofSecurityModel
impl Sync for WordProofSecurityModel
impl Unpin for WordProofSecurityModel
impl UnsafeUnpin for WordProofSecurityModel
impl UnwindSafe for WordProofSecurityModel
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more