https://github.com/reilabs/lean-circuit-compiler
A tool to extract gnark circuits defined in Go to Lean for formal verification.
https://github.com/reilabs/lean-circuit-compiler
arithmetic-circuit formal-verification gnark go
Last synced: 3 months ago
JSON representation
A tool to extract gnark circuits defined in Go to Lean for formal verification.
- Host: GitHub
- URL: https://github.com/reilabs/lean-circuit-compiler
- Owner: reilabs
- License: apache-2.0
- Created: 2023-11-21T15:07:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-29T18:35:36.000Z (over 1 year ago)
- Last Synced: 2025-01-13T19:19:52.984Z (4 months ago)
- Topics: arithmetic-circuit, formal-verification, gnark, go
- Language: Go
- Homepage: https://reilabs.io
- Size: 22.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Lean Circuit Compiler
This repository contains a Go library that transpiles
[zero-knowledge](https://en.wikipedia.org/wiki/Zero-knowledge_proof) (ZK)
circuits from [Go](https://go.dev) to [Lean](https://leanprover.github.io). In
particular, it deals with circuits constructed as part of the
[gnark](https://github.com/ConsenSys/gnark) proof system.This makes it possible to take existing gnark circuits and export them to Lean
for later formal verification.This library contains the core of the extractor to be used in conjunction with [gnark-lean-extractor](https://github.com/reilabs/gnark-lean-extractor)
which is the interface layer with [gnark](https://github.com/ConsenSys/gnark).For an overview of how to use this library, see the documentation in [gnark-lean-extractor](https://github.com/reilabs/gnark-lean-extractor).
If you are interested in contributing, or are new to Go, please see our
[contributing guidelines](./CONTRIBUTING.md) for more information.