remainder/
lib.rs

1#![warn(missing_docs)]
2//!Remainder: A fast GKR based library for building zkSNARKS for ML
3//! applications
4
5#[cfg(test)]
6extern crate quickcheck;
7
8#[cfg(test)]
9#[macro_use(quickcheck)]
10extern crate quickcheck_macros;
11
12pub mod circuit_building_context;
13
14pub mod circuit_layout;
15
16pub mod provable_circuit;
17
18pub mod verifiable_circuit;
19
20// module for tracking all the claims, aggregating them,
21// and generating proofs of aggregation
22pub mod claims;
23
24// module for defining the expressions (and relavant helper
25// functions) for which the prover and the verifier interact with
26pub mod expression;
27
28// module with the Layer trait, which is the main trait for
29// which we prove/verify over
30pub mod layer;
31
32// For the various output layers to the GKR circuit
33pub mod output_layer;
34
35// For the various input layers to the GKR circuit
36pub mod input_layer;
37
38// module for defining the MLE (multi-linear extension) data structure
39// we keep track of prefix bits, the evaluations there
40// it also includes implementations for manipulating the MLE
41pub mod mle;
42
43// module where the main prove/verify functions are defined
44// it also includes various data structures, e.g. the Layers,
45// Witness, InputLayerProof, GKRProof, etc. that's necessary
46// for proving and verifying the GKR circuit
47pub mod prover;
48
49// module for defining the function compute_sumcheck_message_beta_cascade,
50// which is the main function that the prover calls to compute the messages
51// for the verifier to check
52pub mod sumcheck;
53
54// module for useful functions
55pub mod utils;
56
57pub use shared_types;