Improve `periodic_column` usage in Plonky3 backend
- Ngôn ngữ chính
- Rust
- Star
- 96
- Fork
- 39
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### What should be done?
This issue is a followup on https://github.com/0xMiden/air-script/pull/461:7
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 {` 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 https://github.com/0xMiden/air-script/pull/461#discussion_r238264942
- 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_
Hướng dẫn đóng góp
Hướng nghiên cứu
Xem xét các thay đổi trong PR #461, đặc biệt là các cấu trúc `AirBuilderWithPeriodicColumns` và `DebugConstraintBuilderWithPeriodicColumns`. Hiểu cách các cột tuần hoàn hiện đang được xử lý và các cải tiến được đề xuất: padding, chuyển vị và bật prove/verify. Chạy các bài kiểm tra hiện có để đảm bảo các thay đổi không làm hỏng chức năng, tập trung vào các bài kiểm tra liên quan đến cột tuần hoàn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- rust
- Lĩnh vực
- backend, compilers
- Loại issue
- Tái cấu trúc
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100