Add bus interactions for plonk circuit

how the plonkChip get the AIR?

we first check how the powdrChip gets its air:

it takes a machine as input, generate a PowdrAir.

check how the new function of powdrAir is implemented?

but it needs to define PlonkAir data structure

PowdrAir has this

it make sense to have machine for plonkAir,

Machine to Plonk circuit

the function generate_air_proof_input is where the trace generated, for plonkChip, to generate the trace, it necessary to build the plonkCircuit, knowing each gate, and generate witness based on it.

in air_to_plonkish, I make algebricExpression to plonk gate,

It is one element of SymbolicMachine,

algebricExpression belongs to constraints

now I can create a function to transfer bus_interactions to gates

I can find all the bus id definition here

I need to check in runtime example to see where is the bus type identifier

in the export_pil function, one of the inputs is bus_map, it is

it maps bus_id to bus type

it belongs to PowdrConfig, so I need to find out where this info is generated.

it seems it is not computed, but just set in the config

when create a new config, the code is:

BusMap::openvm_base is

so it is pre-defined, but I need this input to map the bus id with type

how to use an efficient way to map bus_id to type? let’s check how it is handled in export_pil function (then this busmap parameter is transferred to get_pil)

here the constraint is openvm equivalent of symbolic machine

I should find the symbolic machine, the id should match

as here it handle the openvm bus, I should check if the symbolic_machine from powdr, the bus id there is the interaction.bus_index

found this function, yes

Leave a Reply

Your email address will not be published. Required fields are marked *