Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
smt_terms::Bool Class Reference

Bool element class. More...

#include <bool.hpp>

Public Member Functions

 Bool (const cvc5::Term &t, Solver *slv, TermType type=TermType::SBool)
 
 Bool (const STerm &t)
 
 Bool (const std::string &name, Solver *slv)
 
 Bool (bool t, Solver *slv)
 
 Bool (const Bool &other)=default
 
 Bool (Bool &&other)=default
 
Booloperator= (const Bool &right)=default
 
Booloperator= (Bool &&right)=default
 
void assert_term ()
 
Bool operator| (const Bool &other) const
 
void operator|= (const Bool &other)
 
Bool operator| (const bool &other) const
 
void operator|= (const bool &other) const
 
Bool operator& (const Bool &other) const
 
void operator&= (const Bool &other)
 
Bool operator& (const bool &other) const
 
void operator&= (const bool &other)
 
Bool operator! () const
 
Bool operator== (const Bool &other) const
 
Bool operator!= (const Bool &other) const
 
 operator std::string () const
 
 operator cvc5::Term () const
 
 ~Bool ()=default
 

Public Attributes

Solversolver
 
cvc5::Term term
 
TermType type = TermType::SBool
 
bool asserted = false
 

Friends

std::ostream & operator<< (std::ostream &out, const Bool &term)
 
Bool batch_or (const std::vector< Bool > &children)
 
Bool batch_and (const std::vector< Bool > &children)
 

Detailed Description

Bool element class.

Can be used to create non trivial constraints. Supports basic boolean arithmetic: &, |. Only compatible with STerm

Definition at line 14 of file bool.hpp.

Constructor & Destructor Documentation

◆ Bool() [1/6]

smt_terms::Bool::Bool ( const cvc5::Term &  t,
Solver slv,
TermType  type = TermType::SBool 
)
inline

Definition at line 21 of file bool.hpp.

◆ Bool() [2/6]

smt_terms::Bool::Bool ( const STerm t)
inlineexplicit

Definition at line 26 of file bool.hpp.

◆ Bool() [3/6]

smt_terms::Bool::Bool ( const std::string &  name,
Solver slv 
)
inlineexplicit

Definition at line 30 of file bool.hpp.

◆ Bool() [4/6]

smt_terms::Bool::Bool ( bool  t,
Solver slv 
)
inlineexplicit

Definition at line 36 of file bool.hpp.

◆ Bool() [5/6]

smt_terms::Bool::Bool ( const Bool other)
default

◆ Bool() [6/6]

smt_terms::Bool::Bool ( Bool &&  other)
default

◆ ~Bool()

smt_terms::Bool::~Bool ( )
default

Member Function Documentation

◆ assert_term()

void smt_terms::Bool::assert_term ( )
inline

Definition at line 47 of file bool.hpp.

◆ operator cvc5::Term()

smt_terms::Bool::operator cvc5::Term ( ) const
inline

Definition at line 71 of file bool.hpp.

◆ operator std::string()

smt_terms::Bool::operator std::string ( ) const
inline

Definition at line 70 of file bool.hpp.

◆ operator!()

Bool smt_terms::Bool::operator! ( ) const

Definition at line 41 of file bool.cpp.

◆ operator!=()

Bool smt_terms::Bool::operator!= ( const Bool other) const

Definition at line 34 of file bool.cpp.

◆ operator&() [1/2]

Bool smt_terms::Bool::operator& ( const Bool other) const

Definition at line 17 of file bool.cpp.

◆ operator&() [2/2]

Bool smt_terms::Bool::operator& ( const bool &  other) const

◆ operator&=() [1/2]

void smt_terms::Bool::operator&= ( const Bool other)

Definition at line 23 of file bool.cpp.

◆ operator&=() [2/2]

void smt_terms::Bool::operator&= ( const bool &  other)

◆ operator=() [1/2]

Bool & smt_terms::Bool::operator= ( Bool &&  right)
default

◆ operator=() [2/2]

Bool & smt_terms::Bool::operator= ( const Bool right)
default

◆ operator==()

Bool smt_terms::Bool::operator== ( const Bool other) const

Definition at line 28 of file bool.cpp.

◆ operator|() [1/2]

Bool smt_terms::Bool::operator| ( const Bool other) const

Definition at line 5 of file bool.cpp.

◆ operator|() [2/2]

Bool smt_terms::Bool::operator| ( const bool &  other) const

◆ operator|=() [1/2]

void smt_terms::Bool::operator|= ( const Bool other)

Definition at line 12 of file bool.cpp.

◆ operator|=() [2/2]

void smt_terms::Bool::operator|= ( const bool &  other) const

Friends And Related Symbol Documentation

◆ batch_and

Bool batch_and ( const std::vector< Bool > &  children)
friend

Definition at line 86 of file bool.hpp.

◆ batch_or

Bool batch_or ( const std::vector< Bool > &  children)
friend

Definition at line 78 of file bool.hpp.

◆ operator<<

std::ostream & operator<< ( std::ostream &  out,
const Bool term 
)
friend

Definition at line 73 of file bool.hpp.

Member Data Documentation

◆ asserted

bool smt_terms::Bool::asserted = false

Definition at line 19 of file bool.hpp.

◆ solver

Solver* smt_terms::Bool::solver

Definition at line 16 of file bool.hpp.

◆ term

cvc5::Term smt_terms::Bool::term

Definition at line 17 of file bool.hpp.

◆ type

TermType smt_terms::Bool::type = TermType::SBool

Definition at line 18 of file bool.hpp.


The documentation for this class was generated from the following files: