{-# OPTIONS_GHC -Wall -Werror #-}
module Data.SBV.Trans (
SBool
, sTrue, sFalse, sNot, (.&&), (.||), (.<+>), (.~&), (.~|), (.=>), (.<=>), fromBool, oneIf
, sAnd, sOr, sAny, sAll
, SWord8, SWord16, SWord32, SWord64, SWord, WordN
, SInt8, SInt16, SInt32, SInt64, SInt, IntN
, BVIsNonZero, FromSized, ToSized, fromSized, toSized
, SInteger
, SFloat, SDouble, SFloatingPoint
, SReal, AlgReal, sRealToSInteger
, SChar, SString
, SList
, readArray, writeArray, SArray
, sBool, sWord8, sWord16, sWord32, sWord64, sWord, sInt8, sInt16, sInt32, sInt64, sInt, sInteger, sReal, sFloat, sDouble, sChar, sString, sList, sArray
, sBools, sWord8s, sWord16s, sWord32s, sWord64s, sWords, sInt8s, sInt16s, sInt32s, sInt64s, sInts, sIntegers, sReals, sFloats, sDoubles, sChars, sStrings, sLists, sArrays
, EqSymbolic(..), OrdSymbolic(..), Equality(..)
, Mergeable(..), ite, iteLazy
, SIntegral
, SDivisible(..)
, sFromIntegral
, sShiftLeft, sShiftRight, sRotateLeft, sBarrelRotateLeft, sRotateRight, sBarrelRotateRight, sSignedShiftArithRight
, SFiniteBits(..)
, bvExtract, (#), zeroExtend, signExtend, bvDrop, bvTake
, (.^)
, IEEEFloating(..), RoundingMode(..), SRoundingMode, nan, infinity, sNaN, sInfinity
, sRoundNearestTiesToEven, sRoundNearestTiesToAway, sRoundTowardPositive, sRoundTowardNegative, sRoundTowardZero, sRNE, sRNA, sRTP, sRTN, sRTZ
, IEEEFloatConvertible(..)
, sFloatAsSWord32, sWord32AsSFloat
, sDoubleAsSWord64, sWord64AsSDouble
, sFloatingPointAsSWord, sWordAsSFloatingPoint
, blastSFloat
, blastSDouble
, blastSFloatingPoint
, mkSymbolicEnumeration
, mkUninterpretedSort, SMTDefinable(..)
, Predicate, ConstraintSet, ProvableM(..), Provable, SatisfiableM(..), Satisfiable
, generateSMTBenchmarkSat, generateSMTBenchmarkProof
, solve
, constrain, softConstrain
, namedConstraint, constrainWithAttribute
, pbAtMost, pbAtLeast, pbExactly, pbLe, pbGe, pbEq, pbMutexed, pbStronglyMutexed
, sAssert, isSafe, SExecutable(..)
, sbvQuickCheck
, OptimizeStyle(..)
, Objective(..)
, assertWithPenalty , Penalty(..)
, ExtCV(..), GeneralizedCV(..)
, ThmResult(..), SatResult(..), AllSatResult(..), SafeResult(..), OptimizeResult(..), SMTResult(..), SMTReasonUnknown(..)
, observe, sObserve
, SatModel(..), Modelable(..), displayModels, extractModels
, getModelDictionaries, getModelValues, getModelUninterpretedValues
, SMTConfig(..), Timing(..), SMTLibVersion(..), Solver(..), SMTSolver(..)
, boolector, bitwuzla, cvc4, cvc5, dReal, yices, z3, mathSAT, abc
, defaultSolverConfig, defaultSMTCfg, sbvCheckSolverInstallation, getAvailableSolvers
, setLogic, Logic(..), setOption, setInfo, setTimeOut
, SBVException(..)
, SBV, HasKind(..), Kind(..), SymVal(..)
, MonadSymbolic(..), Symbolic, SymbolicT, label, output, runSMT, runSMTWith
, module Data.Bits
, module Data.Word
, module Data.Int
, module Data.Ratio
) where
import Data.SBV.Core.AlgReals
import Data.SBV.Core.Data
import Data.SBV.Core.Kind
import Data.SBV.Core.Model
import Data.SBV.Core.Floating
import Data.SBV.Core.Symbolic
import Data.SBV.Provers.Prover
import Data.SBV.Client
import Data.SBV.Utils.TDiff (Timing(..))
import Data.Bits
import Data.Int
import Data.Ratio
import Data.Word
import Data.SBV.SMT.Utils (SBVException(..))
import Data.SBV.Control.Types (SMTReasonUnknown(..), Logic(..))