Struct folding::instance_witness::ExtendedInstance
source · pub struct ExtendedInstance<G: CommitmentCurve, I: Instance<G>> {
pub instance: I,
pub extended: Vec<PolyComm<G>>,
}
Expand description
An extended instance is an instance that has been extended with extra
columns by quadraticization.
The original instance is stored in the instance
field.
The extra columns are stored in the extended
field.
For instance, if the original instance has n
columns, and the system is
described by a degree 3 polynomial, an additional column will be added, and
extended
will contain 1
commitment.
Fields§
§instance: I
The original instance.
extended: Vec<PolyComm<G>>
Commitments to the extra columns added by quadraticization
Trait Implementations§
source§impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for ExtendedInstance<G, I>
impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for ExtendedInstance<G, I>
source§fn clone(&self) -> ExtendedInstance<G, I>
fn clone(&self) -> ExtendedInstance<G, I>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<G: CommitmentCurve, I: Instance<G>> Foldable<<G as AffineRepr>::ScalarField> for ExtendedInstance<G, I>
impl<G: CommitmentCurve, I: Instance<G>> Foldable<<G as AffineRepr>::ScalarField> for ExtendedInstance<G, I>
source§impl<G: CommitmentCurve, I: Instance<G>> Instance<G> for ExtendedInstance<G, I>
impl<G: CommitmentCurve, I: Instance<G>> Instance<G> for ExtendedInstance<G, I>
source§fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)
fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)
Return the elements to be absorbed by the sponge
The commitments to the additional columns created by quadriticization are appended to the existing commitments of the initial instance to be absorbed. The scalars are unchanged.
source§fn get_blinder(&self) -> G::ScalarField
fn get_blinder(&self) -> G::ScalarField
Returns the blinder value. It is the same as the one of the original
source§fn get_alphas(&self) -> &Alphas<G::ScalarField>
fn get_alphas(&self) -> &Alphas<G::ScalarField>
source§impl<G: PartialEq + CommitmentCurve, I: PartialEq + Instance<G>> PartialEq<ExtendedInstance<G, I>> for ExtendedInstance<G, I>
impl<G: PartialEq + CommitmentCurve, I: PartialEq + Instance<G>> PartialEq<ExtendedInstance<G, I>> for ExtendedInstance<G, I>
source§fn eq(&self, other: &ExtendedInstance<G, I>) -> bool
fn eq(&self, other: &ExtendedInstance<G, I>) -> bool
self
and other
values to be equal, and is used
by ==
.impl<G: Eq + CommitmentCurve, I: Eq + Instance<G>> Eq for ExtendedInstance<G, I>
impl<G: CommitmentCurve, I: Instance<G>> StructuralEq for ExtendedInstance<G, I>
impl<G: CommitmentCurve, I: Instance<G>> StructuralPartialEq for ExtendedInstance<G, I>
Auto Trait Implementations§
impl<G, I> RefUnwindSafe for ExtendedInstance<G, I>where G: RefUnwindSafe, I: RefUnwindSafe,
impl<G, I> Send for ExtendedInstance<G, I>where I: Send,
impl<G, I> Sync for ExtendedInstance<G, I>where I: Sync,
impl<G, I> Unpin for ExtendedInstance<G, I>where G: Unpin, I: Unpin,
impl<G, I> UnwindSafe for ExtendedInstance<G, I>where G: UnwindSafe, I: UnwindSafe,
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<G, I> RelaxableInstance<G, I> for Iwhere
G: CommitmentCurve,
I: Instance<G>,
impl<G, I> RelaxableInstance<G, I> for Iwhere G: CommitmentCurve, I: Instance<G>,
source§fn relax(self) -> RelaxedInstance<G, I>
fn relax(self) -> RelaxedInstance<G, I>
This method takes an Instance and a commitment to zero and extends the instance, returning a relaxed instance which is composed by the extended instance, the scalar one, and the error commitment which is set to the commitment to zero.