p3_binary_pcs/whir/
proof.rs1use p3_binary_field::TowerLevel;
4use p3_commit::Mmcs;
5use p3_field::Field;
6use p3_sumcheck::ring_switch::bits::BitRingSwitchClaimsProof;
7use p3_whir::PcsProof;
8use serde::{Deserialize, Serialize};
9
10#[derive(Clone, Serialize, Deserialize)]
12#[serde(bound(
13 serialize = "EF: TowerLevel, MT::Commitment: Serialize, MT::MultiProof: Serialize",
14 deserialize = "EF: TowerLevel, MT::Commitment: Deserialize<'de>, MT::MultiProof: Deserialize<'de>"
15))]
16pub struct BooleanWhirProof<EF: Field + Send + Sync, MT: Mmcs<EF>> {
17 pub reduction: BitRingSwitchClaimsProof<EF>,
19 pub opening: PcsProof<EF, EF, MT>,
21}