Skip to main content

Module prover

Module prover 

Source
Expand description

Prover components.

Structs§

CoreProofShape
The shape of the core proof. This and prover setup parameters should entirely determine the verifier circuit.
DefaultTraceGenerator
A trace generator that used the default methods on chips for generating traces.
MainTraceData
The main traces for a program, with a permit.
MemoryPermit
A memory permit.
MemoryPermitting
A semaphore that can be used to permit memory usage.
PreprocessedData
The preprocessed data for a program.
PreprocessedTraceData
The preprocessed traces for a program.
ProverAcquireError
An error that occurs when acquiring a permit.
ProverPermit
A permit for the prover.
ProverSemaphore
A semaphore for the prover.
ProvingKey
A proving key for an AIR prover.
ShardData
A collection of main traces with a permit.
ShardProver
A prover for the hypercube STARK, given a configuration. Wrapped in Arc for cheap cloning to enable spawn_blocking.
ShardProverData
A proving key for a STARK.
ShardProverInner
Inner struct containing the actual prover data.
SimpleProver
A prover that proves traces sequentially using a single AirProver.
TraceData
The total trace data for a shard.
Traces
A collection of traces.
ZeroCheckPoly
Zerocheck sumcheck polynomial.
ZerocheckCpuProver
Zerocheck data for the CPU backend.
ZerocheckCpuProverData
The data required to produce zerocheck proofs on CPU.

Enums§

MemoryPermitError
Errors that can occur when acquiring a memory permit.

Traits§

AirProver
A prover for an AIR.
TraceGenerator
A trace generator for a given machine.
ZerocheckAir
An AIR compatible with the standard zerocheck prover.

Functions§

increment_y_values
This function will increment the y0, y2, and y4 accumulators by the eval of the constraint polynomial at the points 0, 2, and 4.
interpolate_last_var_padded_values
This function will calculate the column values where the last variable is set to 0, 2, and 4 and it’s a padded variable. The row_0 values are taken from the values matrix (which should have a height of 1). The row_1 values are all zero.
shape_from_record
Given a record, compute the shape of the resulting shard proof.
simple_prover
Create a SimpleProver from a verifier with a single permit.
zerocheck_fix_last_variable
This function will set the last variable to alpha.
zerocheck_sum_as_poly_in_last_variable
This function will calculate the univariate polynomial where all variables other than the last are summed on the boolean hypercube and the last variable is left as a free variable. TODO: Add flexibility to support degree 2 and degree 3 constraint polynomials.

Type Aliases§

CpuShardProver
A CPU shard prover.
CpuSimpleProver
A CPU simple prover.
PcsProof
The PCS proof type associated to a shard context.
Program
The type of program this prover can make proofs for.
Record
The execution record for this prover.
SP1InnerPcsProver
The CPU prover components for a jagged PCS prover in SP1.
SP1MerkleTreeProver
SP1OuterPcsProver
The Jagged CPU prover components for the wrap step of recursion in SP1.