sonobe-fs 0.1.0-alpha.1

Traits and implementations of folding schemes for the Sonobe library
Documentation

Folding scheme definition and implementations.

This crate provides the traits for folding schemes, the out-of-circuit widgets and the in-circuit gadgets of their algorithms, and their associated structures (such as keys, instances, and witnesses) in [definitions].

Concrete constructions of the following folding schemes are then implemented as submodules:

Each scheme module mirrors the same directory layout:

  • algorithms/: Implementations for the following algorithms:
    • Preprocessing/Setup: [FoldingSchemePreprocessor]
    • Key generation: [FoldingSchemeKeyGenerator]
    • Proof generation: [FoldingSchemeProver]
    • Proof verification: [FoldingSchemeVerifier]
  • circuits/: In-circuit (partial / full) gadgets, mainly for verification.
  • instances/: Instance types.
  • keys/: Key types.
  • witnesses/: Witness types.

Example

Aggregating independent claims about solutions to an equation into a single accumulator.

This example is also runnable with cargo run --release --example aggregate_solutions.