What should be done?
This issue is a followup on #461
As Plonky3 currently does not support periodic columns out of the box, we've introduced in #461 multiple structs and implementation for their support in our backend.
However, their handling can be improved. For instance, we can no longer prove or verify traces, only check that a given trace follows the constraints described in the Air for testing.
How should it be done?
-
fn periodic_columns(&self) -> Vec<Self::PeriodicColumnsVar> { in AirBuilderWithPeriodicColumns should maybe return an Array
-
periodic_columns in the DebugConstraintBuilderWithPeriodicColumns struct a bit differently
- Pad all periodic columns to the maximum length by periodic repetition
- Transpose the columns so that we have a vector of rows.
- We just return
&self.periodic_columns[self.row_index % col.len()]
_Originally posted by @adr1anh in #461 (comment)
- Add support of
prove and verify
When is this task done?
This task is done when a better handling of periodic columns has been achieved and tested in all the current tests.
Additional context
No response
What should be done?
This issue is a followup on #461
As Plonky3 currently does not support periodic columns out of the box, we've introduced in #461 multiple structs and implementation for their support in our backend.
However, their handling can be improved. For instance, we can no longer
proveorverifytraces, only check that a given trace follows the constraints described in the Air for testing.How should it be done?
fn periodic_columns(&self) -> Vec<Self::PeriodicColumnsVar> {inAirBuilderWithPeriodicColumnsshould maybe return an Arrayperiodic_columnsin theDebugConstraintBuilderWithPeriodicColumnsstruct a bit differently&self.periodic_columns[self.row_index % col.len()]_Originally posted by @adr1anh in #461 (comment)
proveandverifyWhen is this task done?
This task is done when a better handling of periodic columns has been achieved and tested in all the current tests.
Additional context
No response