Skip to content

Conversation

@jimpo
Copy link
Collaborator

@jimpo jimpo commented Feb 1, 2026

This is intended to be used in subsequent changes as a symbolic field element. This will help in verifier logic analysis and recursion circuit building.

jimpo and others added 7 commits February 1, 2026 00:50
The F parameter was only used for Mul<F> and MulAssign<F> bounds, which
were redundant for Field types (where F = Self). Move scalar multiplication
bounds directly to PackedField where they are actually needed.
Generalize IPVerifierChannel to have an associated type Elem: FieldOps<F>.
All recv_* and sample_* methods now return Self::Elem instead of F. This
allows for future symbolic field element types in verification.

Add assert_zero method that returns Error::InvalidAssert if the value is
not zero. For all concrete implementations, Elem = F is used.
Change IPVerifierChannel::Elem bound from Copy to Clone. Generalize
sumcheck and mlecheck verify functions to accept any channel type
without requiring Elem = F, enabling future support for symbolic
field elements.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Extend the channel generalization pattern from sumcheck/mlecheck. Use
C::Elem instead of requiring Elem = F, and replace equality checks with
channel.assert_zero() for FieldOps compatibility.

- Add extrapolate_line function with FieldOps bound to binius-math
- Remove Field bounds from claim structs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove Elem = F requirement from IOPVerifierChannel trait. Update finish
method to take (Oracle, Self::Elem) tuples and return symbolic claims.
Generalize spartan-verifier and verifier protocols accordingly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jimpo jimpo merged commit a045641 into main Feb 9, 2026
15 checks passed
@jimpo jimpo deleted the push-pnprymvmszmx branch February 9, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant