Skip to main content

prove_transparent

Function prove_transparent 

Source
pub fn prove_transparent<'a, F, P, Channel, A>(
    tables: impl IntoIterator<Item = TableLookup<'a, P>>,
    channel: &mut Channel,
    alloc: &A,
) -> LogupTransparentProof<F>
where F: BinaryField<Underlier: Divisible<u64>>, P: PackedField<Scalar = F> + 'a, Channel: IOPProverChannel<P, A>, A: Allocator,
Expand description

Prove a logUp* reduction over transparent tables, with the pushforwards committed as oracles.

This wraps binius_ip_prover::logup_star::prove_reduction_transparent the way prove wraps the committed-table reduction. The reduction leaves two claims on each pushforward instead of one, and both are opened here through the channel:

    <Y, eq_z> = Y(z)      the fractional-addition leaf claim
    <Y, T>    = e         the product claim, against the transparent table itself

The two are queued in that order, matching binius_iop::logup_star::verify_transparent.

§Arguments

The arguments of prove. The tables are transparent, so no oracle is committed for them; their multilinears are still needed, both by the reduction and by the product relation.

§Preconditions

The preconditions of prove.