{-# 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
, SymArray(newArray_, newArray, readArray, writeArray, mergeArrays), SArray
, sBool, sWord8, sWord16, sWord32, sWord64, sWord, sInt8, sInt16, sInt32, sInt64, sInt, sInteger, sReal, sFloat, sDouble, sChar, sString, sList
, sBools, sWord8s, sWord16s, sWord32s, sWord64s, sWords, sInt8s, sInt16s, sInt32s, sInt64s, sInts, sIntegers, sReals, sFloats, sDoubles, sChars, sStrings, sLists
, 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, Uninterpreted(..), addAxiom
, Predicate, Goal, MProvable(..), Provable, proveWithAll, proveWithAny , satWithAll
, proveConcurrentWithAny, proveConcurrentWithAll, satConcurrentWithAny, satConcurrentWithAll
, satWithAny, generateSMTBenchmark
, solve
, constrain, softConstrain
, namedConstraint, constrainWithAttribute
, pbAtMost, pbAtLeast, pbExactly, pbLe, pbGe, pbEq, pbMutexed, pbStronglyMutexed
, sAssert, isSafe, SExecutable(..)
, sbvQuickCheck
, OptimizeStyle(..)
, Objective(..), Metric(..)
, assertWithPenalty , Penalty(..)
, ExtCV(..), GeneralizedCV(..)
, ThmResult(..), SatResult(..), AllSatResult(..), SafeResult(..), OptimizeResult(..), SMTResult(..), SMTReasonUnknown(..)
, observe
, 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.Sized
import Data.SBV.Core.Symbolic
import Data.SBV.Provers.Prover
import Data.SBV.Client
import Data.SBV.Client.BaseIO (FromSized, ToSized, fromSized, toSized)
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(..))