metaSMT 2
Namespaces | Classes | Typedefs | Functions
metaSMT Namespace Reference

Namespaces

namespace  _all_logic_tags
namespace  detail
namespace  features
namespace  fmi
 

fmi, the formal methods interface is an wrapper to make the transition from revkit/fmi easy. (Experimental)


namespace  impl
namespace  logic
namespace  SAT
namespace  smt2
namespace  solver
namespace  support
namespace  transform

Classes

struct  assertion_cmd
struct  assumption_cmd
struct  write_comment
class  IgnoreComments
 Ignore comment commands. More...
struct  group_change
struct  group_create
struct  group_delete
struct  group_current
struct  Group
struct  stack_push
struct  stack_pop
struct  Stack_emulation
struct  Stack
class  Aiger
class  SAT_Aiger
class  SAT_Clause
struct  BitBlast
struct  Debug_Context
struct  DirectSolver_Context
 direct Solver integration More...
class  Graph_Context
 A graph based representation of metaSMT expressions. More...
struct  CallByTag
struct  GraphSolver_Context
struct  boolector
struct  group
struct  direct
struct  construct_helper
struct  Instantiate
class  result_wrapper
struct  VertexDecorator
struct  DotDecorator
class  eval_visitor
struct  eval_visitor_0
struct  eval_visitor_1
struct  eval_visitor_2
struct  eval_visitor_3
struct  eval_visitor_4
struct  eval_visitor_5
struct  Vertex_Printer
struct  SMT_Declaration_Printer
struct  nil

Typedefs

typedef unsigned guard_type
typedef boost::property
< boost::edge_input_t, size_t > 
edge_input_property
typedef edge_input_property SMT_Edge_t
typedef boost::property
< boost::vertex_arg_t,
boost::any > 
vertex_arg_property
typedef boost::property
< boost::vertex_tag_t,
metaSMT::Tag,
vertex_arg_property
vertex_tag_property
typedef vertex_tag_property SMT_Vertex_t
typedef boost::adjacency_list
< boost::vecS, boost::vecS,
boost::directedS, SMT_Vertex_t,
SMT_Edge_t
SMT_Graph
typedef boost::graph_traits
< SMT_Graph >
::vertex_descriptor 
SMT_Expression
typedef boost::graph_traits
< SMT_Graph >::edge_descriptor 
SMT_Edge
typedef mpl::map42< mpl::pair
< predtags::true_tag,
mpl::string<'t', 'r', 'u', 'e'>
>, mpl::pair
< predtags::false_tag,
mpl::string<'f', 'a', 'l', 's',
'e'> >, mpl::pair
< bvtags::bvult_tag,
mpl::string<'b', 'v', 'u', 'l',
't'> >, mpl::pair
< bvtags::bvneg_tag,
mpl::string<'b', 'v', 'n', 'e',
'g'> >, mpl::pair
< bvtags::bvnot_tag,
mpl::string<'b', 'v', 'n', 'o',
't'> >, mpl::pair
< bvtags::bvand_tag,
mpl::string<'b', 'v', 'a', 'n',
'd'> >, mpl::pair
< bvtags::bvor_tag,
mpl::string<'b', 'v', 'o', 'r'>
>, mpl::pair
< bvtags::bvnand_tag,
mpl::string<'b', 'v', 'n', 'a',
'n', 'd'> >, mpl::pair
< bvtags::bvnor_tag,
mpl::string<'b', 'v', 'n', 'o',
'r'> >, mpl::pair
< bvtags::bvxor_tag,
mpl::string<'b', 'v', 'x', 'o',
'r'> >, mpl::pair
< bvtags::bvxnor_tag,
mpl::string<'b', 'v', 'x', 'n',
'o', 'r'> >, mpl::pair
< bvtags::bvadd_tag,
mpl::string<'b', 'v', 'a', 'd',
'd'> >, mpl::pair
< bvtags::bvsub_tag,
mpl::string<'b', 'v', 's', 'u',
'b'> >, mpl::pair
< bvtags::bvmul_tag,
mpl::string<'b', 'v', 'm', 'u',
'l'> >, mpl::pair
< bvtags::bvudiv_tag,
mpl::string<'b', 'v', 'u', 'd',
'i', 'v'> >, mpl::pair
< bvtags::bvsrem_tag,
mpl::string<'b', 'v', 's', 'r',
'e', 'm'> >, mpl::pair
< bvtags::bvsdiv_tag,
mpl::string<'b', 'v', 's', 'd',
'i', 'v'> >, mpl::pair
< bvtags::bvurem_tag,
mpl::string<'b', 'v', 'u', 'r',
'e', 'm'> >, mpl::pair
< bvtags::bvsle_tag,
mpl::string<'b', 'v', 's', 'l',
'e'> >, mpl::pair
< bvtags::bvslt_tag,
mpl::string<'b', 'v', 's', 'l',
't'> >, mpl::pair
< bvtags::bvsge_tag,
mpl::string<'b', 'v', 's', 'g',
'e'> >, mpl::pair
< bvtags::bvsgt_tag,
mpl::string<'b', 'v', 's', 'g',
't'> >, mpl::pair
< bvtags::bvule_tag,
mpl::string<'b', 'v', 'u', 'l',
'e'> >, mpl::pair
< bvtags::bvult_tag,
mpl::string<'b', 'v', 'u', 'l',
't'> >, mpl::pair
< bvtags::bvuge_tag,
mpl::string<'b', 'v', 'u', 'g',
'e'> >, mpl::pair
< bvtags::bvugt_tag,
mpl::string<'b', 'v', 'u', 'g',
't'> >, mpl::pair
< predtags::implies_tag,
mpl::string<'i', 'm', 'p', 'l',
'i', 'e', 's'> >, mpl::pair
< predtags::equal_tag,
mpl::string<'='> >, mpl::pair
< predtags::xor_tag,
mpl::string<'x', 'o', 'r'>
>, mpl::pair
< predtags::and_tag,
mpl::string<'a', 'n', 'd'>
>, mpl::pair
< predtags::or_tag,
mpl::string<'o', 'r'>
>, mpl::pair
< bvtags::bit0_tag,
mpl::string<'b', 'i', 't', '0'>
>, mpl::pair
< bvtags::bit1_tag,
mpl::string<'b', 'i', 't', '1'>
>, mpl::pair
< predtags::ite_tag,
mpl::string<'i', 't', 'e'>
>, mpl::pair
< predtags::not_tag,
mpl::string<'n', 'o', 't'>
>, mpl::pair
< bvtags::bvcomp_tag,
mpl::string<'b', 'v', 'c', 'o',
'm', 'p'> >, mpl::pair
< bvtags::concat_tag,
mpl::string<'c', 'o', 'n', 'c',
'a', 't'> >, mpl::pair
< arraytags::select_tag,
mpl::string<'s', 'e', 'l', 'e',
'c', 't'> >, mpl::pair
< arraytags::store_tag,
mpl::string<'s', 't', 'o', 'r',
'e'> >, mpl::pair
< bvtags::bvshl_tag,
mpl::string<'b', 'v', 's', 'h',
'l'> >, mpl::pair
< bvtags::bvshr_tag,
mpl::string<'b', 'v', 'l', 's',
'h', 'r'> >, mpl::pair
< bvtags::bvashr_tag,
mpl::string<'b', 'v', 'a', 's',
'h', 'r'> > > 
SMT_NameMap
typedef mpl::map< mpl::pair
< predtags::nequal_tag,
mpl::pair< predtags::not_tag,
predtags::equal_tag >
>, mpl::pair
< predtags::nand_tag,
mpl::pair< predtags::not_tag,
predtags::and_tag >
>, mpl::pair
< predtags::nor_tag, mpl::pair
< predtags::not_tag,
predtags::or_tag >
>, mpl::pair
< predtags::xnor_tag,
mpl::pair< predtags::not_tag,
predtags::xor_tag >
>, mpl::pair
< bvtags::bvnand_tag,
mpl::pair< bvtags::bvnot_tag,
bvtags::bvand_tag >
>, mpl::pair
< bvtags::bvnor_tag, mpl::pair
< bvtags::bvnot_tag,
bvtags::bvor_tag >
>, mpl::pair
< bvtags::bvxnor_tag,
mpl::pair< bvtags::bvnot_tag,
bvtags::bvxor_tag > > > 
SMT_Negated_Map
typedef
boost::make_variant_over
< _all_logic_tags::all_Tags >
::type 
Tag

Functions

template<typename Context_ , typename Expr_ >
void assertion (Context_ &ctx, Expr_ const &e)
 add an assumption to the current context
template<typename Context_ , typename Expr_ >
void assumption (Context_ &ctx, Expr_ const &e)
 add an assumption to the current context
template<typename Context >
void comment (Context &ctx, std::string const &message)
 write a comment
template<typename Context >
guard_type create_group (Context &ctx)
 create a new constraint group
template<typename Context >
void delete_group (Context &ctx, guard_type guard)
 delete a constraint group
template<typename Context >
void change_group (Context &ctx, guard_type guard)
 change the current constraint group
template<typename Context >
guard_type current_group (Context &ctx)
 get the current group guard
template<typename Context >
boost::enable_if
< features::supports< Context,
features::stack_api > >::type 
push (Context &ctx, unsigned howmany=1)
 assertion stack push funtion
template<typename Context >
boost::enable_if
< features::supports< Context,
features::stack_api > >::type 
pop (Context &ctx, unsigned howmany=1)
 assertion stack pop funtion
template<typename Solver , typename Expr >
void assertion (Debug_Context< Solver > &ctx, Expr const &e)
template<typename Solver , typename Expr >
void assumption (Debug_Context< Solver > &ctx, Expr const &e)
template<typename SolverType , typename Expr >
boost::disable_if< typename
boost::is_same< Expr, typename
DirectSolver_Context
< SolverType >::result_type >
::type, typename
DirectSolver_Context
< SolverType >::result_type >
::type 
evaluate (DirectSolver_Context< SolverType > &ctx, Expr const &e)
template<typename SolverType >
DirectSolver_Context
< SolverType >::result_type 
evaluate (DirectSolver_Context< SolverType > &ctx, typename DirectSolver_Context< SolverType >::result_type r)
template<typename SolverType >
bool solve (DirectSolver_Context< SolverType > &ctx)
template<typename SolverType >
result_wrapper read_value (DirectSolver_Context< SolverType > &ctx, logic::QF_BV::bitvector const &var)
template<typename SolverType >
result_wrapper read_value (DirectSolver_Context< SolverType > &ctx, logic::predicate const &var)
template<typename SolverType >
result_wrapper read_value (DirectSolver_Context< SolverType > &ctx, typename DirectSolver_Context< SolverType >::result_type var)
template<typename Expr >
SMT_Expression evaluate (Graph_Context &ctx, Expr const &e)
template<typename Callee , typename T >
CallByTag< Callee, T > make_callByTag (Callee *callee, std::vector< T > const &args, boost::any const &arg)
template<typename SolverTypes , typename Expr >
SMT_Expression evaluate (GraphSolver_Context< SolverTypes > &ctx, Expr const &e)
template<typename SolverTypes >
bool solve (GraphSolver_Context< SolverTypes > &ctx)
template<typename SolverTypes >
void write_smt (GraphSolver_Context< SolverTypes > &ctx, std::ostream &os)
template<typename SolverTypes >
result_wrapper read_value (GraphSolver_Context< SolverTypes > &ctx, logic::QF_BV::bitvector const &var)
template<typename SolverTypes >
result_wrapper read_value (GraphSolver_Context< SolverTypes > &ctx, logic::predicate const &var)
template<typename SolverTypes >
result_wrapper read_value (GraphSolver_Context< SolverTypes > &ctx, SMT_Expression const &var)
template<typename Context , typename Boolean >
Context::result_type one_hot (Context &ctx, std::vector< Boolean > const &ps)
template<typename Context , typename Boolean >
Context::result_type cardinality_geq (Context &ctx, std::vector< Boolean > const &ps, unsigned cardinality)
template<typename Context , typename Boolean >
Context::result_type cardinality_lt (Context &ctx, std::vector< Boolean > const &ps, unsigned cardinality)
template<typename Context , typename Boolean >
Context::result_type cardinality_eq (Context &ctx, std::vector< Boolean > const &ps, unsigned cardinality)
void write_dot (std::ostream &out, SMT_Graph &g)
template<typename Context , typename Expr >
detail::lazy_call< Context, Expr > lazy (Context &ctx, Expr const &e)
 create a functor from an expression
template<typename Vec , template< class T > class Algo>
eval_visitor< Vec, Algo >
::result_type 
run_algorithm (unsigned wanted)
template<typename Vec , template< class T > class Algo, typename ARG0 >
eval_visitor< Vec, Algo >
::result_type 
run_algorithm (unsigned wanted, ARG0 arg0)
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 >
eval_visitor< Vec, Algo >
::result_type 
run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1)
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 , typename ARG2 >
eval_visitor< Vec, Algo >
::result_type 
run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1, ARG2 arg2)
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 , typename ARG2 , typename ARG3 >
eval_visitor< Vec, Algo >
::result_type 
run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1, ARG2 arg2, ARG3 arg3)
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 , typename ARG2 , typename ARG3 , typename ARG4 >
eval_visitor< Vec, Algo >
::result_type 
run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4)
void print_SMT_Expression (std::ostream &outfile, SMT_Graph const &g, SMT_Expression const &v)
void write_smt (std::ostream &outfile, SMT_Graph const &g, std::vector< SMT_Expression > const &assertions)
template<typename Tag >
boost::enable_if< typename
mpl::has_key< SMT_NameMap, Tag >
::type, std::string >::type 
get_tag_name (Tag const &t)
template<typename Context , typename Tuple >
std::vector< bool > why_unsat (Context &ctx, Tuple t)
 try to explain why a set of expressions is unsattake a tuple of assumptions and try to isolate the reason why the tuple is unsat returns a vector<bool> of the same size, where each index is true when the expressin at this index is part of the reason.
template<typename Context , typename Tuple >
void print_why_unsat (Context &ctx, Tuple t)

Typedef Documentation

typedef boost::property<boost::edge_input_t, size_t> metaSMT::edge_input_property

Definition at line 26 of file SMT_Graph.hpp.

typedef boost::graph_traits<SMT_Graph >::edge_descriptor metaSMT::SMT_Edge

Definition at line 40 of file SMT_Graph.hpp.

Definition at line 27 of file SMT_Graph.hpp.

typedef boost::graph_traits<SMT_Graph >::vertex_descriptor metaSMT::SMT_Expression

Definition at line 39 of file SMT_Graph.hpp.

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS , SMT_Vertex_t , SMT_Edge_t > metaSMT::SMT_Graph

Definition at line 37 of file SMT_Graph.hpp.

typedef mpl::map42< mpl::pair<predtags::true_tag, mpl::string<'t', 'r', 'u', 'e'> > , mpl::pair<predtags::false_tag, mpl::string<'f', 'a', 'l', 's', 'e'> > , mpl::pair<bvtags::bvult_tag, mpl::string<'b', 'v', 'u', 'l', 't'> > , mpl::pair<bvtags::bvneg_tag, mpl::string<'b', 'v', 'n', 'e', 'g'> > , mpl::pair<bvtags::bvnot_tag, mpl::string<'b', 'v', 'n', 'o', 't'> > , mpl::pair<bvtags::bvand_tag, mpl::string<'b', 'v', 'a', 'n', 'd'> > , mpl::pair<bvtags::bvor_tag, mpl::string<'b', 'v', 'o', 'r'> > , mpl::pair<bvtags::bvnand_tag, mpl::string<'b', 'v', 'n', 'a', 'n', 'd'> > , mpl::pair<bvtags::bvnor_tag, mpl::string<'b', 'v', 'n', 'o', 'r'> > , mpl::pair<bvtags::bvxor_tag, mpl::string<'b', 'v', 'x', 'o', 'r'> > , mpl::pair<bvtags::bvxnor_tag, mpl::string<'b', 'v', 'x', 'n', 'o', 'r'> > , mpl::pair<bvtags::bvadd_tag, mpl::string<'b', 'v', 'a', 'd', 'd'> > , mpl::pair<bvtags::bvsub_tag, mpl::string<'b', 'v', 's', 'u', 'b'> > , mpl::pair<bvtags::bvmul_tag, mpl::string<'b', 'v', 'm', 'u', 'l'> > , mpl::pair<bvtags::bvudiv_tag, mpl::string<'b', 'v', 'u', 'd', 'i', 'v'> > , mpl::pair<bvtags::bvsrem_tag, mpl::string<'b', 'v', 's', 'r', 'e', 'm'> > , mpl::pair<bvtags::bvsdiv_tag, mpl::string<'b', 'v', 's', 'd', 'i', 'v'> > , mpl::pair<bvtags::bvurem_tag, mpl::string<'b', 'v', 'u', 'r', 'e', 'm'> > , mpl::pair<bvtags::bvsle_tag, mpl::string<'b', 'v', 's', 'l', 'e'> > , mpl::pair<bvtags::bvslt_tag, mpl::string<'b', 'v', 's', 'l', 't'> > , mpl::pair<bvtags::bvsge_tag, mpl::string<'b', 'v', 's', 'g', 'e'> > , mpl::pair<bvtags::bvsgt_tag, mpl::string<'b', 'v', 's', 'g', 't'> > , mpl::pair<bvtags::bvule_tag, mpl::string<'b', 'v', 'u', 'l', 'e'> > , mpl::pair<bvtags::bvult_tag, mpl::string<'b', 'v', 'u', 'l', 't'> > , mpl::pair<bvtags::bvuge_tag, mpl::string<'b', 'v', 'u', 'g', 'e'> > , mpl::pair<bvtags::bvugt_tag, mpl::string<'b', 'v', 'u', 'g', 't'> > , mpl::pair<predtags::implies_tag, mpl::string<'i', 'm', 'p', 'l', 'i', 'e', 's'> > , mpl::pair<predtags::equal_tag, mpl::string<'='> > , mpl::pair<predtags::xor_tag, mpl::string<'x', 'o', 'r'> > , mpl::pair<predtags::and_tag, mpl::string<'a', 'n', 'd'> > , mpl::pair<predtags::or_tag, mpl::string<'o', 'r'> > , mpl::pair<bvtags::bit0_tag, mpl::string<'b', 'i', 't', '0'> > , mpl::pair<bvtags::bit1_tag, mpl::string<'b', 'i', 't', '1'> > , mpl::pair<predtags::ite_tag, mpl::string<'i', 't', 'e'> > , mpl::pair<predtags::not_tag, mpl::string<'n', 'o', 't'> > , mpl::pair<bvtags::bvcomp_tag, mpl::string<'b', 'v', 'c', 'o', 'm', 'p'> > , mpl::pair<bvtags::concat_tag, mpl::string<'c', 'o', 'n', 'c', 'a', 't'> > , mpl::pair<arraytags::select_tag, mpl::string<'s', 'e', 'l', 'e', 'c', 't'> > , mpl::pair<arraytags::store_tag, mpl::string<'s', 't', 'o', 'r', 'e'> > , mpl::pair<bvtags::bvshl_tag, mpl::string<'b', 'v', 's', 'h', 'l'> > , mpl::pair<bvtags::bvshr_tag, mpl::string<'b', 'v', 'l', 's', 'h', 'r'> > , mpl::pair<bvtags::bvashr_tag, mpl::string<'b', 'v', 'a', 's', 'h', 'r'> > > metaSMT::SMT_NameMap

Definition at line 65 of file SMT_Tag_Mapping.hpp.

typedef mpl::map< mpl::pair<predtags::nequal_tag, mpl::pair<predtags::not_tag, predtags::equal_tag > > , mpl::pair<predtags::nand_tag, mpl::pair<predtags::not_tag, predtags::and_tag > > , mpl::pair<predtags::nor_tag, mpl::pair<predtags::not_tag, predtags::or_tag > > , mpl::pair<predtags::xnor_tag, mpl::pair<predtags::not_tag, predtags::xor_tag > > , mpl::pair<bvtags::bvnand_tag, mpl::pair<bvtags::bvnot_tag, bvtags::bvand_tag > > , mpl::pair<bvtags::bvnor_tag, mpl::pair<bvtags::bvnot_tag, bvtags::bvor_tag > > , mpl::pair<bvtags::bvxnor_tag, mpl::pair<bvtags::bvnot_tag, bvtags::bvxor_tag > > > metaSMT::SMT_Negated_Map

Definition at line 96 of file SMT_Tag_Mapping.hpp.

Definition at line 32 of file SMT_Graph.hpp.

typedef boost::make_variant_over< _all_logic_tags::all_Tags >::type metaSMT::Tag

Definition at line 32 of file Logics.hpp.

typedef boost::property<boost::vertex_arg_t, boost::any > metaSMT::vertex_arg_property

Definition at line 30 of file SMT_Graph.hpp.

Definition at line 31 of file SMT_Graph.hpp.


Function Documentation

template<typename Solver , typename Expr >
void metaSMT::assertion ( Debug_Context< Solver > &  ctx,
Expr const &  e 
)

Definition at line 13 of file Debug_Context.hpp.

template<typename Solver , typename Expr >
void metaSMT::assumption ( Debug_Context< Solver > &  ctx,
Expr const &  e 
)

Definition at line 21 of file Debug_Context.hpp.

template<typename Context , typename Boolean >
Context::result_type metaSMT::cardinality_eq ( Context &  ctx,
std::vector< Boolean > const &  ps,
unsigned  cardinality 
)

Definition at line 83 of file cardinality.hpp.

template<typename Context , typename Boolean >
Context::result_type metaSMT::cardinality_geq ( Context &  ctx,
std::vector< Boolean > const &  ps,
unsigned  cardinality 
)

Definition at line 33 of file cardinality.hpp.

template<typename Context , typename Boolean >
Context::result_type metaSMT::cardinality_lt ( Context &  ctx,
std::vector< Boolean > const &  ps,
unsigned  cardinality 
)

Definition at line 76 of file cardinality.hpp.

template<typename Expr >
SMT_Expression metaSMT::evaluate ( Graph_Context &  ctx,
Expr const &  e 
)

Definition at line 366 of file Graph_Context.hpp.

template<typename SolverTypes , typename Expr >
SMT_Expression metaSMT::evaluate ( GraphSolver_Context< SolverTypes > &  ctx,
Expr const &  e 
)

Definition at line 300 of file GraphSolver_Context.hpp.

template<typename SolverType , typename Expr >
boost::disable_if< typename boost::is_same<Expr, typename DirectSolver_Context<SolverType>::result_type>::type, typename DirectSolver_Context<SolverType>::result_type >::type metaSMT::evaluate ( DirectSolver_Context< SolverType > &  ctx,
Expr const &  e 
)

Definition at line 286 of file DirectSolver_Context.hpp.

template<typename SolverType >
DirectSolver_Context<SolverType>::result_type metaSMT::evaluate ( DirectSolver_Context< SolverType > &  ctx,
typename DirectSolver_Context< SolverType >::result_type  r 
)

Definition at line 292 of file DirectSolver_Context.hpp.

template<typename Tag >
boost::disable_if< typename mpl::has_key< SMT_NameMap, Tag >::type, std::string >::type metaSMT::get_tag_name ( Tag const &  t) [inline]

Definition at line 73 of file SMT_Tag_Mapping.hpp.

template<typename Callee , typename T >
CallByTag<Callee, T> metaSMT::make_callByTag ( Callee *  callee,
std::vector< T > const &  args,
boost::any const &  arg 
)

Definition at line 79 of file GraphSolver_Context.hpp.

template<typename Context , typename Boolean >
Context::result_type metaSMT::one_hot ( Context &  ctx,
std::vector< Boolean > const &  ps 
)

Definition at line 13 of file cardinality.hpp.

void metaSMT::print_SMT_Expression ( std::ostream &  outfile,
SMT_Graph const &  g,
SMT_Expression const &  v 
) [inline]

Definition at line 159 of file SMT_File_Writer.hpp.

template<typename Context , typename Tuple >
void metaSMT::print_why_unsat ( Context &  ctx,
Tuple  t 
)

print the expressions that cause the expression to be unsat

Definition at line 114 of file why_unsat.hpp.

template<typename SolverType >
result_wrapper metaSMT::read_value ( DirectSolver_Context< SolverType > &  ctx,
logic::predicate const &  var 
)

Definition at line 313 of file DirectSolver_Context.hpp.

template<typename SolverType >
result_wrapper metaSMT::read_value ( DirectSolver_Context< SolverType > &  ctx,
typename DirectSolver_Context< SolverType >::result_type  var 
)

Definition at line 322 of file DirectSolver_Context.hpp.

template<typename SolverTypes >
result_wrapper metaSMT::read_value ( GraphSolver_Context< SolverTypes > &  ctx,
logic::QF_BV::bitvector const &  var 
)

Definition at line 316 of file GraphSolver_Context.hpp.

template<typename SolverTypes >
result_wrapper metaSMT::read_value ( GraphSolver_Context< SolverTypes > &  ctx,
logic::predicate const &  var 
)

Definition at line 325 of file GraphSolver_Context.hpp.

template<typename SolverTypes >
result_wrapper metaSMT::read_value ( GraphSolver_Context< SolverTypes > &  ctx,
SMT_Expression const &  var 
)

Definition at line 334 of file GraphSolver_Context.hpp.

template<typename SolverType >
result_wrapper metaSMT::read_value ( DirectSolver_Context< SolverType > &  ctx,
logic::QF_BV::bitvector const &  var 
)

Definition at line 304 of file DirectSolver_Context.hpp.

template<typename SolverTypes >
bool metaSMT::solve ( GraphSolver_Context< SolverTypes > &  ctx)

Definition at line 305 of file GraphSolver_Context.hpp.

template<typename SolverType >
bool metaSMT::solve ( DirectSolver_Context< SolverType > &  ctx)

Definition at line 298 of file DirectSolver_Context.hpp.

template<typename Context , typename Tuple >
std::vector< bool > metaSMT::why_unsat ( Context &  ctx,
Tuple  t 
)

try to explain why a set of expressions is unsattake a tuple of assumptions and try to isolate the reason why the tuple is unsat returns a vector<bool> of the same size, where each index is true when the expressin at this index is part of the reason.

take a tuple of assumptions and try to isolate the reason why the tuple is unsat returns a vector<bool> of the same size, where each index is true when the expressin at this index is part of the reason.

Definition at line 73 of file why_unsat.hpp.

void metaSMT::write_dot ( std::ostream &  out,
SMT_Graph &  g 
) [inline]

Definition at line 87 of file dot_SMT_Graph.hpp.

void metaSMT::write_smt ( std::ostream &  outfile,
SMT_Graph const &  g,
std::vector< SMT_Expression > const &  assertions 
) [inline]

Definition at line 199 of file SMT_File_Writer.hpp.

template<typename SolverTypes >
void metaSMT::write_smt ( GraphSolver_Context< SolverTypes > &  ctx,
std::ostream &  os 
)

Definition at line 310 of file GraphSolver_Context.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines