Struct proof_system::meta_statement::EqualWitnesses
source · pub struct EqualWitnesses(pub BTreeSet<WitnessRef>);
Expand description
Describes equality between one or more witnesses across statements. Eg. if witness 3 of statement 0 is to be proven equal to witness 5 of statement 1, then its written as
use ark_std::collections::BTreeSet;
use proof_system::statement::EqualWitnesses;
let mut eq = BTreeSet::new();
eq.insert((0, 3));
eq.insert((1, 5));
let eq_w = EqualWitnesses(eq);
Multiple such equalities can be represented as separate EqualWitnesses
and each will be a separate
MetaStatement
// 1st witness equality
let mut eq_1 = BTreeSet::new();
eq_1.insert((0, 3));
eq_1.insert((1, 5));
let eq_1_w = EqualWitnesses(eq_1);
// 2nd witness equality
let mut eq_2 = BTreeSet::new();
eq_2.insert((0, 4));
eq_2.insert((1, 9));
let eq_2_w = EqualWitnesses(eq_2);
let mut meta_statements = MetaStatements::new();
meta_statements.add_witness_equality(eq_1_w);
meta_statements.add_witness_equality(eq_2_w);
Tuple Fields§
§0: BTreeSet<WitnessRef>
Implementations§
Trait Implementations§
source§impl CanonicalDeserialize for EqualWitnesses
impl CanonicalDeserialize for EqualWitnesses
source§fn deserialize_with_mode<R: Read>(
reader: R,
compress: Compress,
validate: Validate
) -> Result<Self, SerializationError>
fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>
The general deserialize method that takes in customization flags.
fn deserialize_compressed<R>(reader: R) -> Result<Self, SerializationError>where
R: Read,
fn deserialize_compressed_unchecked<R>(
reader: R
) -> Result<Self, SerializationError>where
R: Read,
fn deserialize_uncompressed<R>(reader: R) -> Result<Self, SerializationError>where
R: Read,
fn deserialize_uncompressed_unchecked<R>(
reader: R
) -> Result<Self, SerializationError>where
R: Read,
source§impl CanonicalSerialize for EqualWitnesses
impl CanonicalSerialize for EqualWitnesses
source§fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>
The general serialize method that takes in customization flags.
fn serialized_size(&self, compress: Compress) -> usize
fn serialize_compressed<W>(&self, writer: W) -> Result<(), SerializationError>where
W: Write,
fn compressed_size(&self) -> usize
fn serialize_uncompressed<W>(&self, writer: W) -> Result<(), SerializationError>where
W: Write,
fn uncompressed_size(&self) -> usize
source§impl Clone for EqualWitnesses
impl Clone for EqualWitnesses
source§fn clone(&self) -> EqualWitnesses
fn clone(&self) -> EqualWitnesses
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for EqualWitnesses
impl Debug for EqualWitnesses
source§impl<'de> Deserialize<'de> for EqualWitnesses
impl<'de> Deserialize<'de> for EqualWitnesses
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for EqualWitnesses
impl PartialEq for EqualWitnesses
source§fn eq(&self, other: &EqualWitnesses) -> bool
fn eq(&self, other: &EqualWitnesses) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for EqualWitnesses
impl Serialize for EqualWitnesses
source§impl Valid for EqualWitnesses
impl Valid for EqualWitnesses
fn check(&self) -> Result<(), SerializationError>
fn batch_check<'a>(
batch: impl Iterator<Item = &'a Self> + Send
) -> Result<(), SerializationError>where
Self: 'a,
impl Eq for EqualWitnesses
impl StructuralPartialEq for EqualWitnesses
Auto Trait Implementations§
impl Freeze for EqualWitnesses
impl RefUnwindSafe for EqualWitnesses
impl Send for EqualWitnesses
impl Sync for EqualWitnesses
impl Unpin for EqualWitnesses
impl UnwindSafe for EqualWitnesses
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CanonicalSerializeHashExt for Twhere
T: CanonicalSerialize,
impl<T> CanonicalSerializeHashExt for Twhere
T: CanonicalSerialize,
fn hash<H>(&self) -> GenericArray<u8, <H as OutputSizeUser>::OutputSize>where
H: Digest,
fn hash_uncompressed<H>(
&self
) -> GenericArray<u8, <H as OutputSizeUser>::OutputSize>where
H: Digest,
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> Upcastable for T
impl<T> Upcastable for T
source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref