1pub mod abduction;
63pub mod bmc;
64pub mod chc;
65pub mod chccomp;
66pub mod ctg;
67pub mod diagnostics;
68pub mod distributed;
69pub mod existential;
70pub mod frames;
71pub mod generalize;
72pub mod interp;
73pub mod invariant;
74pub mod nonlinear;
75pub mod parallel;
76pub mod parser;
77pub mod pdr;
78pub mod pob;
79pub mod portfolio;
80pub mod proof;
81pub mod reach;
82pub mod recursive;
83pub mod smt;
84pub mod theory;
85
86pub use abduction::{
88 AbductionError, AbductionResult, AbductiveSolver, Hypothesis, HypothesisGenerator,
89 HypothesisOrigin, HypothesisTemplate, InvariantSynthesizer, PreconditionSynthesizer,
90 TemplateParamKind, TemplateStructure,
91};
92pub use bmc::{Bmc, BmcConfig, BmcError, BmcResult, BmcStats, HybridSolver};
93pub use chc::{ChcSystem, PredId, Predicate, PredicateApp, Rule, RuleBody, RuleHead, RuleId};
94pub use chccomp::{ChcCompError, ChcCompParser};
95pub use ctg::{CtgError, CtgResult, CtgStrengthener};
96pub use diagnostics::{InvariantFormatter, StatsReporter, TraceBuffer, TraceEvent, TraceLevel};
97pub use distributed::{
98 DistributedConfig, DistributedCoordinator, DistributedError, DistributedStats, SharedState,
99 WorkItem as DistributedWorkItem, Worker, WorkerMessage,
100};
101pub use existential::{
102 ExistentialError, ExistentialHandler, ExistentialInfo, ExistentialProjector, ExistentialResult,
103 SkolemContext, WitnessExtractor,
104};
105pub use frames::{FrameManager, INFTY_LEVEL, Lemma, LemmaId, PredicateFrames};
106pub use generalize::{GeneralizationError, GeneralizationResult, Generalizer};
107pub use interp::{Interpolant, InterpolationError, InterpolationResult, Interpolator};
108pub use invariant::{
109 Candidate, CandidateSource, InferenceResult, InferenceStats, InvariantConfig,
110 InvariantInference, TemplateKind,
111};
112pub use nonlinear::{
113 InterpolantTree, NonLinearAnalyzer, NonLinearError, NonLinearLemmaCombiner, NonLinearResult,
114 NonLinearRuleAnalysis, NonLinearStats, TreeInterpolant,
115};
116pub use parallel::{
117 ParallelConfig, ParallelError, ParallelFrameSolver, ParallelPropagator, WorkItem, WorkResult,
118};
119pub use parser::{ChcParser, ParseError};
120pub use pdr::{Spacer, SpacerConfig, SpacerError, SpacerResult, SpacerStats};
121pub use pob::{Pob, PobId, PobManager, PobQueue};
122pub use portfolio::{PortfolioError, PortfolioResult, PortfolioSolver, Strategy};
123pub use proof::{ProofBuilder, ProofStep, SafetyProof};
124pub use reach::{
125 CexState, ConcreteState, ConcreteValue, ConcreteWitness, ConcreteWitnessExtractor,
126 Counterexample, Generalization, OverApproximation, Projection, ReachFact, ReachFactId,
127 ReachFactStore, ReachabilityChecker, UnderApproximation, WitnessError,
128};
129pub use recursive::{RecursionKind, RecursiveAnalyzer, RecursiveError, RecursiveInfo};
130pub use smt::{MbpResult, Model, SmtError, SmtSolver, SmtStats};
131pub use theory::TheoryIntegration;