cvc4-1.4
expr_manager.h
Go to the documentation of this file.
1/********************* */
14/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
15/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
16/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
17/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
18/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
19/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
20
21/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
22/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
23/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
24/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
25/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
26/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
27
28/* Edit the template file instead: */
29/* /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/expr_manager_template.h */
30
31/********************* */
47#include "cvc4_public.h"
48
49#ifndef __CVC4__EXPR_MANAGER_H
50#define __CVC4__EXPR_MANAGER_H
51
52#include <vector>
53
54#include "expr/kind.h"
55#include "expr/type.h"
56#include "expr/expr.h"
57#include "util/subrange_bound.h"
58#include "util/statistics.h"
59#include "util/sexpr.h"
60
61
63#include "util/abstract_value.h"
64#include "expr/kind.h"
65#include "util/chain.h"
66#include "expr/kind.h"
67#include "util/predicate.h"
68#include "util/bool.h"
69#include "util/divisible.h"
70#include "util/subrange_bound.h"
71#include "util/rational.h"
72#include "util/bitvector.h"
73#include "util/bitvector.h"
74#include "util/bitvector.h"
75#include "util/bitvector.h"
76#include "util/bitvector.h"
77#include "util/bitvector.h"
78#include "util/bitvector.h"
79#include "util/bitvector.h"
80#include "util/bitvector.h"
81#include "util/bitvector.h"
83#include "util/datatype.h"
85#include "util/tuple.h"
86#include "util/tuple.h"
87#include "util/record.h"
88#include "util/record.h"
89#include "util/record.h"
90#include "util/emptyset.h"
91#include "util/regexp.h"
92#include "util/regexp.h"
93
94// This is a hack, but an important one: if there's an error, the
95// compiler directs the user to the template file instead of the
96// generated one. We don't want the user to modify the generated one,
97// since it'll get overwritten on a later build.
98#line 38 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/expr_manager_template.h"
99
100namespace CVC4 {
101
102class Expr;
103class SmtEngine;
104class NodeManager;
105class Options;
106class IntStat;
107struct ExprManagerMapCollection;
108class StatisticsRegistry;
109
110namespace expr {
111 namespace pickle {
112 class Pickler;
113 }/* CVC4::expr::pickle namespace */
114}/* CVC4::expr namespace */
115
116namespace context {
117 class Context;
118}/* CVC4::context namespace */
119
120namespace stats {
121 StatisticsRegistry* getStatisticsRegistry(ExprManager*);
122}/* CVC4::stats namespace */
123
125private:
127 context::Context* d_ctxt;
128
130 NodeManager* d_nodeManager;
131
133 IntStat* d_exprStatisticsVars[LAST_TYPE];
134 IntStat* d_exprStatistics[kind::LAST_KIND];
135
140 NodeManager* getNodeManager() const;
141
146 context::Context* getContext() const;
147
151 void checkResolvedDatatype(DatatypeType dtt) const;
152
157 friend class SmtEngine;
158
160 friend class ExprManagerScope;
161
163 friend class NodeManager;
164
166 friend ::CVC4::StatisticsRegistry* ::CVC4::stats::getStatisticsRegistry(ExprManager*);
167
169 StatisticsRegistry* getStatisticsRegistry() throw();
170
171 // undefined, private copy constructor and assignment op (disallow copy)
173 ExprManager& operator=(const ExprManager&) CVC4_UNDEFINED;
174
175public:
176
181
188 explicit ExprManager(const Options& options);
189
195 ~ExprManager() throw();
196
198 const Options& getOptions() const;
199
201 BooleanType booleanType() const;
202
204 StringType stringType() const;
205
207 RealType realType() const;
208
210 IntegerType integerType() const;
211
218 Expr mkExpr(Kind kind, Expr child1);
219
227 Expr mkExpr(Kind kind, Expr child1, Expr child2);
228
237 Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3);
238
248 Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4);
249
260 Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4,
261 Expr child5);
262
271 Expr mkExpr(Kind kind, const std::vector<Expr>& children);
272
284 Expr mkExpr(Kind kind, Expr child1, const std::vector<Expr>& otherChildren);
285
292 Expr mkExpr(Expr opExpr);
293
301 Expr mkExpr(Expr opExpr, Expr child1);
302
311 Expr mkExpr(Expr opExpr, Expr child1, Expr child2);
312
322 Expr mkExpr(Expr opExpr, Expr child1, Expr child2, Expr child3);
323
334 Expr mkExpr(Expr opExpr, Expr child1, Expr child2, Expr child3, Expr child4);
335
347 Expr mkExpr(Expr opExpr, Expr child1, Expr child2, Expr child3, Expr child4,
348 Expr child5);
349
358 Expr mkExpr(Expr opExpr, const std::vector<Expr>& children);
359
361 template <class T>
362 Expr mkConst(const T&);
363
375 Expr mkAssociative(Kind kind, const std::vector<Expr>& children);
376
381 static bool hasOperator(Kind k);
382
388 Expr operatorOf(Kind k);
389
391 FunctionType mkFunctionType(Type domain, Type range);
392
397 FunctionType mkFunctionType(const std::vector<Type>& argTypes, Type range);
398
405 FunctionType mkFunctionType(const std::vector<Type>& sorts);
406
413 FunctionType mkPredicateType(const std::vector<Type>& sorts);
414
420 TupleType mkTupleType(const std::vector<Type>& types);
421
425 RecordType mkRecordType(const Record& rec);
426
432 SExprType mkSExprType(const std::vector<Type>& types);
433
435 BitVectorType mkBitVectorType(unsigned size) const;
436
438 ArrayType mkArrayType(Type indexType, Type constituentType) const;
439
441 SetType mkSetType(Type elementType) const;
442
444 DatatypeType mkDatatypeType(const Datatype& datatype);
445
450 std::vector<DatatypeType>
451 mkMutualDatatypeTypes(const std::vector<Datatype>& datatypes);
452
482 std::vector<DatatypeType>
483 mkMutualDatatypeTypes(const std::vector<Datatype>& datatypes,
484 const std::set<Type>& unresolvedTypes);
485
489 ConstructorType mkConstructorType(const DatatypeConstructor& constructor, Type range) const;
490
492 SelectorType mkSelectorType(Type domain, Type range) const;
493
495 TesterType mkTesterType(Type domain) const;
496
498 enum {
499 SORT_FLAG_NONE = 0,
500 SORT_FLAG_PLACEHOLDER = 1
501 };/* enum */
502
504 SortType mkSort(const std::string& name, uint32_t flags = SORT_FLAG_NONE) const;
505
507 SortConstructorType mkSortConstructor(const std::string& name,
508 size_t arity) const;
509
516 // not in release 1.0
517 //Type mkPredicateSubtype(Expr lambda)
518 // throw(TypeCheckingException);
519
527 // not in release 1.0
528 //Type mkPredicateSubtype(Expr lambda, Expr witness)
529 // throw(TypeCheckingException);
530
536
538 Type getType(Expr e, bool check = false)
540
542 enum {
543 VAR_FLAG_NONE = 0,
544 VAR_FLAG_GLOBAL = 1,
545 VAR_FLAG_DEFINED = 2
546 };/* enum */
547
569 Expr mkVar(const std::string& name, Type type, uint32_t flags = VAR_FLAG_NONE);
570
583 Expr mkVar(Type type, uint32_t flags = VAR_FLAG_NONE);
584
602 Expr mkBoundVar(const std::string& name, Type type);
603
618
620 Statistics getStatistics() const throw();
621
623 SExpr getStatistic(const std::string& name) const throw();
624
626 //static Expr exportExpr(const Expr& e, ExprManager* em);
628 static Type exportType(const Type& t, ExprManager* em, ExprManagerMapCollection& vmap);
629
631 static unsigned minArity(Kind kind);
632
634 static unsigned maxArity(Kind kind);
635
636};/* class ExprManager */
637
638
639#line 266 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/builtin/kinds"
640template <> Expr ExprManager::mkConst(::CVC4::UninterpretedConstant const& val);
641
642#line 276 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/builtin/kinds"
643template <> Expr ExprManager::mkConst(::CVC4::AbstractValue const& val);
644
645#line 287 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/builtin/kinds"
646template <> Expr ExprManager::mkConst(::CVC4::Kind const& val);
647
648#line 309 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/builtin/kinds"
649template <> Expr ExprManager::mkConst(::CVC4::Chain const& val);
650
651#line 315 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/builtin/kinds"
652template <> Expr ExprManager::mkConst(::CVC4::TypeConstant const& val);
653
654#line 343 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/builtin/kinds"
655template <> Expr ExprManager::mkConst(::CVC4::Predicate const& val);
656
657#line 21 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/booleans/kinds"
658template <> Expr ExprManager::mkConst(bool const& val);
659
660#line 29 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/arith/kinds"
661template <> Expr ExprManager::mkConst(::CVC4::Divisible const& val);
662
663#line 48 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/arith/kinds"
664template <> Expr ExprManager::mkConst(::CVC4::SubrangeBounds const& val);
665
666#line 61 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/arith/kinds"
667template <> Expr ExprManager::mkConst(::CVC4::Rational const& val);
668
669#line 15 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
670template <> Expr ExprManager::mkConst(::CVC4::BitVectorSize const& val);
671
672#line 24 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
673template <> Expr ExprManager::mkConst(::CVC4::BitVector const& val);
674
675#line 77 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
676template <> Expr ExprManager::mkConst(::CVC4::BitVectorBitOf const& val);
677
678#line 83 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
679template <> Expr ExprManager::mkConst(::CVC4::BitVectorExtract const& val);
680
681#line 89 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
682template <> Expr ExprManager::mkConst(::CVC4::BitVectorRepeat const& val);
683
684#line 95 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
685template <> Expr ExprManager::mkConst(::CVC4::BitVectorZeroExtend const& val);
686
687#line 101 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
688template <> Expr ExprManager::mkConst(::CVC4::BitVectorSignExtend const& val);
689
690#line 107 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
691template <> Expr ExprManager::mkConst(::CVC4::BitVectorRotateLeft const& val);
692
693#line 113 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
694template <> Expr ExprManager::mkConst(::CVC4::BitVectorRotateRight const& val);
695
696#line 127 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/bv/kinds"
697template <> Expr ExprManager::mkConst(::CVC4::IntToBitVector const& val);
698
699#line 35 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/arrays/kinds"
700template <> Expr ExprManager::mkConst(::CVC4::ArrayStoreAll const& val);
701
702#line 45 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
703template <> Expr ExprManager::mkConst(::CVC4::Datatype const& val);
704
705#line 77 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
706template <> Expr ExprManager::mkConst(::CVC4::AscriptionType const& val);
707
708#line 108 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
709template <> Expr ExprManager::mkConst(::CVC4::TupleSelect const& val);
710
711#line 116 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
712template <> Expr ExprManager::mkConst(::CVC4::TupleUpdate const& val);
713
714#line 124 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
715template <> Expr ExprManager::mkConst(::CVC4::Record const& val);
716
717#line 144 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
718template <> Expr ExprManager::mkConst(::CVC4::RecordSelect const& val);
719
720#line 152 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/datatypes/kinds"
721template <> Expr ExprManager::mkConst(::CVC4::RecordUpdate const& val);
722
723#line 18 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/sets/kinds"
724template <> Expr ExprManager::mkConst(::CVC4::EmptySet const& val);
725
726#line 62 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/strings/kinds"
727template <> Expr ExprManager::mkConst(::CVC4::String const& val);
728
729#line 68 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/theory/strings/kinds"
730template <> Expr ExprManager::mkConst(::CVC4::RegExp const& val);
731
732
733}/* CVC4 namespace */
734
735#endif /* __CVC4__EXPR_MANAGER_H */
Representation of abstract values.
Representation of a constant array (an array in which the element is the same for all indices)
A class representing a type ascription.
[[ Add one-line brief description here ]]
A hash function for Boolean.
void * Context
void * Expr
[[ Add one-line brief description here ]]
Class encapsulating an array type.
Definition type.h:484
A class used to parameterize a type ascription.
Class encapsulating the bit-vector type.
Definition type.h:596
Singleton class encapsulating the Boolean type.
Definition type.h:374
A class to represent a chained, built-in operator.
Definition chain.h:29
Class encapsulating the constructor type.
Definition type.h:661
A constructor for a Datatype.
Definition datatype.h:174
Class encapsulating the datatype type.
Definition type.h:615
The representation of an inductive datatype.
Definition datatype.h:423
Expr mkBoundVar(const std::string &name, Type type)
Create a new, fresh variable for use in a binder expression (the BOUND_VAR_LIST of a FORALL,...
Statistics getStatistics() const
Get a reference to the statistics registry for this ExprManager.
Expr mkVar(Type type, uint32_t flags=VAR_FLAG_NONE)
Create a (nameless) new, fresh variable.
SortType mkSort(const std::string &name, uint32_t flags=SORT_FLAG_NONE) const
Make a new sort with the given name.
Expr mkBoundVar(Type type)
Create a (nameless) new, fresh variable for use in a binder expression (the BOUND_VAR_LIST of a FORAL...
Type getType(Expr e, bool check=false)
Get the type of an expression.
SortConstructorType mkSortConstructor(const std::string &name, size_t arity) const
Make a sort constructor from a name and arity.
Expr mkVar(const std::string &name, Type type, uint32_t flags=VAR_FLAG_NONE)
Create a new, fresh variable.
Type mkSubrangeType(const SubrangeBounds &bounds)
Make a predicate subtype type defined by the given LAMBDA expression.
Class encapsulating CVC4 expressions and methods for constructing new expressions.
Definition expr.h:227
Class encapsulating a function type.
Definition type.h:418
Singleton class encapsulating the integer type.
Definition type.h:385
A multi-precision rational constant.
Singleton class encapsulating the real type.
Definition type.h:396
Class encapsulating a record type.
Definition type.h:456
Class encapsulating a tuple type.
Definition type.h:470
A simple S-expression.
Definition sexpr.h:51
Class encapsulating the Selector type.
Definition type.h:683
Class encapsulating an set type.
Definition type.h:501
Class encapsulating a user-defined sort constructor.
Definition type.h:536
Class encapsulating a user-defined sort.
Definition type.h:515
Singleton class encapsulating the string type.
Definition type.h:407
Class encapsulating the Tester type.
Definition type.h:701
Class encapsulating a tuple type.
Definition type.h:438
Exception thrown in the case of type-checking errors.
Definition expr.h:151
Class encapsulating CVC4 expression types.
Definition type.h:89
Macros that should be defined everywhere during the building of the libraries and driver binary,...
#define CVC4_PUBLIC
Definition cvc4_public.h:30
#define CVC4_UNDEFINED
Definition cvc4_public.h:52
A class representing a Datatype definition.
[[ Add one-line brief description here ]]
[[ Add one-line brief description here ]]
StatisticsRegistry * getStatisticsRegistry(ExprManager *)
Definition expr.h:106
TypeConstant
The enumeration for the built-in atomic types.
Definition kind.h:543
@ LAST_TYPE
Definition kind.h:556
STL namespace.
Representation of predicates for predicate subtyping.
A class representing a Record definition.
[[ Add one-line brief description here ]]
Simple representation of S-expressions.
[[ Add one-line brief description here ]]
The structure representing the extraction of one Boolean bit.
Definition bitvector.h:432
The structure representing the extraction operation for bit-vectors.
Definition bitvector.h:403
The structure representing the divisibility-by-k predicate.
Definition divisible.h:32
Representation of subrange bounds.
Tuple operators.
Interface for expression types.
Representation of constants of uninterpreted sorts.