This monorepo contains the formal verification of the 5 sumcheck instances in Jolt, organized as separate Lake packages.
jolt-sumcheck-fv/
├── shared/ # Shared infrastructure
│ └── Jolt/
│ ├── Polynomials/ # Pure math polynomials
│ ├── ZkLeanExtract/ # R1CS types from zkLean
│ └── Sumcheck/ # Protocol & proofs
│ ├── Bridge/
│ ├── Core/
│ ├── EndToEnd/
│ ├── Instances/
│ └── Targets/
├── sumchecks/
│ ├── InstructionInput/ # InstructionInputVirtualization
│ ├── SpartanShift/ # SpartanShift
│ ├── RamReadWrite/ # RamReadWriteChecking
│ ├── RegistersReadWrite/ # RegistersReadWriteChecking
│ └── OuterSpartan/ # R1CS / OuterSpartan
├── scripts/ # Build scripts
└── garbage/ # Archived files
./scripts/build-all.sh./scripts/build-InstructionInput.sh
./scripts/build-SpartanShift.sh
./scripts/build-RamReadWrite.sh
./scripts/build-RegistersReadWrite.sh
./scripts/build-OuterSpartan.sh./scripts/build-shared.sh./scripts/clean-all.shcd shared && lake build
cd sumchecks/InstructionInput && lake build| Package | Description |
|---|---|
| InstructionInput | InstructionInputVirtualization sumcheck |
| SpartanShift | SpartanShift / cycle-transition sumcheck |
| RamReadWrite | RAM read/write checking sumcheck |
| RegistersReadWrite | Registers read/write checking sumcheck |
| OuterSpartan | R1CS / Spartan outer sumcheck |
- Lean 4 v4.23.0
- Mathlib v4.23.0
- zkLean
Each sumcheck package depends on shared/ which contains all reusable infrastructure.