Barretenberg
The ZK-SNARK library at the core of Aztec
|
Classes | |
class | Bool |
Bool element class. More... | |
class | STerm |
Symbolic term element class. More... | |
class | STuple |
sym Tuple class More... | |
class | SymArray |
symbolic Array class More... | |
class | SymSet |
symbolic Set class More... | |
Concepts | |
concept | ConstructibleFromTerm |
Enumerations | |
enum class | TermType { FFTerm , FFITerm , BVTerm , ITerm , SBool , STuple , SymArray , SymSet } |
Allows to define three types of symbolic terms STerm - Symbolic Variables acting like a Finte Field elements FFITerm - Symbolic Variables acting like integers modulo prime ITerm - Symbolic Variables acting like integers BVTerm - Symbolic Variables acting like bitvectors modulo prime. More... | |
enum class | OpType : int32_t { ADD , SUB , MUL , DIV , NEG , XOR , AND , OR , GT , GE , LT , LE , MOD , RSH , LSH , ROTR , ROTL , NOT , EXTRACT , BITVEC_PAD , BIT_SUM } |
Functions | |
STerm | operator+ (const bb::fr &lhs, const STerm &rhs) |
STerm | operator- (const bb::fr &lhs, const STerm &rhs) |
STerm | operator* (const bb::fr &lhs, const STerm &rhs) |
STerm | operator^ (const bb::fr &lhs, const STerm &rhs) |
STerm | operator& (const bb::fr &lhs, const STerm &rhs) |
STerm | operator| (const bb::fr &lhs, const STerm &rhs) |
STerm | operator/ (const bb::fr &lhs, const STerm &rhs) |
void | operator== (const bb::fr &lhs, const STerm &rhs) |
void | operator!= (const bb::fr &lhs, const STerm &rhs) |
std::ostream & | operator<< (std::ostream &os, const TermType type) |
STerm | FFVar (const std::string &name, Solver *slv) |
STerm | FFConst (const std::string &val, Solver *slv, uint32_t base) |
STerm | FFConst (const bb::fr &val, Solver *slv) |
STerm | FFIVar (const std::string &name, Solver *slv) |
STerm | FFIConst (const std::string &val, Solver *slv, uint32_t base) |
STerm | FFIConst (const bb::fr &val, Solver *slv) |
STerm | IVar (const std::string &name, Solver *slv) |
STerm | IConst (const std::string &val, Solver *slv, uint32_t base) |
STerm | IConst (const bb::fr &val, Solver *slv) |
STerm | BVVar (const std::string &name, Solver *slv) |
STerm | BVConst (const std::string &val, Solver *slv, uint32_t base) |
STerm | BVConst (const bb::fr &val, Solver *slv) |
Variables | |
const std::unordered_map< TermType, std::unordered_map< OpType, cvc5::Kind > > | typed_operations |
precomputed map that contains allowed operations for each of three symbolic types | |
|
strong |
|
strong |
Allows to define three types of symbolic terms STerm - Symbolic Variables acting like a Finte Field elements FFITerm - Symbolic Variables acting like integers modulo prime ITerm - Symbolic Variables acting like integers BVTerm - Symbolic Variables acting like bitvectors modulo prime.
Enumerator | |
---|---|
FFTerm | |
FFITerm | |
BVTerm | |
ITerm | |
SBool | |
STuple | |
SymArray | |
SymSet |
std::ostream & smt_terms::operator<< | ( | std::ostream & | os, |
const TermType | type | ||
) |