There are two sum-check implementations currently in BaseFold:
The implementation in the outer module is used for batch opening on different points (This version of batch opening is not being used in current Ceno ZKVM, but I'm not sure about the future). We did not use the Ceno sumcheck because it needs virtual polynomials that involve MLEs with different sizes, which the Ceno sumcheck did not support back when BaseFold was started (now supported).
The implementation in the inner module just provides some utility functions that will be invoked by BaseFold for interleavingly execute with the FRI protocol.
Both implementations assume the target virtual polynomial is at most degree-2, and is of the form "eq()*some MLE", so there may be further optimizations exploiting this structure, that's another reason why BaseFold chose to use its own implementations.
Need to modify the Ceno sum-check to use in BaseFold.
There are two sum-check implementations currently in BaseFold:
Both implementations assume the target virtual polynomial is at most degree-2, and is of the form "eq()*some MLE", so there may be further optimizations exploiting this structure, that's another reason why BaseFold chose to use its own implementations.
Need to modify the Ceno sum-check to use in BaseFold.