docs(sumcheck): annotate main-sumcheck formulas and Layer output-eval group construction#1310
docs(sumcheck): annotate main-sumcheck formulas and Layer output-eval group construction#1310Copilot wants to merge 6 commits intofeat/gkr_iop_modulefrom
Conversation
Agent-Logs-Url: https://github.com/scroll-tech/ceno/sessions/244b2603-bbd7-43bf-a6a1-23d0f5219026 Co-authored-by: kunxian-xia <1082586+kunxian-xia@users.noreply.github.com>
|
@copilot since main sumcheck phase is used to batch a few smaller sumchecks together, please write down the mathematical expressions of these smaller sumchecks. |
|
@copilot For example, the batched main sumcheck has zerochecks (derived from each chip's constraints) in which the expected sum is 0. |
Agent-Logs-Url: https://github.com/scroll-tech/ceno/sessions/171ba071-eaef-4381-9685-45c0c5450609 Co-authored-by: kunxian-xia <1082586+kunxian-xia@users.noreply.github.com>
Done in commit I updated the main-sumcheck comments to explicitly define the smaller batched sumchecks:
Updated locations:
|
|
@copilot please add code comments to “Layer::from_circuit_builder” to explain on how the output evaluation group was constructed, e.g. read/write/lk/ecc/rotation/ecc. Cite with clear mathematics formula is preferable. |
Agent-Logs-Url: https://github.com/scroll-tech/ceno/sessions/a272823d-c7eb-4dad-a2f2-3905058f7ed0 Co-authored-by: kunxian-xia <1082586+kunxian-xia@users.noreply.github.com>
Addressed in commit I updated the comments to explicitly state that for chip-derived zerochecks each batched subgroup has expected sum 0: |
…uilder Agent-Logs-Url: https://github.com/scroll-tech/ceno/sessions/4816d2bc-fdbc-4b58-9b54-ad62a2d5eeb8 Co-authored-by: kunxian-xia <1082586+kunxian-xia@users.noreply.github.com>
Agent-Logs-Url: https://github.com/scroll-tech/ceno/sessions/4816d2bc-fdbc-4b58-9b54-ad62a2d5eeb8 Co-authored-by: kunxian-xia <1082586+kunxian-xia@users.noreply.github.com>
Implemented in commits I added math-focused comments in |
This update addresses reviewer feedback to explicitly document the concrete expression proved in the main sumcheck phase. The code now spells out the selector-group RLC form at the exact construction/proving sites (CPU/GPU + layer assembly), states the mathematical form of the smaller sumchecks batched by main sumcheck (including zero-target zerochecks), and adds formula-level documentation in
Layer::from_circuit_builderfor how output evaluation groups are assembled.Main-sumcheck expression clarity
zerocheck_layergkr_iop/src/gkr/layer/zerocheck_layer.rsgkr_iop/src/gkr/layer/cpu/mod.rsgkr_iop/src/gkr/layer/gpu/mod.rsConcrete formulas now documented in-place
Layer output-eval group construction (new)
Layer::from_circuit_builderdescribing how groups are formed for:r_selector)w_selector)lk_selector, including padding-normalized non-negated/negated forms)zero_selector)offset(g,i)is assigned from flattenedexpr_evalsorder.gkr_iop/src/gkr/layer.rsExpression assembly note
zerocheck_layer, comments clarify that:rlc_zero_exprbuilds per-groupp_g(x)termsp(x)is the sum over all groups