|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
LLZK uses the upstream SMT dialect for solver operations and terms. On top of that, LLZK defines the smt extensions below.
SMT-LIB script metadata retained through emission
Attach SMT-LIB set-info metadata to a script
| Attribute | MLIR Type | Description |
|---|---|---|
key | ::llzk::smt_info::KeywordAttr | an SMT-LIB keyword |
value | ::mlir::Attribute | any attribute |
An SMT-LIB keyword
| Parameter | C++ type | Description |
|---|---|---|
| value | ::llvm::StringRef | The keyword text |
An SMT-LIB bare symbol
| Parameter | C++ type | Description |
|---|---|---|
| value | ::llvm::StringRef | The symbol text |
Felt literals are reduced to [0, p) before being emitted as SMT integer constants, including signed literals. A specified source field determines p; for fieldless literals, the field selected by the lowering pass determines p.