{
  "slug": "lampe",
  "name": "Lampe",
  "tagline": "Reilabs' Noir-to-Lean semantics extraction",
  "maintainer": "Reilabs",
  "url": "https://github.com/reilabs/lampe",
  "repo": "https://github.com/reilabs/lampe",
  "category": "zk-circuits",
  "targets": [
    "Noir",
    "ACIR"
  ],
  "approach": "Semantics-first extraction of Noir programs into Lean 4, then property proofs",
  "license": "Open source",
  "status": "Active",
  "summary": "Lampe extracts the semantics of Noir programs into Lean 4 so that properties of Aztec-ecosystem circuits can be stated and proved. It is the main proof-assistant route for Noir; NAVe is the automatic alternative.",
  "details": [
    "Reilabs previously built proven-zk and the gnark-lean-extractor, used to verify Worldcoin's Semaphore Merkle tree batcher. Lampe applies the same semantics-first approach to Noir's higher-level language."
  ],
  "strengths": [
    "Only maintained proof-assistant path for Noir.",
    "Team has shipped verified production circuits (Worldcoin).",
    "Lean 4, so interoperable with the rest of the ecosystem."
  ],
  "limits": [
    "Noir only.",
    "Semantics extraction is part of the TCB.",
    "Public examples still growing."
  ],
  "fit": [
    "Choose Lampe for Noir or Aztec circuits that need proofs rather than automatic checks."
  ],
  "references": [
    [
      "Lampe repository",
      "https://github.com/reilabs/lampe"
    ],
    [
      "Reilabs",
      "https://reilabs.io"
    ]
  ],
  "category_name": "ZK circuit verification",
  "page": "https://sorryfree.com/frameworks/lampe/",
  "updated": "2026-09-13"
}