1#![forbid(unsafe_code)]
58#![warn(missing_docs)]
59
60pub mod arithmetic;
61pub mod array;
62pub mod array_eager_expand;
63pub mod bv;
64pub mod character;
65pub mod checking;
66pub mod combination;
67pub mod config;
68pub mod datatype;
69pub mod diff_logic;
70pub mod error;
71pub mod euf;
72pub mod fp;
73pub mod fp_interval_prop;
74pub mod hashcons;
75mod lru_cache;
76pub mod nlsat;
77pub mod pb;
78pub mod propagation;
79pub mod quantifier;
80pub mod quantifier_code_tree;
81pub mod recfun;
82pub mod set;
83pub mod simplify;
84pub mod sls;
85pub mod special_relations;
86pub mod string;
87pub mod string_length_prop;
88mod theory;
89pub mod user_propagator;
90pub mod utvpi;
91pub mod watched;
92pub mod wmaxsat;
93
94pub use combination::{Purifier, SharedVar, TheoryCombiner};
95pub use config::{
96 BranchingHeuristic, BvConfig, CombinationConfig, CombinationMode, LiaConfig, PivotingRule,
97 SimplexConfig, TheoryConfig,
98};
99pub use datatype::{Constructor, DatatypeDecl, DatatypeSolver, DatatypeSort, Field, Selector};
100pub use error::{ConflictInfo, ResourceLimit, SolverStats, TheoryError, TheoryResult};
101pub use fp::{FpFormat, FpRoundingMode, FpSolver, FpValue};
102pub use hashcons::{HashConsTable, HcTerm};
103pub use propagation::{Propagation, PropagationPriority, PropagationQueue, PropagationStats};
104pub use simplify::{SimplifyContext, SimplifyResult, SimplifyStats};
105pub use string::{Regex, RegexOp, StringSolver};
106pub use theory::{
107 EqualityNotification, Theory, TheoryCombination, TheoryId, TheoryResult as TheoryCheckResult,
108};
109pub use watched::{WatchList, WatchStats, WatchedConstraint};
110
111pub use array_eager_expand::{
113 EagerArrayExpander, EagerExpandConfig, EagerExpandStats, ExpandedArray,
114};
115
116pub use fp_interval_prop::{
118 FpInterval, FpIntervalPropagator, FpIntervalStats, RoundingMode as FpIntervalRoundingMode,
119};
120
121pub use string_length_prop::{LengthConstraint, LengthDomain, LengthPropStats, LengthPropagator};
123
124pub use quantifier::{
126 InstantiationLemma, QuantifierConfig, QuantifierSolver, QuantifierStats, TrackedQuantifier,
127};
128pub use quantifier_code_tree::{
129 CodeTree, CodeTreeInstr, CodeTreeStats, CompiledPattern, Match, PatternVar,
130};
131
132pub use recfun::{CaseDef, RecFunConfig, RecFunDef, RecFunId, RecFunSolver, RecFunStats};
134
135pub use user_propagator::{
137 Consequence, PropagatorContext, PropagatorResult, UserPropagator, UserPropagatorManager,
138 UserPropagatorStats,
139};
140
141pub use special_relations::{
143 RelationDef, RelationEdge, RelationKind, RelationProperties, SpecialRelationSolver,
144 SpecialRelationStats,
145};
146
147pub use pb::{PbConfig, PbConstraint, PbConstraintKind, PbSolver, PbStats, WeightedLiteral};
149
150pub use diff_logic::{
152 BellmanFord, ConstraintGraph, DenseDiffLogic, DiffConstraint, DiffEdge, DiffLogicConfig,
153 DiffLogicResult, DiffLogicSolver, DiffLogicStats, DiffVar, NegativeCycle,
154};
155
156pub use utvpi::{
158 DetectedConstraint, DoubledGraph, DoubledNode, Sign, UtConstraint, UtConstraintKind, UtEdge,
159 UtvpiConfig, UtvpiDetector, UtvpiDetectorStats, UtvpiResult, UtvpiSolver, UtvpiStats,
160};
161
162pub use checking::{
164 ArithCheckConfig, ArithChecker, ArrayChecker, BvChecker, CheckResult, CheckerStats,
165 CombinedChecker, Literal, ProofChecker, ProofStep, ProofStepKind, QuantChecker, TheoryChecker,
166 TheoryKind,
167};
168
169pub use wmaxsat::{
171 SoftClause, WMaxSatConfig, WMaxSatResult, WMaxSatSolver, WMaxSatStats, Weight as WMaxWeight,
172};
173
174pub use character::{
176 AdvancedCharSolver, CaseFoldMode, CaseFolder, CharClass, CharConfig, CharConstraint,
177 CharDomain, CharNormalizer, CharResult, CharSolver, CharStats, CharValue, CharVar, CharWidth,
178 CodePoint, NormalizationForm, UnicodeBlock, UnicodeCategory, UnicodeScript,
179};
180
181pub use set::{
183 CardConstraint, CardConstraintKind, CardDomain, CardPropagator, CardResult, CardStats, EnumSet,
184 FiniteSetEnumerator, MemberConstraint, MemberDomain, MemberPropagator, MemberResult,
185 MemberStats, MemberVar, PowersetBuilder, PowersetConstraint, PowersetIter, PowersetResult,
186 PowersetStats, SetBinOp, SetComplement, SetConfig, SetConstraint, SetDifference, SetElement,
187 SetEnumConfig, SetEnumResult, SetEnumStats, SetExpr, SetIntersection, SetOp, SetOpBuilder,
188 SetOpResult, SetOpStats, SetResult, SetSolver, SetSort, SetStats, SetUnion, SetVar, SetVarId,
189 SubsetConstraint, SubsetDomain, SubsetGraph, SubsetPropagator, SubsetResult, SubsetStats,
190};
191
192pub use sls::{
194 BackboneDetector,
196 BmsConfig,
198 BmsSelector,
199 CcanrConfig,
201 CcanrEnhancer,
202 ClauseId,
204 ClauseImportance,
206 ClauseSimplifier,
208 ClauseWeightManager,
209 DdfwConfig,
211 DdfwManager,
212 DiversificationManager,
214 DiversificationStrategy,
215 FocusedWalk,
216 FocusedWalkConfig,
217 HybridSlsInterface,
219 NoveltyConfig,
221 NoveltySelector,
222 PhaseMode,
223 PhaseSaver,
224 PortfolioConfig,
226 PortfolioSls,
227 RestartManager,
229 RestartStrategy,
230 SlsAlgorithm,
231 SlsConfig,
232 SlsResult,
233 SlsSolver,
234 SlsStats,
235 SolutionLearner,
237 SolutionVerifier,
239 SparrowConfig,
241 SparrowSelector,
242 VarActivity,
243 VarSelectHeuristic,
244 VerificationResult,
245 WeightedSlsConfig,
246 WeightedSlsSolver,
247 WeightedSlsStats,
248 WeightingScheme,
249 YalsatConfig,
251 YalsatSolver,
252};