An open API service indexing awesome lists of open source software.

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.

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.