Skip to main content

binius_ip/logup_star/
error.rs

1// Copyright 2026 The Binius Developers
2
3//! Error types for logUp* verification.
4
5use crate::{fracaddcheck, sumcheck};
6
7#[derive(Debug, thiserror::Error)]
8pub enum Error {
9	#[error("fractional-addition check error: {0}")]
10	FracAddCheck(#[from] fracaddcheck::Error),
11	#[error("sumcheck error: {0}")]
12	Sumcheck(#[from] sumcheck::Error),
13	#[error("verification error: {0}")]
14	Verification(#[from] VerificationError),
15}
16
17#[derive(Debug, thiserror::Error)]
18pub enum VerificationError {
19	#[error("the eq_r multilinear evaluation is incorrect")]
20	IncorrectXEvaluation,
21	#[error("the index evaluations do not combine to the leaf denominator")]
22	IncorrectIndexEvaluation,
23	#[error("the pushforward reduction evaluation is incorrect")]
24	PushforwardMismatch,
25	#[error("the proof is truncated or empty")]
26	TranscriptIsEmpty,
27}