Skip to main content

verify

Function verify 

Source
pub fn verify<'a, F, C>(
    tables: impl IntoIterator<Item = TableLookup<'a, C::Elem>>,
    channel: &mut C,
) -> Result<LogupProof<C::Elem>, Error>
Expand description

Verify a logUp* reduction whose pushforwards are committed as oracles.

This wraps binius_ip::logup_star::verify_reduction with the pushforward commitments. The looker batching challenge is sampled first — the prover needs it to build the pushforwards — then one Y oracle is received per table, in table order, before the reduction, so the logUp challenges bind every commitment. The relations <Y, eq_r> = Y(r) at each table’s reduced point are opened through the channel, which may defer the actual openings to finish().

One oracle per table is the simple arrangement; the pushforwards could instead be concatenated into a single oracle, which is left for later.

§Arguments

  • tables - One binius_ip::logup_star::TableLookup per table, by value. The lookers’ evaluation points may differ in length, from each other and from the table.
  • channel - The IOP verifier channel carrying the Y commitments.

§Errors

Returns an error when a pushforward commitment is missing or the reduction identity fails.