packages feed

sbv 8.14 → 8.15

raw patch · 325 files changed

+2673/−1548 lines, 325 files

Files

CHANGES.md view
@@ -1,8 +1,29 @@ * Hackage: <http://hackage.haskell.org/package/sbv>-* GitHub:  <http://leventerkok.github.com/sbv/>+* GitHub:  <http://leventerkok.github.io/sbv/> -* Latest Hackage released version: 8.14, 2021-03-29+* Latest Hackage released version: 8.15, 2021-05-30 +### Version 8.15, 2021-05-30++  * Remove support for SFunArray abstraction. Turns out that the caching+    mechanisms SBV used for SFunArray weren't entirely safe, and the code+    has become unmaintainable over-time. Instead you should simply use+    SArray, which has the exact same API. Thanks to frenchFrog42 on+    github for reporting some of the problems.++  * Fix the cmd line params for invocations of Boolector. You need+    Boolector 3.2.2 to work with this version of SBV.++  * NB. Recent releases of z3 no longer support optimization of real-valued+    goals in the presence of strict inequalities, i.e., .> and .< operators.+    So, you might get a bogus result if you are using optimization with+    SReal parameters that have strict inequalities. See https://github.com/Z3Prover/z3/issues/5314+    for details. There is not much SBV can do to prevent these, unfortunately,+    as z3 optimization engine goals seem to have changed. Note that use of+    non-strict inequalities (i.e., .>=, .<=, ./=) should be fine. Also, this+    only impacts the optimize calls: regular sat/prove invocations are not+    impacted.+ ### Version 8.14, 2021-03-29    * Improve the fast all-sat algorithm to also support uninterpreted values.@@ -267,7 +288,7 @@     class which provided similar operations but only on     predefined types. There is a new class called ByteConverter     to convert to-and-from bytes for suitable bit-vector-    sizes upto 512.+    sizes up to 512.    * Tuple construction functions are given new types to strengthen     type checking. Previously the tuple argument was ignored,@@ -760,7 +781,7 @@    * Rework 'SFunArray' implementation, addressing performance issues. We now     carefully memoize elements as we do the look-ups. This addresses several-    perfomance issues that came up; hopefully providing some relief. The+    performance issues that came up; hopefully providing some relief. The     function 'mkSFunArray' is also removed, which used to lift Haskell     functions to such arrays, often used to implement initial values. Now,     if a read is done on an unwritten element of 'SFunArray' we get an@@ -1659,7 +1680,7 @@   * Add SWord32/SWord64 to/from SFloat/SDouble conversions, as bit-pattern reinterpretation; using the     IEEE754 interchange format. The functions are: sWord32AsSFloat, sWord64AsSDouble, sFloatAsSWord32,     sDoubleAsSWord64. Note that the sWord32AsSFloat and sWord64ToSDouble are regular functions, but-    sFloatToSWord32 and sDoubleToSWord64 are "relations", since NaN values are not uniquely convertable.+    sFloatToSWord32 and sDoubleToSWord64 are "relations", since NaN values are not uniquely convertible.    * Add 'sExtractBits', which takes a list of indices to extract bits from, essentially     equivalent to 'map sTestBit'.@@ -2077,7 +2098,7 @@     to the chosen solver as determined by the imported module. (The latter is     useful for modifying options to the SMT solver in an solver-agnostic way.)   * Various improvements to Z3 model parsing routines.-  * New web page for SBV: http://leventerkok.github.com/sbv/ is now online.+  * New web page for SBV: http://leventerkok.github.io/sbv/ is now online.  ### Version 2.8, 2012-11-29 @@ -2280,7 +2301,7 @@     a symbolic value under the given constraints. Useful for statistical     analysis and probability computations.   * When saturating provable values, use forAll_ for proofs and forSome_-    for sat/allSat. (Previously we were allways using forAll_, which is+    for sat/allSat. (Previously we were always using forAll_, which is     not incorrect but less intuitive.)   * add function:       extractModels :: SatModel a => AllSatResult -> [a]
Data/SBV.hs view
@@ -69,7 +69,7 @@ -- --   * 'SSet': Symbolic sets. -----   * 'SArray', 'SFunArray': Flat arrays of symbolic values.+--   * 'SArray': Arrays of symbolic values. -- --   * Symbolic polynomials over GF(2^n), polynomial arithmetic, and CRCs. --@@ -186,7 +186,7 @@   -- ** Sets   , RCSet(..), SSet   -- * Arrays of symbolic values-  , SymArray(readArray, writeArray, mergeArrays, sListArray), newArray_, newArray, SArray, SFunArray+  , SymArray(readArray, writeArray, mergeArrays, sListArray), newArray_, newArray, SArray    -- * Creating symbolic values   -- ** Single value@@ -744,7 +744,7 @@ -}  {- $strings-Support for characters, strings, and regular expressions (intial version contributed by Joel Burget)+Support for characters, strings, and regular expressions (initial version contributed by Joel Burget) adds support for QF_S logic, described here: <http://smtlib.cs.uiowa.edu/theories-UnicodeStrings.shtml> and here: <http://rise4fun.com/z3/tutorialcontent/sequences>. Note that this logic is still not part of official SMTLib (as of March 2018), so it should be considered@@ -754,7 +754,7 @@ -}  {- $lists-Support for symbolic lists (intial version contributed by Joel Burget)+Support for symbolic lists (initial version contributed by Joel Burget) adds support for sequence support, described here: <http://rise4fun.com/z3/tutorialcontent/sequences>. Note that this logic is still not part of official SMTLib (as of March 2018), so it should be considered experimental.
Data/SBV/Control/Utils.hs view
@@ -1169,7 +1169,8 @@                       let allModelInputs  = prefixExistentials qinps                          -- Add on observables only if we're not in a quantified context:-                         grabObservables = S.length allModelInputs == S.length qinps -- i.e., we didn't drop anything+                         hasQuantifiers  = S.length allModelInputs /= S.length qinps -- i.e., we dropped something+                         grabObservables = not hasQuantifiers                           vars :: S.Seq (SVal, NamedSymVar)                          vars = let mkSVal :: NamedSymVar -> (SVal, NamedSymVar)@@ -1186,6 +1187,7 @@                        -- We can go fast using the disjoint model trick if things are simple enough:+                     --     - No quantifiers                      --     - No uninterpreted functions (uninterpreted values are OK)                      --     - No uninterpreted sorts                      --@@ -1198,7 +1200,7 @@                      -- previous model and asking for a new one. If they don't exist (which is the common case anyhow)                      -- we use an idea due to z3 folks <http://theory.stanford.edu/%7Enikolaj/programmingz3.html#sec-blocking-evaluations>                      -- which splits the search space into disjoint models and can produce results much more quickly.-                     let isSimple = null allUiFuns && null usorts+                     let isSimple = null allUiFuns && null usorts && not hasQuantifiers                           start = AllSatResult { allSatMaxModelCountReached  = False                                               , allSatHasPrefixExistentials = w
Data/SBV/Core/Data.hs view
@@ -44,7 +44,7 @@  , SVal(..)  , sTrue, sFalse, sNot, (.&&), (.||), (.<+>), (.~&), (.~|), (.=>), (.<=>), sAnd, sOr, sAny, sAll, fromBool  , SBV(..), NodeId(..), mkSymSBV- , ArrayContext(..), ArrayInfo, SymArray(..), SFunArray(..), SArray(..)+ , ArrayContext(..), ArrayInfo, SymArray(..), SArray(..)  , sbvToSV, sbvToSymSV, forceSVArg  , SBVExpr(..), newExpr  , cache, Cached, uncache, uncacheAI, HasKind(..)@@ -79,8 +79,8 @@  import qualified Data.Generics as G    (Data(..)) -import qualified Data.IORef         as R    (readIORef, newIORef)-import qualified Data.IntMap.Strict as IMap (size, insert, empty)+import qualified Data.IORef         as R    (readIORef)+import qualified Data.IntMap.Strict as IMap (size, insert)  import System.Random @@ -591,49 +591,18 @@ -- * Symbolic Arrays --------------------------------------------------------------------------------- --- | Flat arrays of symbolic values+-- | Arrays of symbolic values -- An @array a b@ is an array indexed by the type @'SBV' a@, with elements of type @'SBV' b@. -- -- If a default value is supplied, then all the array elements will be initialized to this value. -- Otherwise, they will be left unspecified, i.e., a read from an unwritten location will produce -- an uninterpreted constant. ----- While it's certainly possible for user to create instances of 'SymArray', the--- 'SArray' and 'SFunArray' instances already provided should cover most use cases--- in practice. Note that there are a few differences between these two models in--- terms of use models:------    * 'SArray' produces SMTLib arrays, and requires a solver that understands the---      array theory. 'SFunArray' is internally handled, and thus can be used with---      any solver. (Note that all solvers except 'Data.SBV.abc' support arrays, so this isn't---      a big decision factor.)------    * For both arrays, if a default value is supplied, then reading from uninitialized---      cell will return that value. If the default is not given, then reading from---      uninitialized cells is still OK for both arrays, and will produce an uninterpreted---      constant in both cases.------    * Only 'SArray' supports checking equality of arrays. (That is, checking if an entire---      array is equivalent to another.) 'SFunArray's cannot be checked for equality. In general,---      checking wholesale equality of arrays is a difficult decision problem and should be---      avoided if possible.------    * Only 'SFunArray' supports compilation to C. Programs using 'SArray' will not be---      accepted by the C-code generator.------    * You cannot use quickcheck on programs that contain these arrays. (Neither 'SArray'---      nor 'SFunArray'.)------    * With 'SArray', SBV transfers all array-processing to the SMT-solver. So, it can generate---      programs more quickly, but they might end up being too hard for the solver to handle. With---      'SFunArray', SBV only generates code for individual elements and the array itself never---      shows up in the resulting SMTLib program. This puts more onus on the SBV side and might---      have some performance impacts, but it might generate problems that are easier for the SMT---      solvers to handle.------ As a rule of thumb, try 'SArray' first. These should generate compact code. However, if--- the backend solver has hard time solving the generated problems, switch to--- 'SFunArray'. If you still have issues, please report so we can see what the problem might be!+-- The reason for this class is rather historic. In the past, SBV provided two different kinds of+-- arrays: an `SArray` abstraction that mapped directly to SMTLib arrays  (which is still available+-- today), and a functional notion of arrays that used internal caching, called @SFunArray@. The latter+-- has been removed as the code turned out to be rather tricky and hard to maintain; so we only+-- have one instance of this class. But end users can add their own instances, if needed. -- -- NB. 'sListArray' insists on a concrete initializer, because not having one would break -- referential transparency. See https://github.com/LeventErkok/sbv/issues/553 for details.@@ -667,7 +636,7 @@ -- --   * Maps directly to SMT-lib arrays -----   * Reading from an unintialized value is OK. If the default value is given in 'newArray', it will+--   * Reading from an uninitialized value is OK. If the default value is given in 'newArray', it will --     be the result. Otherwise, the read yields an uninterpreted constant. -- --   * Can check for equality of these arrays@@ -675,8 +644,6 @@ --   * Cannot be used in code-generation (i.e., compilation to C) -- --   * Cannot quick-check theorems using @SArray@ values------   * Typically slower as it heavily relies on SMT-solving for the array theory newtype SArray a b = SArray { unSArray :: SArr }  instance (HasKind a, HasKind b) => Show (SArray a b) where@@ -710,53 +677,3 @@            mkNm (Just nm) _ = nm            aknd = kindOf (Proxy @a)            bknd = kindOf (Proxy @b)---- | Arrays implemented internally, without translating to SMT-Lib functions:------   * Internally handled by the library and not mapped to SMT-Lib, hence can---     be used with solvers that don't support arrays. (Such as abc.)------   * Reading from an unintialized value is OK. If the default value is given in 'newArray', it will---     be the result. Otherwise, the read yields an uninterpreted constant.------   * Cannot check for equality of arrays.------   * Can be used in code-generation (i.e., compilation to C).------   * Can not quick-check theorems using @SFunArray@ values------   * Typically faster as it gets compiled away during translation.-newtype SFunArray a b = SFunArray { unSFunArray :: SFunArr }--instance (HasKind a, HasKind b) => Show (SFunArray a b) where-  show SFunArray{} = "SFunArray<" ++ showType (Proxy @a) ++ ":" ++ showType (Proxy @b) ++ ">"--instance SymArray SFunArray where-  readArray   (SFunArray arr) (SBV a)             = SBV (readSFunArr arr a)-  writeArray  (SFunArray arr) (SBV a) (SBV b)     = SFunArray (writeSFunArr arr a b)-  mergeArrays (SBV t) (SFunArray a) (SFunArray b) = SFunArray (mergeSFunArr t a b)--  sListArray :: forall a b. (HasKind a, SymVal b) => b -> [(SBV a, SBV b)] -> SFunArray a b-  sListArray initializer = foldl (uncurry . writeArray) arr-    where arr = SFunArray $ SFunArr ks $ cache r-           where ks = (kindOf (Proxy @a), kindOf (Proxy @b))--                 r st = do amap <- R.readIORef (rFArrayMap st)--                           memoTable <- R.newIORef IMap.empty--                           let k               = FArrayIndex $ IMap.size amap-                               iVal            = literal initializer-                               mkUninitialized = const (unSBV iVal)-                               upd             = IMap.insert (unFArrayIndex k) (mkUninitialized, memoTable)--                           k `seq` modifyState st rFArrayMap upd (return ())-                           return k--  newArrayInState :: forall a b. (HasKind a, HasKind b) => Maybe String -> Maybe (SBV b) -> State -> IO (SFunArray a b)-  newArrayInState mbNm mbVal st = do mapM_ (registerKind st) [aknd, bknd]-                                     SFunArray <$> newSFunArr st (aknd, bknd) (mkNm mbNm) (unSBV <$> mbVal)-    where mkNm Nothing t   = "funArray_" ++ show t-          mkNm (Just nm) _ = nm-          aknd = kindOf (Proxy @a)-          bknd = kindOf (Proxy @b)
Data/SBV/Core/Floating.hs view
@@ -239,14 +239,14 @@   -- >>> prove $ roundTrip @Int32   -- Falsifiable. Counter-example:   --   s0 = RoundTowardNegative :: RoundingMode-  --   s1 =           -44297675 :: Int32+  --   s1 =           826336134 :: Int32   --   -- Note how we get a failure on `Int32`. The counter-example value is not representable exactly as a single precision float:   ---  -- >>> toRational (-44297675 :: Float)-  -- (-44297676) % 1+  -- >>> toRational (826336134 :: Float)+  -- 826336128 % 1   ---  -- Note how the numerator is different, it is off by 1. This is hardly surprising, since floats become sparser as+  -- Note how the numerator is different, it is off by 6. This is hardly surprising, since floats become sparser as   -- the magnitude increases to be able to cover all the integer values representable.   toSFloat :: SRoundingMode -> SBV a -> SFloat @@ -279,16 +279,16 @@   -- Q.E.D.   -- >>> prove $ roundTrip @Int64   -- Falsifiable. Counter-example:-  --   s0 = RoundNearestTiesToAway :: RoundingMode-  --   s1 =   -3871901667041025751 :: Int64+  --   s0 = RoundNearestTiesToEven :: RoundingMode+  --   s1 =   -2305879001039372796 :: Int64   --   -- Just like in the `SFloat` case, once we reach 64-bits, we no longer can exactly represent the   -- integer value for all possible values:   ---  -- >>>  toRational (-3871901667041025751 :: Double)-  -- (-3871901667041025536) % 1+  -- >>>  toRational (-2305879001039372796 :: Double)+  -- (-2305879001039372800) % 1   ---  -- In this case the numerator is off by 15.+  -- In this case the numerator is off by 4.   toSDouble :: SRoundingMode -> SBV a -> SDouble    -- default definition if we have an integral like
Data/SBV/Core/Model.hs view
@@ -865,7 +865,7 @@   smin  :: a -> a -> a   -- | Symbolic maximum.   smax  :: a -> a -> a-  -- | Is the value withing the allowed /inclusive/ range?+  -- | Is the value within the allowed /inclusive/ range?   inRange    :: a -> (a, a) -> SBool    {-# MINIMAL (.<) #-}@@ -2095,7 +2095,7 @@     | ba == bb = listArray ba (zipWith (symbolicMerge f t) (elems a) (elems b))     | True     = cannotMerge "'Array' values"                              ("Branches produce different ranges: " ++ show (k ba, k bb))-                             "Consider using SBV's native arrays 'SArray' and 'SFunArray' instead."+                             "Consider using SBV's native 'SArray' abstraction."     where [ba, bb] = map bounds [a, b]           k = rangeSize @@ -2252,11 +2252,6 @@ -- When merging arrays; we'll ignore the force argument. This is arguably -- the right thing to do as we've too many things and likely we want to keep it efficient. instance SymVal b => Mergeable (SArray a b) where-  symbolicMerge _ = mergeArrays---- When merging arrays; we'll ignore the force argument. This is arguably--- the right thing to do as we've too many things and likely we want to keep it efficient.-instance SymVal b => Mergeable (SFunArray a b) where   symbolicMerge _ = mergeArrays  -- | Uninterpreted constants and functions. An uninterpreted constant is
Data/SBV/Core/Operations.hs view
@@ -43,8 +43,7 @@   , svAddConstant, svIncrement, svDecrement   , svFloatAsSWord32, svDoubleAsSWord64, svFloatingPointAsSWord    -- ** Basic array operations-  , SArr(..),     readSArr,     writeSArr,     mergeSArr,     newSArr,     eqSArr-  , SFunArr(..),  readSFunArr,  writeSFunArr,  mergeSFunArr,  newSFunArr+  , SArr(..), readSArr, writeSArr, mergeSArr, newSArr, eqSArr   -- Utils   , mkSymOp   )@@ -53,9 +52,8 @@ import Data.Bits (Bits(..)) import Data.List (genericIndex, genericLength, genericTake) -import qualified Data.IORef         as R    (modifyIORef', newIORef, readIORef)-import qualified Data.Map.Strict    as Map  (toList, fromList, lookup)-import qualified Data.IntMap.Strict as IMap (IntMap, empty, toAscList, fromAscList, lookup, size, insert, delete)+import qualified Data.IORef         as R    (readIORef)+import qualified Data.IntMap.Strict as IMap (size, insert)  import Data.SBV.Core.AlgReals import Data.SBV.Core.Kind@@ -1003,252 +1001,6 @@   where c st = do ai <- uncacheAI a st                   bi <- uncacheAI b st                   newExpr st KBool (SBVApp (ArrEq ai bi) [])---- | Arrays managed internally-data SFunArr = SFunArr (Kind, Kind) (Cached FArrayIndex)---- | Convert a node-id to an SVal-nodeIdToSVal :: Kind -> Int -> SVal-nodeIdToSVal k i = swToSVal $ SV k (NodeId i)---- | Convert an 'SV' to an 'SVal'-swToSVal :: SV -> SVal-swToSVal sv@(SV k _) = SVal k $ Right $ cache $ const $ return sv---- | A variant of SVal equality, but taking into account of constants--- NB. The rationalCheck is paranoid perhaps, but is necessary in case--- we have some funky polynomial roots in there. We do allow for--- floating-points here though. Why? Because the Eq instance of 'CV'--- does the right thing by using object equality. (i.e., it does--- the right thing for NaN/+0/-0 etc.) A straightforward equality--- here would be wrong for floats!-svEqualWithConsts :: (SVal, Maybe CV) -> (SVal, Maybe CV) -> SVal-svEqualWithConsts sv1 sv2 = case (grabCV sv1, grabCV sv2) of-                               (Just cv, Just cv') | rationalCheck cv cv' -> if cv == cv' then svTrue else svFalse-                               _                                          -> fst sv1 `svEqual` fst sv2-  where grabCV (_,                Just cv) = Just cv-        grabCV (SVal _ (Left cv), _      ) = Just cv-        grabCV _                           = Nothing---- | Read the array element at @a@. For efficiency purposes, we create a memo-table--- as we go along, as otherwise we suffer significant performance penalties. See:--- <http://github.com/LeventErkok/sbv/issues/402> and--- <http://github.com/LeventErkok/sbv/issues/396>.-readSFunArr :: SFunArr -> SVal -> SVal-readSFunArr (SFunArr (ak, bk) f) address-  | kindOf address /= ak-  = error $ "Data.SBV.readSFunArr: Impossible happened, accesing with address type: " ++ show (kindOf address) ++ ", expected: " ++ show ak-  | True-  = SVal bk $ Right $ cache r-  where r st = do fArrayIndex <- uncacheFAI f st-                  fArrMap     <- R.readIORef (rFArrayMap st)--                  constMap <- R.readIORef (rconstMap st)-                  let consts = Map.fromList [(i, cv) | (cv, SV _ (NodeId i)) <- Map.toList constMap]--                  case unFArrayIndex fArrayIndex `IMap.lookup` fArrMap of-                    Nothing -> error $ "Data.SBV.readSFunArr: Impossible happened while trying to access SFunArray, can't find index: " ++ show fArrayIndex-                    Just (uninitializedRead, rCache) -> do-                        memoTable  <- R.readIORef rCache-                        SV _ (NodeId addressNodeId) <- svToSV st address--                        -- If we hit the cache, return the result right away. If we miss, we need to-                        -- walk through each element to "merge" all possible reads as we do not know-                        -- whether the symbolic access may end up the same as one of the earlier ones-                        -- in the cache.-                        case addressNodeId `IMap.lookup` memoTable of-                          Just v  -> return v  -- cache hit!--                          Nothing -> -- cache miss; walk down the cache items to form the chain of reads:-                                     do let aInfo = (address, addressNodeId `Map.lookup` consts)--                                            find :: [(Int, SV)] -> SVal-                                            find []             = uninitializedRead address-                                            find ((i, v) : ivs) = svIte (svEqualWithConsts (nodeIdToSVal ak i, i `Map.lookup` consts) aInfo) (swToSVal v) (find ivs)--                                            finalValue = find (IMap.toAscList memoTable)--                                        finalSW <- svToSV st finalValue--                                        -- Cache the result, so next time we can retrieve it faster if we look it up with the same address!-                                        -- The following line is really the whole point of having caching in SFunArray!-                                        R.modifyIORef' rCache (IMap.insert addressNodeId finalSW)--                                        return finalSW---- | Update the element at @address@ to be @b@-writeSFunArr :: SFunArr -> SVal -> SVal -> SFunArr-writeSFunArr (SFunArr (ak, bk) f) address b-  | kindOf address /= ak-  = error $ "Data.SBV.writeSFunArr: Impossible happened, accesing with address type: " ++ show (kindOf address) ++ ", expected: " ++ show ak-  | kindOf b /= bk-  = error $ "Data.SBV.writeSFunArr: Impossible happened, accesing with address type: " ++ show (kindOf b) ++ ", expected: " ++ show bk-  | True-  = SFunArr (ak, bk) $ cache g-  where g st = do fArrayIndex <- uncacheFAI f st-                  fArrMap     <- R.readIORef (rFArrayMap st)-                  constMap    <- R.readIORef (rconstMap st)--                  let consts = Map.fromList [(i, cv) | (cv, SV _ (NodeId i)) <- Map.toList constMap]--                  case unFArrayIndex fArrayIndex `IMap.lookup` fArrMap of-                    Nothing          -> error $ "Data.SBV.writeSFunArr: Impossible happened while trying to access SFunArray, can't find index: " ++ show fArrayIndex--                    Just (aUi, rCache) -> do-                       memoTable <- R.readIORef rCache-                       SV _ (NodeId addressNodeId) <- svToSV st address-                       val                         <- svToSV st b--                       -- There are two cases:-                       ---                       --    (1) We hit the cache, and old value is the same as new: No write necessary, just return the array-                       --    (2) We hit the cache, values are different OR we miss the cache. We need to insert this value into-                       --        the cache, overriding the original if it was there. Note that we also have to walk the cache-                       --        to update each element, as this write can symbolically be the same as some other addresses.-                       ---                       -- Below, we determine which case we're in and then insert the value at the end and continue-                       cont <- case addressNodeId `IMap.lookup` memoTable of-                                 Just oldVal                    -- Cache hit-                                   | val == oldVal -> return $ Left fArrayIndex   -- Case 1--                                 _                 -> do        -- Cache miss, or value is different.--                                        let aInfo = (address, addressNodeId `Map.lookup` consts)--                                            -- NB. The order of modifications here is important as we-                                            -- keep the keys in ascending order. (Since we'll call fromAscList later on.)-                                            walk :: [(Int, SV)] -> [(Int, SV)] -> IO [(Int, SV)]-                                            walk []           sofar = return $ reverse sofar-                                            walk ((i, s):iss) sofar = modify i s >>= \s' -> walk iss ((i, s') : sofar)--                                            -- At the cached address i, currently storing value s. Conditionally update it to `b` (new value)-                                            -- if the addresses match. Otherwise keep it the same.-                                            modify :: Int -> SV -> IO SV-                                            modify i s = svToSV st $ svIte (svEqualWithConsts (nodeIdToSVal ak i, i `Map.lookup` consts) aInfo) b (swToSVal s)--                                        Right . IMap.fromAscList <$> walk (IMap.toAscList (IMap.delete addressNodeId memoTable)) []--                       case cont of-                         Left j   -> return j  -- There was a hit, and value was unchanged, nothing to do--                         Right mt -> do        -- There was a hit, and the value was different; or there was a miss. Insert the new value-                                               -- and create a new array. Note that we keep the aUi the same: Just because we modified-                                               -- an array, it doesn't mean we change the uninitialized reads: they still come from the same place.-                                               ---                                        newMemoTable <- R.newIORef $ IMap.insert addressNodeId val mt--                                        let j = FArrayIndex $ IMap.size fArrMap-                                            upd = IMap.insert (unFArrayIndex j) (aUi, newMemoTable)--                                        j `seq` modifyState st rFArrayMap upd (return ())-                                        return j---- | Merge two given arrays on the symbolic condition--- Intuitively: @mergeArrays cond a b = if cond then a else b@.--- Merging pushes the if-then-else choice down on to elements-mergeSFunArr :: SVal -> SFunArr -> SFunArr -> SFunArr-mergeSFunArr t array1@(SFunArr ainfo@(sourceKind, targetKind) a) array2@(SFunArr binfo b)-  | ainfo /= binfo-  = error $ "Data.SBV.mergeSFunArr: Impossible happened, merging incompatbile arrays: " ++ show (ainfo, binfo)-  | Just test <- svAsBool t-  = if test then array1 else array2-  | True-  = SFunArr ainfo $ cache c-  where c st = do ai <- uncacheFAI a st-                  bi <- uncacheFAI b st--                  constMap <- R.readIORef (rconstMap st)-                  let consts = Map.fromList [(i, cv) | (cv, SV _ (NodeId i)) <- Map.toList constMap]--                  -- Catch the degenerate case of merging an array with itself. One-                  -- can argue this is pointless, but actually it comes up when one-                  -- is merging composite structures (through a Mergeable class instance)-                  -- that has an array component that didn't change. So, pays off in practice!-                  if unFArrayIndex ai == unFArrayIndex bi-                     then return ai  -- merging with itself, noop-                     else do fArrMap <- R.readIORef (rFArrayMap st)--                             case (unFArrayIndex ai `IMap.lookup` fArrMap, unFArrayIndex bi `IMap.lookup` fArrMap) of-                               (Nothing, _) -> error $ "Data.SBV.mergeSFunArr: Impossible happened while trying to access SFunArray, can't find index: " ++ show ai-                               (_, Nothing) -> error $ "Data.SBV.mergeSFunArr: Impossible happened while trying to access SFunArray, can't find index: " ++ show bi-                               (Just (aUi, raCache), Just (bUi, rbCache)) -> do--                                   -- This is where the complication happens. We need to merge the caches. If the same-                                   -- key appears in both, then that's the easy case: Just merge the entries. But if-                                   -- a key only appears in one but not the other? Just like in the read/write cases,-                                   -- we have to consider the possibility that the missing key can be any one of the-                                   -- other elements in the cache. So, for each non-matching key in either memo-table,-                                   -- we traverse the other and create a chain of look-up values.-                                   aMemo <- R.readIORef raCache-                                   bMemo <- R.readIORef rbCache--                                   let aMemoT = IMap.toAscList aMemo-                                       bMemoT = IMap.toAscList bMemo--                                       -- gen takes a uninitialized-read creator, a key, and the choices from the "other"-                                       -- cache that this key may map to. And creates a new SV that corresponds to the-                                       -- merged value:-                                       gen :: (SVal -> SVal) -> Int -> [(Int, SV)] -> IO SV-                                       gen mk k choices = svToSV st $ walk choices-                                         where kInfo = (nodeIdToSVal sourceKind k, k `Map.lookup` consts)--                                               walk :: [(Int, SV)] -> SVal-                                               walk []             = mk (fst kInfo)-                                               walk ((i, v) : ivs) = svIte (svEqualWithConsts (nodeIdToSVal sourceKind i, i `Map.lookup` consts) kInfo)-                                                                           (swToSVal v)-                                                                           (walk ivs)--                                       -- Insert into an existing map the new key value by merging according to the test-                                       fill :: Int -> SV -> SV -> IMap.IntMap SV -> IO (IMap.IntMap SV)-                                       fill k (SV _ (NodeId ni1)) (SV _ (NodeId ni2)) m = do v <- svToSV st (svIte t sval1 sval2)-                                                                                             return $ IMap.insert k v m-                                         where sval1 = nodeIdToSVal targetKind ni1-                                               sval2 = nodeIdToSVal targetKind ni2--                                       -- Walk down the memo-tables in tandem. If we find a common key: Simply fill it in. If we find-                                       -- a key only in one, generate the corresponding read from the other cache, and do the fill.-                                       merge []                  []                  sofar = return sofar-                                       merge ((k1, v1) : as)     []                  sofar = gen bUi k1 bMemoT >>= \v2  -> fill k1 v1  v2 sofar  >>= merge as []-                                       merge []                  ((k2, v2) : bs)     sofar = gen aUi k2 aMemoT >>= \v1  -> fill k2 v1  v2 sofar  >>= merge [] bs-                                       merge ass@((k1, v1) : as) bss@((k2, v2) : bs) sofar-                                         | k1 < k2                                         = gen bUi k1 bMemoT >>= \nv2 -> fill k1 v1  nv2 sofar >>= merge as  bss-                                         | k1 > k2                                         = gen aUi k2 aMemoT >>= \nv1 -> fill k2 nv1 v2  sofar >>= merge ass bs-                                         | True                                            =                               fill k1 v1  v2  sofar >>= merge as  bs--                                   mergedMap  <- merge aMemoT bMemoT IMap.empty-                                   memoMerged <- R.newIORef mergedMap--                                   -- Craft a new uninitializer. Note that we do *not* create a new initializer here,-                                   -- but simply merge the two initializers which will inherit their original unread-                                   -- references should the test be a constant.-                                   let mkUninitialized i = svIte t (aUi i) (bUi i)--                                   -- Add it to our collection:-                                   let j   = FArrayIndex $ IMap.size fArrMap-                                       upd = IMap.insert (unFArrayIndex j) (mkUninitialized, memoMerged)--                                   j `seq` modifyState st rFArrayMap upd (return ())--                                   return j---- | Create a named new array-newSFunArr :: State -> (Kind, Kind) -> (Int -> String) -> Maybe SVal -> IO SFunArr-newSFunArr st (ak, bk) mkNm mbDef = do-        fArrMap <- R.readIORef (rFArrayMap st)-        memoTable <- R.newIORef IMap.empty--        let j  = FArrayIndex $ IMap.size fArrMap-            nm = mkNm (unFArrayIndex j)-            mkUninitialized i = case mbDef of-                                  Just def -> def-                                  _        -> svUninterpreted bk (nm ++ "_uninitializedRead") Nothing [i]--            upd = IMap.insert (unFArrayIndex j) (mkUninitialized, memoTable)--        registerLabel "SFunArray declaration" st nm-        j `seq` modifyState st rFArrayMap upd (return ())--        return $ SFunArr (ak, bk) $ cache $ const $ return j  -------------------------------------------------------------------------------- -- Utility functions
Data/SBV/Core/Symbolic.hs view
@@ -45,7 +45,7 @@   , svToSV, svToSymSV, forceSVArg   , SBVExpr(..), newExpr, isCodeGenMode, isSafetyCheckingIStage, isRunIStage, isSetupIStage   , Cached, cache, uncache, modifyState, modifyIncState-  , ArrayIndex(..), FArrayIndex(..), uncacheAI, uncacheFAI+  , ArrayIndex(..), uncacheAI   , NamedSymVar(..), Name, UserInputs, Inputs(..), getSV, swNodeId, namedNodeId, getUniversals   , prefixExistentials, prefixUniversals, onUserInputs, onInternInputs, onAllInputs   , addInternInput, addUserInput, getInputs, inputsFromListWith, userInputsToList@@ -774,7 +774,7 @@ -- Show instance for 'Result'. Only for debugging purposes. instance Show Result where   -- If there's nothing interesting going on, just print the constant. Note that the-  -- definiton of interesting here is rather subjective; but essentially if we reduced+  -- definition of interesting here is rather subjective; but essentially if we reduced   -- the result to a single constant already, without any reference to anything.   show Result{resConsts=(_, cs), resOutputs=[r]}     | Just c <- r `lookup` cs@@ -902,7 +902,7 @@             | ISafe         -- In the context of a safe/safeWith call             | IRun          -- After the contact is started --- | Are we cecking safety+-- | Are we checking safety isSafetyCheckingIStage :: IStage -> Bool isSafetyCheckingIStage s = case s of                              ISetup -> False@@ -1129,7 +1129,6 @@                     , rAsserts     :: IORef [(String, Maybe CallStack, SV)]                     , rSVCache     :: IORef (Cache SV)                     , rAICache     :: IORef (Cache ArrayIndex)-                    , rFAICache    :: IORef (Cache FArrayIndex)                     , rQueryState  :: IORef (Maybe QueryState)                     } @@ -1669,7 +1668,6 @@      axioms    <- newIORef []      swCache   <- newIORef IMap.empty      aiCache   <- newIORef IMap.empty-     faiCache  <- newIORef IMap.empty      usedKinds <- newIORef Set.empty      usedLbls  <- newIORef Set.empty      cstrs     <- newIORef S.empty@@ -1700,7 +1698,6 @@                   , raxioms      = axioms                   , rSVCache     = swCache                   , rAICache     = aiCache-                  , rFAICache    = faiCache                   , rConstraints = cstrs                   , rSMTOptions  = smtOpts                   , rOptGoals    = optGoals@@ -1854,20 +1851,9 @@ instance Show ArrayIndex where   show (ArrayIndex i) = show i --- | A functional array index is simply an int value-newtype FArrayIndex = FArrayIndex { unFArrayIndex :: Int } deriving (Eq, Ord)---- | We simply show indexes as the underlying integer-instance Show FArrayIndex where-  show (FArrayIndex i) = show i- -- | Uncache, retrieving SMT array indexes uncacheAI :: Cached ArrayIndex -> State -> IO ArrayIndex uncacheAI = uncacheGen rAICache---- | Uncache, retrieving Functional array indexes-uncacheFAI :: Cached FArrayIndex -> State -> IO FArrayIndex-uncacheFAI = uncacheGen rFAICache  -- | Generic uncaching. Note that this is entirely safe, since we do it in the IO monad. uncacheGen :: (State -> IORef (Cache a)) -> Cached a -> State -> IO a
Data/SBV/Dynamic.hs view
@@ -23,9 +23,6 @@   , HasKind(..), Kind(..), CV(..), CVal(..), cvToBool   -- *** SMT Arrays of symbolic values   , SArr, readSArr, writeSArr, mergeSArr, newSArr, eqSArr-  -- *** Functional arrays of symbolic values-  , SFunArr, readSFunArr, writeSFunArr, mergeSFunArr, newSFunArr-   -- ** Creating a symbolic variable   , Symbolic   , Quantifier(..)
Data/SBV/Provers/Boolector.hs view
@@ -24,7 +24,7 @@            name         = Boolector          , executable   = "boolector"          , preprocess   = id-         , options      = const ["--smt2", "--smt2-model", "--no-exit-codes", "--incremental"]+         , options      = const ["--smt2", "-m", "--output-format=smt2", "--no-exit-codes", "--incremental"]          , engine       = standardEngine "SBV_BOOLECTOR" "SBV_BOOLECTOR_OPTIONS"          , capabilities = SolverCapabilities {                                 supportsQuantifiers        = False
Data/SBV/Provers/Prover.hs view
@@ -674,20 +674,11 @@   forSome (s:ss) k = exists s >>= \a -> forSome ss $ k a   forSome []     k = forSome_ k --- SFunArrays (memory, functional representation), only supported universally for the time being+-- Arrays instance (HasKind a, HasKind b, MProvable m p) => MProvable m (SArray a b -> p) where   forAll_        k = newArray_  Nothing >>= \a -> forAll_   $ k a   forAll  (s:ss) k = newArray s Nothing >>= \a -> forAll ss $ k a   forAll  []     k = forAll_ k-  forSome_       k = newArray_  Nothing >>= \a -> forSome_   $ k a-  forSome (s:ss) k = newArray s Nothing >>= \a -> forSome ss $ k a-  forSome []     k = forSome_ k---- SArrays (memory, SMT-Lib notion of arrays), only supported universally for the time being-instance (HasKind a, HasKind b, MProvable m p) => MProvable m (SFunArray a b -> p) where-  forAll_        k = newArray_  Nothing >>= \a -> forAll_   $ k a-  forAll (s:ss)  k = newArray s Nothing >>= \a -> forAll ss $ k a-  forAll []      k = forAll_ k   forSome_       k = newArray_  Nothing >>= \a -> forSome_   $ k a   forSome (s:ss) k = newArray s Nothing >>= \a -> forSome ss $ k a   forSome []     k = forSome_ k
Data/SBV/SMT/SMT.hs view
@@ -175,7 +175,7 @@                        (False, False) -> ""                        (False, True)  -> " (Search stopped since solver has returned unknown.)"                        (True,  False) -> " (Unique up to prefix existentials.)"-                       (True,  True)  -> " (Search stopped becase solver has returned unknown, only prefix existentials were considered.)"+                       (True,  True)  -> " (Search stopped because solver has returned unknown, only prefix existentials were considered.)"            go c (s:ss) = let c'      = c+1                             (ok, o) = sh c' s@@ -661,7 +661,7 @@  -- | A standard solver interface. If the solver is SMT-Lib compliant, then this function should suffice in -- communicating with it.-standardSolver :: SMTConfig       -- ^ The currrent configuration+standardSolver :: SMTConfig       -- ^ The current configuration                -> State           -- ^ Context in which we are running                -> String          -- ^ The program                -> (State -> IO a) -- ^ The continuation
Data/SBV/SMT/SMTLib2.hs view
@@ -199,27 +199,28 @@              ++ concatMap declUI uis              ++ [ "; --- user given axioms ---" ]              ++ map declAx axs-             ++ [ "; --- formula ---" ]-+             ++ [ "; --- preQuantifier assignments ---" ]              ++ concatMap (declDef cfg skolemMap tableMap) preQuantifierAssigns+             ++ [ "; --- arrayDelayeds ---" ]+             ++ concat arrayDelayeds+             ++ [ "; --- arraySetups ---" ]+             ++ concat arraySetups+             ++ [ "; --- formula ---" ]              ++ ["(assert (forall (" ++ intercalate "\n                 "                                         ["(" ++ show s ++ " " ++ svType s ++ ")" | s <- foralls] ++ ")"                 | not (null foralls)                 ]+             ++ [ "; --- postQuantifier assignments ---" ]              ++ concatMap mkAssign postQuantifierAssigns--             ++ concat arrayDelayeds--             ++ concat arraySetups-+             ++ [ "; --- delayedEqualities ---" ]              ++ delayedAsserts delayedEqualities-+             ++ [ "; -- finalAssert ---" ]              ++ finalAssert          -- identify the assignments that can come before the first quantifier         (preQuantifierAssigns, postQuantifierAssigns)            | null foralls-           = ([], asgns)  -- the apparent "switch" here is OK; rest of the code works correctly if there are no foralls.+           = (asgns, [])            | True            = span pre asgns            where first      = nodeId (minimum foralls)@@ -568,7 +569,7 @@         lis  = length is          setup-          | lis == 0       = [ "(define-fun " ++ initializer ++ " () Bool true) ; no initializiation needed"+          | lis == 0       = [ "(define-fun " ++ initializer ++ " () Bool true) ; no initialization needed"                              ]           | lis == 1       = [ "(define-fun " ++ initializer ++ " () Bool " ++ mkInit 0 ++ ")"                              , "(assert " ++ initializer ++ ")"@@ -653,7 +654,7 @@         lAll          = lpre + length post          setup-          | lAll == 0      = [ "(define-fun " ++ initializer ++ " () Bool true) ; no initializiation needed" | not quantified]+          | lAll == 0      = [ "(define-fun " ++ initializer ++ " () Bool true) ; no initialization needed" | not quantified]           | lAll == 1      = [ "(define-fun " ++ initializer ++ " () Bool " ++ mkInit 0 ++ ")"                              , "(assert " ++ initializer ++ ")"                              ]
Data/SBV/Tools/Range.hs view
@@ -61,8 +61,16 @@ -- | Given a single predicate over a single variable, find the contiguous ranges over which the predicate -- is satisfied. SBV will make one call to the optimizer, and then as many calls to the solver as there are -- disjoint ranges that the predicate is satisfied over. (Linear in the number of ranges.) Note that the--- number of ranges is large, this can take a long time! Some examples:+-- number of ranges is large, this can take a long time! --+-- Beware that, as of June 2021, z3 no longer supports optimization with 'SReal' in the presence of+-- strict inequalities. See <https://github.com/Z3Prover/z3/issues/5314> for details. So, if you+-- have 'SReal' variables, it is important that you do /not/ use a strict inequality, i.e., '.>', '.<' etc.+-- Inequalities of the form '.<=', '.>=', and './=' should be OK. Please report if you see any fishy+-- behavior due to this change in z3's behavior.+--+-- Some examples:+-- -- >>> ranges (\(_ :: SInteger) -> sFalse) -- [] -- >>> ranges (\(_ :: SInteger) -> sTrue)@@ -73,20 +81,18 @@ -- [[5,6),(6,67),(67,75]] -- >>> ranges (\(x :: SInteger) -> sAnd [x .<= 75, x ./= 3, x ./= 67]) -- [(-oo,3),(3,67),(67,75]]--- >>> ranges (\(x :: SReal) -> sAnd [x .> 3.2, x .<  12.7])--- [(3.2,12.7)]--- >>> ranges (\(x :: SReal) -> sAnd [x .> 3.2, x .<= 12.7])--- [(3.2,12.7]]+-- >>> ranges (\(x :: SReal) -> sAnd [x .>= 3.2, x .<= 12.7])+-- [[3.2,12.7]] -- >>> ranges (\(x :: SReal) -> sAnd [x .<= 12.7, x ./= 8]) -- [(-oo,8.0),(8.0,12.7]] -- >>> ranges (\(x :: SReal) -> sAnd [x .>= 12.7, x ./= 15]) -- [[12.7,15.0),(15.0,oo)] -- >>> ranges (\(x :: SInt8) -> sAnd [x .<= 7, x ./= 6]) -- [[-128,6),(6,7]]--- >>> ranges $ \x -> x .> (0::SReal)--- [(0.0,oo)]--- >>> ranges $ \x -> x .< (0::SReal)--- [(-oo,0.0)]+-- >>> ranges $ \x -> x .>= (0::SReal)+-- [[0.0,oo)]+-- >>> ranges $ \x -> x .<= (0::SReal)+-- [(-oo,0.0]] -- >>> ranges $ \(x :: SWord8) -> 2*x .== 4 -- [[2,3),(129,130]] ranges :: forall a. (Ord a, Num a, SymVal a,  SatModel a, Metric a, SymVal (MetricSpace a), SatModel (MetricSpace a)) => (SBV a -> SBool) -> IO [Range a]
Data/SBV/Trans.hs view
@@ -39,7 +39,7 @@   -- ** Symbolic lists   , SList   -- * Arrays of symbolic values-  , SymArray(newArray_, newArray, readArray, writeArray, mergeArrays), SArray, SFunArray+  , SymArray(newArray_, newArray, readArray, writeArray, mergeArrays), SArray    -- * Creating symbolic values   -- ** Single value
Data/SBV/Tuple.hs view
@@ -143,7 +143,7 @@ _2 :: HasField "_2" b a => SBV a -> SBV b _2 = field (Get @"_2") --- | Access the 3nd element of an @STupleN@, @3 <= N <= 8@. Also see '^.'.+-- | Access the 3rd element of an @STupleN@, @3 <= N <= 8@. Also see '^.'. _3 :: HasField "_3" b a => SBV a -> SBV b _3 = field (Get @"_3") 
Data/SBV/Utils/PrettyNum.hs view
@@ -239,7 +239,7 @@   bin  s = maybe (show s) (bin  :: a -> String) $ unliteral s  -- | Show as a hexadecimal value. First bool controls whether type info is printed--- while the second boolean controls wether 0x prefix is printed. The tuple is+-- while the second boolean controls whether 0x prefix is printed. The tuple is -- the signedness and the bit-length of the input. The length of the string -- will /not/ depend on the value, but rather the bit-length. shex :: (Show a, Integral a) => Bool -> Bool -> (Bool, Int) -> a -> String
Documentation/SBV/Examples/Crypto/AES.hs view
@@ -428,7 +428,7 @@ {- $verifIntro   While SMT based technologies can prove correct many small properties fairly quickly, it would   be naive for them to automatically verify that our AES implementation is correct. (By correct,-  we mean decryption follewed by encryption yielding the same result.) However, we can state+  we mean decryption followed by encryption yielding the same result.) However, we can state   this property precisely using SBV, and use quick-check to gain some confidence. -} 
Documentation/SBV/Examples/Existentials/Diophantine.hs view
@@ -74,15 +74,15 @@ -- We have: -- -- >>> test--- NonHomogeneous [[1,0,0],[0,2,0]] [[1,0,2],[0,1,1]]+-- NonHomogeneous [[0,2,0],[1,0,0]] [[1,0,2],[0,1,1]] -- -- which means that the solutions are of the form: -----    @(1, 0, 0) + k (1, 0, 2) + k' (0, 1, 1) = (1+k, k', 2k+k')@+--    @(0, 2, 0) + k (1, 0, 2) + k' (0, 1, 1) = (k, 2+k', 2k+k')@ -- -- OR -----    @(0, 2, 0) + k (1, 0, 2) + k' (0, 1, 1) = (k, 2+k', 2k+k')@+--    @(1, 0, 0) + k (1, 0, 2) + k' (0, 1, 1) = (1+k, k', 2k+k')@ -- -- for arbitrary @k@, @k'@. It's easy to see that these are really solutions -- to the equation given. It's harder to see that they cover all possibilities,
Documentation/SBV/Examples/Misc/Floating.hs view
@@ -62,19 +62,19 @@ -- -- >>> assocPlusRegular -- Falsifiable. Counter-example:---   x =  1.3067223e-25 :: Float---   y = -1.7763568e-15 :: Float---   z =  1.7762754e-15 :: Float+--   x = -1.860921e38 :: Float+--   y = 2.1240016e32 :: Float+--   z = 2.2772656e33 :: Float -- -- Indeed, we have: ----- >>> let x =  1.3067223e-25 :: Float--- >>> let y = -1.7763568e-15 :: Float--- >>> let z =  1.7762754e-15 :: Float+-- >>> let x = -1.860921e38 :: Float+-- >>> let y = 2.1240016e32 :: Float+-- >>> let z = 2.2772656e33 :: Float -- >>> x + (y + z)--- -8.142091e-20+-- -1.860896e38 -- >>> (x + y) + z--- -8.142104e-20+-- -1.8608963e38 -- -- Note the difference in the results! assocPlusRegular :: IO ThmResult@@ -96,13 +96,13 @@ -- -- >>> nonZeroAddition -- Falsifiable. Counter-example:---   a = 7.486071e12 :: Float---   b =    188.8646 :: Float+--   a =  3.2446953e28 :: Float+--   b = -4.486113e-39 :: Float -- -- Indeed, we have: ----- >>> let a = 7.486071e12 :: Float--- >>> let b =    188.8646 :: Float+-- >>> let a =  3.2446953e28 :: Float+-- >>> let b = -4.486113e-39 :: Float -- >>> a + b == a -- True -- >>> b == 0@@ -125,11 +125,11 @@ -- -- >>> multInverse -- Falsifiable. Counter-example:---   a = 8.590978e-39 :: Float+--   a = 2.944504e-39 :: Float -- -- Indeed, we have: ----- >>> let a = 8.590978e-39 :: Float+-- >>> let a = 2.944504e-39 :: Float -- >>> a * (1/a) -- 0.99999994 multInverse :: IO ThmResult@@ -152,24 +152,24 @@ -- >>> roundingAdd -- Satisfiable. Model: --   rm = RoundTowardPositive :: RoundingMode---   x  =       -2.240786e-38 :: Float---   y  =        -1.10355e-39 :: Float+--   x  =       3.6969435e-35 :: Float+--   y  =      -1.1628614e-38 :: Float -- -- (Note that depending on your version of Z3, you might get a different result.) -- Unfortunately Haskell floats do not allow computation with arbitrary rounding modes, but SBV's -- 'SFloatingPoint' type does. We have: ----- >>> fpAdd sRoundNearestTiesToEven (-2.240786e-38) (-1.10355e-39) :: SFPSingle--- -2.35114116e-38 :: SFloatingPoint 8 24--- >>> fpAdd sRoundTowardPositive    (-2.240786e-38) (-1.10355e-39) :: SFPSingle--- -2.35114088e-38 :: SFloatingPoint 8 24+-- >>> fpAdd sRoundNearestTiesToEven 3.6969435e-35 (-1.1628614e-38) :: SFPSingle+-- 3.69578064e-35 :: SFloatingPoint 8 24+-- >>> fpAdd sRoundTowardPositive    3.6969435e-35 (-1.1628614e-38) :: SFPSingle+-- 3.69578093e-35 :: SFloatingPoint 8 24 -- -- We can see why these two results are indeed different: The 'RoundTowardPositive' -- (which rounds towards positive infinity from zero) produces a larger result. Indeed, if we treat these numbers -- as 'Double' values, we get: ----- >>> -2.240786e-38 + (-1.10355e-39) :: Double--- -2.351141e-38+-- >>> 3.6969435e-35 + (-1.1628614e-38) :: Double+-- 3.6957806386e-35 -- -- we see that the "more precise" result is larger than what the 'Float' value is, justifying the -- larger value with 'RoundTowardPositive'. A more detailed study is beyond our current scope, so we'll
Documentation/SBV/Examples/Optimization/ExtField.hs view
@@ -23,17 +23,17 @@ -- -- >>> optimize Independent problem -- Objective "one-x": Optimal in an extension field:---   one-x =                    oo :: Integer---   min_y = 7.0 + (3.0 * epsilon) :: Real---   min_z = 5.0 + (2.0 * epsilon) :: Real+--   one-x =  oo :: Integer+--   min_y = 7.0 :: Real+--   min_z = 5.0 :: Real -- Objective "min_y": Optimal in an extension field:---   one-x =                    oo :: Integer---   min_y = 7.0 + (3.0 * epsilon) :: Real---   min_z = 5.0 + (2.0 * epsilon) :: Real+--   one-x =  oo :: Integer+--   min_y = 7.0 :: Real+--   min_z = 5.0 :: Real -- Objective "min_z": Optimal in an extension field:---   one-x =                    oo :: Integer---   min_y = 7.0 + (3.0 * epsilon) :: Real---   min_z = 5.0 + (2.0 * epsilon) :: Real+--   one-x =  oo :: Integer+--   min_y = 7.0 :: Real+--   min_z = 5.0 :: Real problem :: Goal problem = do x <- sInteger "x"              y <- sReal "y"@@ -41,7 +41,7 @@               maximize "one-x" $ 1 - x -             constrain $ y .> 0 .&& z .> 5+             constrain $ y .>= 0 .&& z .>= 5              minimize "min_y" $ 2+y+z               minimize "min_z" z
Documentation/SBV/Examples/ProofTools/BMC.hs view
@@ -83,7 +83,7 @@ -- BMC: Iteration: 2 -- BMC: Iteration: 3 -- BMC: Solution found at iteration 3--- Right (3,[(0,10),(0,6),(2,6),(2,2)])+-- Right (3,[(0,10),(0,6),(0,2),(2,2)]) -- -- As expected, there's a solution in this case. Furthermore, since the BMC engine -- found a solution at depth @3@, we also know that there is no solution at
Documentation/SBV/Examples/Puzzles/HexPuzzle.hs view
@@ -65,7 +65,7 @@ type SButton = SBV Button  -- | The grid is an array mapping each button to its color.-type Grid = SFunArray Button Color+type Grid = SArray Button Color  -- | Given a button press, and the current grid, compute the next grid. -- If the button is "unpressable", i.e., if it is not one of the center
Documentation/SBV/Examples/Queries/FourFours.hs view
@@ -132,7 +132,7 @@                                 , (Factorial, 24)  -- argument is restricted to 4, so the value is 24                                 ] --- | In the query mode, find a filling of a given tree shape /t/, such that it evalutes to the+-- | In the query mode, find a filling of a given tree shape /t/, such that it evaluates to the -- requested number /i/. Note that we return back a concrete tree. generate :: Integer -> T () () -> IO (Maybe (T BinOp UnOp)) generate i t = runSMT $ do symT <- fill t
Documentation/SBV/Examples/Strings/SQLInjection.hs view
@@ -41,7 +41,7 @@  -- | Evaluation monad. The state argument is the environment to store -- variables as we evaluate.-type M = StateT (SFunArray String String) (WriterT [SString] Symbolic)+type M = StateT (SArray String String) (WriterT [SString] Symbolic)  -- | Given an expression, symbolically evaluate it eval :: SQLExpr -> M SString@@ -69,7 +69,7 @@ nameRe :: R.RegExp nameRe = R.Loop 1 7 (R.Range 'a' 'z') --- | Strings: Again, at most of lenght 5, surrounded by quotes.+-- | Strings: Again, at most of length 5, surrounded by quotes. strRe :: R.RegExp strRe = "'" * R.Loop 1 5 (R.Range 'a' 'z' + " ") * "'" @@ -137,7 +137,7 @@      -- Create an initial environment that returns the symbolic     -- value my_topicid only, and unspecified for all other variables-    emptyEnv :: SFunArray String String <- newArray "emptyEnv" Nothing+    emptyEnv :: SArray String String <- newArray "emptyEnv" Nothing      let env = writeArray emptyEnv "my_topicid" badTopic 
Documentation/SBV/Examples/Uninterpreted/AUF.hs view
@@ -62,14 +62,3 @@                 y <- free "y"                 a :: SArray Word32 Word32 <- newArray_ Nothing                 return $ thm x y a---- | Prove it using SBV's internal functional arrays.------ >>> proveSFunArray--- Q.E.D.-proveSFunArray :: IO ThmResult-proveSFunArray = prove $ do-                x <- free "x"-                y <- free "y"-                a :: SFunArray Word32 Word32 <- newArray_ Nothing-                return $ thm x y a
SBVBenchSuite/BenchSuite/Bench/Bench.hs view
@@ -75,7 +75,7 @@                        , problem     :: Problem                        } --- | GADT to allow arbritrary nesting of runners. This copies criterion's design+-- | GADT to allow arbitrary nesting of runners. This copies criterion's design -- so that we don't have to separate out runners that run a single benchmark -- from runners that need to run several benchmarks data Runner where
SBVBenchSuite/BenchSuite/Uninterpreted/AUF.hs view
@@ -23,13 +23,8 @@ benchmarks :: Runner benchmarks = rGroup   [ run "SArray" array `using` runner proveWith-  , run "SFunArray" funArray `using` runner proveWith   ]   where array = do x <- free "x"                    y <- free "y"                    a :: SArray Word32 Word32 <- newArray_ Nothing                    return $ thm x y a-        funArray = do x <- free "x"-                      y <- free "y"-                      a :: SFunArray Word32 Word32 <- newArray_ Nothing-                      return $ thm x y a
SBVTestSuite/GoldFiles/allSat6.gold view
@@ -1,8 +1,8 @@ Solution #1:-  x = 0 :: Word8+  x = 1 :: Word8   y = 2 :: Word8 Solution #2:-  x = 1 :: Word8+  x = 0 :: Word8   y = 2 :: Word8 Solution #3:   x = 0 :: Word8
SBVTestSuite/GoldFiles/allSat7.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () Bool (>= s0 s3)) [GOOD] (define-fun s6 () Bool (<= s0 s5)) [GOOD] (define-fun s7 () Bool (and s4 s6))@@ -32,6 +32,12 @@ [GOOD] (define-fun s12 () Bool (<= s2 s5)) [GOOD] (define-fun s13 () Bool (and s11 s12)) [GOOD] (define-fun s14 () Bool (distinct s0 s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s7) [GOOD] (assert s10) [GOOD] (assert s13)
SBVTestSuite/GoldFiles/array_caching_01.gold view
@@ -10,29 +10,49 @@ [GOOD] ; --- tuples --- [GOOD] ; --- sums --- [GOOD] ; --- literal constants ----[GOOD] (define-fun s1 () Int 0)+[GOOD] (define-fun s0 () Int 0) [GOOD] (define-fun s3 () Int 2) [GOOD] (define-fun s4 () Int 1) [GOOD] ; --- skolem constants ----[GOOD] (declare-fun s0 () Int) ; tracks user variable "x"+[GOOD] (declare-fun s1 () Int) ; tracks user variable "x" [GOOD] ; --- constant tables --- [GOOD] ; --- skolemized tables --- [GOOD] ; --- arrays ---+[GOOD] (define-fun array_0 () (Array Int Int) ((as const (Array Int Int)) 0))+[GOOD] (declare-fun array_1 () (Array Int Int))+[GOOD] (define-fun array_1_initializer_0 () Bool (= array_1 (store array_0 s0 s3)))+[GOOD] (declare-fun array_2 () (Array Int Int))+[GOOD] (declare-fun array_3 () (Array Int Int)) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1))-[GOOD] (define-fun s5 () Int (+ s0 s4))-[GOOD] (define-fun s6 () Bool (= s1 s5))-[GOOD] (define-fun s7 () Int (ite s6 s3 s1))-[GOOD] (define-fun s8 () Int (ite s6 s4 s3))+[GOOD] (define-fun s5 () Int (+ s1 s4))+[GOOD] (define-fun s6 () Int (select array_1 s5))+[GOOD] (define-fun s7 () Int (select array_2 s0))+[GOOD] (define-fun s8 () Int (select array_3 s0)) [GOOD] (define-fun s9 () Int (ite s2 s7 s8)) [GOOD] (define-fun s10 () Bool (= s4 s9))+[GOOD] ; --- arrayDelayeds ---+[GOOD] (define-fun array_2_initializer_0 () Bool (= array_2 (store array_1 s0 s6)))+[GOOD] (define-fun array_3_initializer_0 () Bool (= array_3 (store array_1 s5 s4)))+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed+[GOOD] (define-fun array_1_initializer () Bool array_1_initializer_0)+[GOOD] (assert array_1_initializer)+[GOOD] (define-fun array_2_initializer () Bool array_2_initializer_0)+[GOOD] (assert array_2_initializer)+[GOOD] (define-fun array_3_initializer () Bool array_3_initializer_0)+[GOOD] (assert array_3_initializer)+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s10) [SEND] (check-sat) [RECV] sat-[SEND] (get-value (s0))-[RECV] ((s0 (- 1)))+[SEND] (get-value (s1))+[RECV] ((s1 (- 1))) *** Solver   : Z3 *** Exit code: ExitSuccess 
SBVTestSuite/GoldFiles/array_caching_02.gold view
@@ -10,29 +10,49 @@ [GOOD] ; --- tuples --- [GOOD] ; --- sums --- [GOOD] ; --- literal constants ----[GOOD] (define-fun s1 () Int 0)+[GOOD] (define-fun s0 () Int 0) [GOOD] (define-fun s3 () Int 2) [GOOD] (define-fun s4 () Int 1) [GOOD] ; --- skolem constants ----[GOOD] (declare-fun s0 () Int) ; tracks user variable "x"+[GOOD] (declare-fun s1 () Int) ; tracks user variable "x" [GOOD] ; --- constant tables --- [GOOD] ; --- skolemized tables --- [GOOD] ; --- arrays ---+[GOOD] (define-fun array_0 () (Array Int Int) ((as const (Array Int Int)) 0))+[GOOD] (declare-fun array_1 () (Array Int Int))+[GOOD] (define-fun array_1_initializer_0 () Bool (= array_1 (store array_0 s0 s3)))+[GOOD] (declare-fun array_2 () (Array Int Int))+[GOOD] (declare-fun array_3 () (Array Int Int)) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))-[GOOD] (define-fun s5 () Int (+ s0 s4))-[GOOD] (define-fun s6 () Bool (= s1 s5))-[GOOD] (define-fun s7 () Int (ite s6 s4 s3))-[GOOD] (define-fun s8 () Int (ite s6 s3 s1))-[GOOD] (define-fun s9 () Int (ite s2 s7 s8))+[GOOD] (define-fun s5 () Int (+ s1 s4))+[GOOD] (define-fun s6 () Int (select array_2 s0))+[GOOD] (define-fun s7 () Int (select array_1 s5))+[GOOD] (define-fun s8 () Int (select array_3 s0))+[GOOD] (define-fun s9 () Int (ite s2 s6 s8)) [GOOD] (define-fun s10 () Bool (= s4 s9))+[GOOD] ; --- arrayDelayeds ---+[GOOD] (define-fun array_2_initializer_0 () Bool (= array_2 (store array_1 s5 s4)))+[GOOD] (define-fun array_3_initializer_0 () Bool (= array_3 (store array_1 s0 s7)))+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed+[GOOD] (define-fun array_1_initializer () Bool array_1_initializer_0)+[GOOD] (assert array_1_initializer)+[GOOD] (define-fun array_2_initializer () Bool array_2_initializer_0)+[GOOD] (assert array_2_initializer)+[GOOD] (define-fun array_3_initializer () Bool array_3_initializer_0)+[GOOD] (assert array_3_initializer)+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s10) [SEND] (check-sat) [RECV] sat-[SEND] (get-value (s0))-[RECV] ((s0 (- 1)))+[SEND] (get-value (s1))+[RECV] ((s1 (- 1))) *** Solver   : Z3 *** Exit code: ExitSuccess 
− SBVTestSuite/GoldFiles/auf-0.gold
@@ -1,32 +0,0 @@-INPUTS-  s0 :: SWord32, existential, aliasing "x"-  s1 :: SWord32, existential, aliasing "y"-CONSTANTS-  s2 = 2 :: Word32-  s6 = 3 :: Word32-  s13 = 1 :: Word32-TABLES-ARRAYS-UNINTERPRETED CONSTANTS-  [uninterpreted] a_uninitializedRead :: SWord32 -> SWord32-  [uninterpreted] f :: SWord32 -> SWord64-USER GIVEN CODE SEGMENTS-AXIOMS-DEFINE-  s3 :: SWord32 = s0 + s2-  s4 :: SBool = s1 == s3-  s5 :: SBool = ~ s4-  s7 :: SWord32 = s1 - s2-  s8 :: SBool = s0 == s7-  s9 :: SWord32 = [uninterpreted] a_uninitializedRead s7-  s10 :: SWord32 = if s8 then s6 else s9-  s11 :: SWord64 = [uninterpreted] f s10-  s12 :: SWord32 = s1 - s0-  s14 :: SWord32 = s12 + s13-  s15 :: SWord64 = [uninterpreted] f s14-  s16 :: SBool = s11 == s15-  s17 :: SBool = s5 | s16-CONSTRAINTS-ASSERTIONS-OUTPUTS-  s17
SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s13)) [GOOD] (assert (= (table0 #x0002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000d) s32)) [GOOD] (assert (= (table0 #x000e) s33)) [GOOD] (assert (= (table0 #x000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x00000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s13)) [GOOD] (assert (= (table0 #x00000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0000000d) s32)) [GOOD] (assert (= (table0 #x0000000e) s33)) [GOOD] (assert (= (table0 #x0000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0000000000000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s13)) [GOOD] (assert (= (table0 #x0000000000000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000000000000000d) s32)) [GOOD] (assert (= (table0 #x000000000000000e) s33)) [GOOD] (assert (= (table0 #x000000000000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x10 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s13)) [GOOD] (assert (= (table0 #x02) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0d) s32)) [GOOD] (assert (= (table0 #x0e) s33)) [GOOD] (assert (= (table0 #x0f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s15)) [GOOD] (assert (= (table0 #x0002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x001d) s52)) [GOOD] (assert (= (table0 #x001e) s53)) [GOOD] (assert (= (table0 #x001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x00000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s15)) [GOOD] (assert (= (table0 #x00000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x0000001d) s52)) [GOOD] (assert (= (table0 #x0000001e) s53)) [GOOD] (assert (= (table0 #x0000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0000000000000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s15)) [GOOD] (assert (= (table0 #x0000000000000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x000000000000001d) s52)) [GOOD] (assert (= (table0 #x000000000000001e) s53)) [GOOD] (assert (= (table0 #x000000000000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x20 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s15)) [GOOD] (assert (= (table0 #x02) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x1d) s52)) [GOOD] (assert (= (table0 #x1e) s53)) [GOOD] (assert (= (table0 #x1f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s17)) [GOOD] (assert (= (table0 #x0002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x003d) s88)) [GOOD] (assert (= (table0 #x003e) s89)) [GOOD] (assert (= (table0 #x003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x00000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s17)) [GOOD] (assert (= (table0 #x00000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x0000003d) s88)) [GOOD] (assert (= (table0 #x0000003e) s89)) [GOOD] (assert (= (table0 #x0000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0000000000000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s17)) [GOOD] (assert (= (table0 #x0000000000000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x000000000000003d) s88)) [GOOD] (assert (= (table0 #x000000000000003e) s89)) [GOOD] (assert (= (table0 #x000000000000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x40 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s17)) [GOOD] (assert (= (table0 #x02) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x3d) s88)) [GOOD] (assert (= (table0 #x3e) s89)) [GOOD] (assert (= (table0 #x3f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s11)) [GOOD] (assert (= (table0 #x0002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0005) s20)) [GOOD] (assert (= (table0 #x0006) s21)) [GOOD] (assert (= (table0 #x0007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x00000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s11)) [GOOD] (assert (= (table0 #x00000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x00000005) s20)) [GOOD] (assert (= (table0 #x00000006) s21)) [GOOD] (assert (= (table0 #x00000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0000000000000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s11)) [GOOD] (assert (= (table0 #x0000000000000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0000000000000005) s20)) [GOOD] (assert (= (table0 #x0000000000000006) s21)) [GOOD] (assert (= (table0 #x0000000000000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x08 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s11)) [GOOD] (assert (= (table0 #x02) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x05) s20)) [GOOD] (assert (= (table0 #x06) s21)) [GOOD] (assert (= (table0 #x07) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s13)) [GOOD] (assert (= (table0 #x0002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000d) s32)) [GOOD] (assert (= (table0 #x000e) s33)) [GOOD] (assert (= (table0 #x000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x00000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s13)) [GOOD] (assert (= (table0 #x00000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0000000d) s32)) [GOOD] (assert (= (table0 #x0000000e) s33)) [GOOD] (assert (= (table0 #x0000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0000000000000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s13)) [GOOD] (assert (= (table0 #x0000000000000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000000000000000d) s32)) [GOOD] (assert (= (table0 #x000000000000000e) s33)) [GOOD] (assert (= (table0 #x000000000000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_left 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x10 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s13)) [GOOD] (assert (= (table0 #x02) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0d) s32)) [GOOD] (assert (= (table0 #x0e) s33)) [GOOD] (assert (= (table0 #x0f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s15)) [GOOD] (assert (= (table0 #x0002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x001d) s52)) [GOOD] (assert (= (table0 #x001e) s53)) [GOOD] (assert (= (table0 #x001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x00000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s15)) [GOOD] (assert (= (table0 #x00000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x0000001d) s52)) [GOOD] (assert (= (table0 #x0000001e) s53)) [GOOD] (assert (= (table0 #x0000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0000000000000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s15)) [GOOD] (assert (= (table0 #x0000000000000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x000000000000001d) s52)) [GOOD] (assert (= (table0 #x000000000000001e) s53)) [GOOD] (assert (= (table0 #x000000000000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_left 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x20 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s15)) [GOOD] (assert (= (table0 #x02) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x1d) s52)) [GOOD] (assert (= (table0 #x1e) s53)) [GOOD] (assert (= (table0 #x1f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s17)) [GOOD] (assert (= (table0 #x0002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x003d) s88)) [GOOD] (assert (= (table0 #x003e) s89)) [GOOD] (assert (= (table0 #x003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x00000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s17)) [GOOD] (assert (= (table0 #x00000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x0000003d) s88)) [GOOD] (assert (= (table0 #x0000003e) s89)) [GOOD] (assert (= (table0 #x0000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0000000000000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s17)) [GOOD] (assert (= (table0 #x0000000000000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x000000000000003d) s88)) [GOOD] (assert (= (table0 #x000000000000003e) s89)) [GOOD] (assert (= (table0 #x000000000000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_left 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x40 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s17)) [GOOD] (assert (= (table0 #x02) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x3d) s88)) [GOOD] (assert (= (table0 #x3e) s89)) [GOOD] (assert (= (table0 #x3f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s11)) [GOOD] (assert (= (table0 #x0002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0005) s20)) [GOOD] (assert (= (table0 #x0006) s21)) [GOOD] (assert (= (table0 #x0007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x00000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s11)) [GOOD] (assert (= (table0 #x00000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x00000005) s20)) [GOOD] (assert (= (table0 #x00000006) s21)) [GOOD] (assert (= (table0 #x00000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0000000000000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s11)) [GOOD] (assert (= (table0 #x0000000000000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0000000000000005) s20)) [GOOD] (assert (= (table0 #x0000000000000006) s21)) [GOOD] (assert (= (table0 #x0000000000000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_left 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x08 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s11)) [GOOD] (assert (= (table0 #x02) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x05) s20)) [GOOD] (assert (= (table0 #x06) s21)) [GOOD] (assert (= (table0 #x07) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s13)) [GOOD] (assert (= (table0 #x0002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000d) s32)) [GOOD] (assert (= (table0 #x000e) s33)) [GOOD] (assert (= (table0 #x000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x00000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s13)) [GOOD] (assert (= (table0 #x00000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0000000d) s32)) [GOOD] (assert (= (table0 #x0000000e) s33)) [GOOD] (assert (= (table0 #x0000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0000000000000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s13)) [GOOD] (assert (= (table0 #x0000000000000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000000000000000d) s32)) [GOOD] (assert (= (table0 #x000000000000000e) s33)) [GOOD] (assert (= (table0 #x000000000000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x10 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s13)) [GOOD] (assert (= (table0 #x02) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0d) s32)) [GOOD] (assert (= (table0 #x0e) s33)) [GOOD] (assert (= (table0 #x0f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s15)) [GOOD] (assert (= (table0 #x0002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x001d) s52)) [GOOD] (assert (= (table0 #x001e) s53)) [GOOD] (assert (= (table0 #x001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x00000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s15)) [GOOD] (assert (= (table0 #x00000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x0000001d) s52)) [GOOD] (assert (= (table0 #x0000001e) s53)) [GOOD] (assert (= (table0 #x0000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0000000000000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s15)) [GOOD] (assert (= (table0 #x0000000000000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x000000000000001d) s52)) [GOOD] (assert (= (table0 #x000000000000001e) s53)) [GOOD] (assert (= (table0 #x000000000000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x20 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s15)) [GOOD] (assert (= (table0 #x02) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x1d) s52)) [GOOD] (assert (= (table0 #x1e) s53)) [GOOD] (assert (= (table0 #x1f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s17)) [GOOD] (assert (= (table0 #x0002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x003d) s88)) [GOOD] (assert (= (table0 #x003e) s89)) [GOOD] (assert (= (table0 #x003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x00000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s17)) [GOOD] (assert (= (table0 #x00000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x0000003d) s88)) [GOOD] (assert (= (table0 #x0000003e) s89)) [GOOD] (assert (= (table0 #x0000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0000000000000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s17)) [GOOD] (assert (= (table0 #x0000000000000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x000000000000003d) s88)) [GOOD] (assert (= (table0 #x000000000000003e) s89)) [GOOD] (assert (= (table0 #x000000000000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x40 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s17)) [GOOD] (assert (= (table0 #x02) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x3d) s88)) [GOOD] (assert (= (table0 #x3e) s89)) [GOOD] (assert (= (table0 #x3f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s11)) [GOOD] (assert (= (table0 #x0002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0005) s20)) [GOOD] (assert (= (table0 #x0006) s21)) [GOOD] (assert (= (table0 #x0007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x00000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s11)) [GOOD] (assert (= (table0 #x00000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x00000005) s20)) [GOOD] (assert (= (table0 #x00000006) s21)) [GOOD] (assert (= (table0 #x00000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0000000000000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s11)) [GOOD] (assert (= (table0 #x0000000000000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0000000000000005) s20)) [GOOD] (assert (= (table0 #x0000000000000006) s21)) [GOOD] (assert (= (table0 #x0000000000000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x08 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s11)) [GOOD] (assert (= (table0 #x02) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x05) s20)) [GOOD] (assert (= (table0 #x06) s21)) [GOOD] (assert (= (table0 #x07) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s13)) [GOOD] (assert (= (table0 #x0002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000d) s32)) [GOOD] (assert (= (table0 #x000e) s33)) [GOOD] (assert (= (table0 #x000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x00000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s13)) [GOOD] (assert (= (table0 #x00000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0000000d) s32)) [GOOD] (assert (= (table0 #x0000000e) s33)) [GOOD] (assert (= (table0 #x0000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x0000000000000010 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s13)) [GOOD] (assert (= (table0 #x0000000000000002) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x000000000000000d) s32)) [GOOD] (assert (= (table0 #x000000000000000e) s33)) [GOOD] (assert (= (table0 #x000000000000000f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 3 3) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -55,6 +55,11 @@ [GOOD] (define-fun s34 () (_ BitVec 16) ((_ rotate_right 15) s0)) [GOOD] (define-fun s36 () (_ BitVec 16) (ite (bvule #x10 s3) s35 (table0 s3))) [GOOD] (define-fun s37 () Bool (= s20 s36))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s13)) [GOOD] (assert (= (table0 #x02) s21))@@ -71,6 +76,7 @@ [GOOD] (assert (= (table0 #x0d) s32)) [GOOD] (assert (= (table0 #x0e) s33)) [GOOD] (assert (= (table0 #x0f) s34))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s37)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s15)) [GOOD] (assert (= (table0 #x0002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x001d) s52)) [GOOD] (assert (= (table0 #x001e) s53)) [GOOD] (assert (= (table0 #x001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x00000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s15)) [GOOD] (assert (= (table0 #x00000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x0000001d) s52)) [GOOD] (assert (= (table0 #x0000001e) s53)) [GOOD] (assert (= (table0 #x0000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x0000000000000020 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s15)) [GOOD] (assert (= (table0 #x0000000000000002) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x000000000000001d) s52)) [GOOD] (assert (= (table0 #x000000000000001e) s53)) [GOOD] (assert (= (table0 #x000000000000001f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 4 4) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -75,6 +75,11 @@ [GOOD] (define-fun s54 () (_ BitVec 32) ((_ rotate_right 31) s0)) [GOOD] (define-fun s56 () (_ BitVec 32) (ite (bvule #x20 s3) s55 (table0 s3))) [GOOD] (define-fun s57 () Bool (= s24 s56))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s15)) [GOOD] (assert (= (table0 #x02) s25))@@ -107,6 +112,7 @@ [GOOD] (assert (= (table0 #x1d) s52)) [GOOD] (assert (= (table0 #x1e) s53)) [GOOD] (assert (= (table0 #x1f) s54))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s57)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s17)) [GOOD] (assert (= (table0 #x0002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x003d) s88)) [GOOD] (assert (= (table0 #x003e) s89)) [GOOD] (assert (= (table0 #x003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x00000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s17)) [GOOD] (assert (= (table0 #x00000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x0000003d) s88)) [GOOD] (assert (= (table0 #x0000003e) s89)) [GOOD] (assert (= (table0 #x0000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x0000000000000040 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s17)) [GOOD] (assert (= (table0 #x0000000000000002) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x000000000000003d) s88)) [GOOD] (assert (= (table0 #x000000000000003e) s89)) [GOOD] (assert (= (table0 #x000000000000003f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 5 5) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -111,6 +111,11 @@ [GOOD] (define-fun s90 () (_ BitVec 64) ((_ rotate_right 63) s0)) [GOOD] (define-fun s92 () (_ BitVec 64) (ite (bvule #x40 s3) s91 (table0 s3))) [GOOD] (define-fun s93 () Bool (= s28 s92))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s17)) [GOOD] (assert (= (table0 #x02) s29))@@ -175,6 +180,7 @@ [GOOD] (assert (= (table0 #x3d) s88)) [GOOD] (assert (= (table0 #x3e) s89)) [GOOD] (assert (= (table0 #x3f) s90))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s93)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word16.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 16) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000) s0)) [GOOD] (assert (= (table0 #x0001) s11)) [GOOD] (assert (= (table0 #x0002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0005) s20)) [GOOD] (assert (= (table0 #x0006) s21)) [GOOD] (assert (= (table0 #x0007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word32.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 32) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x00000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00000000) s0)) [GOOD] (assert (= (table0 #x00000001) s11)) [GOOD] (assert (= (table0 #x00000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x00000005) s20)) [GOOD] (assert (= (table0 #x00000006) s21)) [GOOD] (assert (= (table0 #x00000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word64.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 64) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x0000000000000008 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x0000000000000000) s0)) [GOOD] (assert (= (table0 #x0000000000000001) s11)) [GOOD] (assert (= (table0 #x0000000000000002) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x0000000000000005) s20)) [GOOD] (assert (= (table0 #x0000000000000006) s21)) [GOOD] (assert (= (table0 #x0000000000000007) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word8.gold view
@@ -21,7 +21,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvurem s1 s2)) [GOOD] (define-fun s4 () (_ BitVec 1) ((_ extract 2 2) s3)) [GOOD] (define-fun s6 () Bool (distinct s4 s5))@@ -43,6 +43,11 @@ [GOOD] (define-fun s22 () (_ BitVec 8) ((_ rotate_right 7) s0)) [GOOD] (define-fun s24 () (_ BitVec 8) (ite (bvule #x08 s3) s23 (table0 s3))) [GOOD] (define-fun s25 () Bool (= s16 s24))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities --- [GOOD] (assert (= (table0 #x00) s0)) [GOOD] (assert (= (table0 #x01) s11)) [GOOD] (assert (= (table0 #x02) s17))@@ -51,6 +56,7 @@ [GOOD] (assert (= (table0 #x05) s20)) [GOOD] (assert (= (table0 #x06) s21)) [GOOD] (assert (= (table0 #x07) s22))+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s25)) [SEND] (check-sat) [RECV] unsat
− SBVTestSuite/GoldFiles/boxed1.gold
@@ -1,20 +0,0 @@-Objective "min_x": Optimal in an extension field:-  min_x        =           0.0 :: Real-  max_x_plus_y =          13.0 :: Real-  min_y        = 2.0 * epsilon :: Real-  max_y        =           4.0 :: Real-Objective "max_x_plus_y": Optimal in an extension field:-  min_x        =           0.0 :: Real-  max_x_plus_y =          13.0 :: Real-  min_y        = 2.0 * epsilon :: Real-  max_y        =           4.0 :: Real-Objective "min_y": Optimal in an extension field:-  min_x        =           0.0 :: Real-  max_x_plus_y =          13.0 :: Real-  min_y        = 2.0 * epsilon :: Real-  max_y        =           4.0 :: Real-Objective "max_y": Optimal in an extension field:-  min_x        =           0.0 :: Real-  max_x_plus_y =          13.0 :: Real-  min_y        = 2.0 * epsilon :: Real-  max_y        =           4.0 :: Real
SBVTestSuite/GoldFiles/charConstr00.gold view
@@ -19,8 +19,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr01.gold view
@@ -23,9 +23,15 @@                             (= 1 (str.len result))                        ))) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () String (cf s0)) [GOOD] (define-fun s3 () Bool (distinct s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr02.gold view
@@ -33,9 +33,15 @@                             )                        ))) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () (SBVTuple3 String String String) (cf3 s0)) [GOOD] (define-fun s3 () Bool (distinct s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr03.gold view
@@ -27,8 +27,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr04.gold view
@@ -25,8 +25,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr05.gold view
@@ -25,8 +25,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr06.gold view
@@ -27,8 +27,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr07.gold view
@@ -25,11 +25,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe String))) s0)) [GOOD] (define-fun s2 () Bool (ite s1 false true)) [GOOD] (define-fun s4 () Bool (distinct s0 s3)) [GOOD] (define-fun s5 () Bool (and s2 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr08.gold view
@@ -23,28 +23,22 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (select s0 s1)) [GOOD] (define-fun s4 () Bool (select s0 s3)) [GOOD] (define-fun s5 () Bool (not s4)) [GOOD] (define-fun s6 () Bool (and s2 s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s6) [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))-[RECV] ((s0 (store (store (store (store (store (store ((as const (Array String Bool)) true)-                                                 "EF"-                                                 false)-                                          "CD"-                                          false)-                                   "GH"-                                   false)-                            "B"-                            false)-                     ""-                     false)-              "A"-              true)))+[RECV] ((s0 (store (store ((as const (Array String Bool)) true) "B" false) "A" true)))  MODEL: SMTModel {modelObjectives = [], modelBindings = Nothing, modelAssocs = [("x",U - {'B'} :: {Char})], modelUIFuns = []} DONE.*** Solver   : Z3
SBVTestSuite/GoldFiles/charConstr09.gold view
@@ -25,9 +25,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/charConstr10.gold view
@@ -27,13 +27,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s5 () (SBVTuple2 (SBVTuple2 String String) (Seq Int)) (seq.nth s0 s4)) [GOOD] (define-fun s6 () (SBVTuple2 String String) (proj_1_SBVTuple2 s5)) [GOOD] (define-fun s7 () String (proj_1_SBVTuple2 s6)) [GOOD] (define-fun s9 () Bool (= s7 s8))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s9) [SEND] (check-sat)
SBVTestSuite/GoldFiles/charConstr11.gold view
@@ -31,10 +31,16 @@                             (forall ((seq0 Int)) (=> (and (>= seq0 0) (< seq0 (seq.len result))) (and (= 1 (str.len (proj_1_SBVTuple2 (proj_1_SBVTuple2 (seq.nth result seq0))))) (= 1 (str.len (proj_2_SBVTuple2 (proj_1_SBVTuple2 (seq.nth result seq0))))))))                        ))) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (Seq (SBVTuple2 (SBVTuple2 String String) (Seq Int))) (cf4 s0 s1)) [GOOD] (define-fun s3 () Int (seq.len s2)) [GOOD] (define-fun s5 () Bool (= s3 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/concreteFoldl.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/concreteFoldr.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/concreteReverse.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/concreteSort.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/constArr2_SArray.gold view
@@ -34,7 +34,7 @@ [GOOD] (define-fun array_4_initializer_0 () Bool (= array_4 (store array_3 s9 s15))) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1)) [GOOD] (define-fun s4 () Bool (= s0 s3)) [GOOD] (define-fun s6 () Bool (= s0 s5))@@ -46,7 +46,9 @@ [GOOD] (define-fun s17 () Int (select array_4 s0)) [GOOD] (define-fun s18 () Int (select array_4 s1)) [GOOD] (define-fun s19 () Bool (= s17 s18))-[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] (define-fun array_1_initializer () Bool array_1_initializer_0) [GOOD] (assert array_1_initializer) [GOOD] (define-fun array_2_initializer () Bool array_2_initializer_0)@@ -55,6 +57,10 @@ [GOOD] (assert array_3_initializer) [GOOD] (define-fun array_4_initializer () Bool array_4_initializer_0) [GOOD] (assert array_4_initializer)+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s13) [GOOD] (assert s19)
− SBVTestSuite/GoldFiles/constArr2_SFunArray.gold
@@ -1,67 +0,0 @@-** Calling: z3 -nw -in -smt2-[GOOD] ; Automatically generated by SBV. Do not edit.-[GOOD] (set-option :print-success true)-[GOOD] (set-option :global-declarations true)-[GOOD] (set-option :smtlib2_compliant true)-[GOOD] (set-option :diagnostic-output-channel "stdout")-[GOOD] (set-option :produce-models true)-[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.-[GOOD] ; --- uninterpreted sorts ----[GOOD] ; --- tuples ----[GOOD] ; --- sums ----[GOOD] ; --- literal constants ----[GOOD] (define-fun s3 () Int 1)-[GOOD] (define-fun s5 () Int 2)-[GOOD] (define-fun s7 () Int 3)-[GOOD] (define-fun s9 () Int 75)-[GOOD] (define-fun s14 () Int 12)-[GOOD] (define-fun s15 () Int 5)-[GOOD] (define-fun s16 () Int 6)-[GOOD] ; --- skolem constants ----[GOOD] (declare-fun s0 () Int) ; tracks user variable "i"-[GOOD] (declare-fun s1 () Int) ; tracks user variable "j"-[GOOD] ; --- constant tables ----[GOOD] ; --- skolemized tables ----[GOOD] ; --- arrays ----[GOOD] ; --- uninterpreted constants ----[GOOD] ; --- user given axioms ----[GOOD] ; --- formula ----[GOOD] (define-fun s2 () Bool (distinct s0 s1))-[GOOD] (define-fun s4 () Bool (= s0 s3))-[GOOD] (define-fun s6 () Bool (= s0 s5))-[GOOD] (define-fun s8 () Bool (= s0 s7))-[GOOD] (define-fun s10 () Bool (= s0 s9))-[GOOD] (define-fun s11 () Bool (or s8 s10))-[GOOD] (define-fun s12 () Bool (or s6 s11))-[GOOD] (define-fun s13 () Bool (or s4 s12))-[GOOD] (define-fun s17 () Int (ite s10 s15 s5))-[GOOD] (define-fun s18 () Int (ite s8 s16 s17))-[GOOD] (define-fun s19 () Int (ite s6 s15 s18))-[GOOD] (define-fun s20 () Int (ite s4 s14 s19))-[GOOD] (define-fun s21 () Bool (= s0 s1))-[GOOD] (define-fun s22 () Bool (= s1 s3))-[GOOD] (define-fun s23 () Bool (= s1 s5))-[GOOD] (define-fun s24 () Bool (= s1 s7))-[GOOD] (define-fun s25 () Bool (= s1 s9))-[GOOD] (define-fun s26 () Int (ite s25 s15 s5))-[GOOD] (define-fun s27 () Int (ite s24 s16 s26))-[GOOD] (define-fun s28 () Int (ite s23 s15 s27))-[GOOD] (define-fun s29 () Int (ite s22 s14 s28))-[GOOD] (define-fun s30 () Int (ite s21 s20 s29))-[GOOD] (define-fun s31 () Bool (= s20 s30))-[GOOD] (assert s2)-[GOOD] (assert s13)-[GOOD] (assert s31)-[SEND] (check-sat)-[RECV] sat-[SEND] (get-value (s0))-[RECV] ((s0 2))-[SEND] (get-value (s1))-[RECV] ((s1 75))-*** Solver   : Z3-*** Exit code: ExitSuccess--FINAL OUTPUT:-Satisfiable. Model:-  i =  2 :: Integer-  j = 75 :: Integer
SBVTestSuite/GoldFiles/constArr_SArray.gold view
@@ -35,7 +35,7 @@ [GOOD] (define-fun array_4_initializer_0 () Bool (= array_4 (store array_3 s9 s16))) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1)) [GOOD] (define-fun s4 () Bool (= s0 s3)) [GOOD] (define-fun s6 () Bool (= s0 s5))@@ -47,7 +47,9 @@ [GOOD] (define-fun s18 () Int (select array_4 s0)) [GOOD] (define-fun s19 () Int (select array_4 s1)) [GOOD] (define-fun s20 () Bool (= s18 s19))-[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] (define-fun array_1_initializer () Bool array_1_initializer_0) [GOOD] (assert array_1_initializer) [GOOD] (define-fun array_2_initializer () Bool array_2_initializer_0)@@ -56,6 +58,10 @@ [GOOD] (assert array_3_initializer) [GOOD] (define-fun array_4_initializer () Bool array_4_initializer_0) [GOOD] (assert array_4_initializer)+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s13) [GOOD] (assert s20)
− SBVTestSuite/GoldFiles/constArr_SFunArray.gold
@@ -1,68 +0,0 @@-** Calling: z3 -nw -in -smt2-[GOOD] ; Automatically generated by SBV. Do not edit.-[GOOD] (set-option :print-success true)-[GOOD] (set-option :global-declarations true)-[GOOD] (set-option :smtlib2_compliant true)-[GOOD] (set-option :diagnostic-output-channel "stdout")-[GOOD] (set-option :produce-models true)-[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.-[GOOD] ; --- uninterpreted sorts ----[GOOD] ; --- tuples ----[GOOD] ; --- sums ----[GOOD] ; --- literal constants ----[GOOD] (define-fun s3 () Int 1)-[GOOD] (define-fun s5 () Int 2)-[GOOD] (define-fun s7 () Int 3)-[GOOD] (define-fun s9 () Int 75)-[GOOD] (define-fun s14 () Int 12)-[GOOD] (define-fun s15 () Int 5)-[GOOD] (define-fun s16 () Int 6)-[GOOD] (define-fun s17 () Int 7)-[GOOD] ; --- skolem constants ----[GOOD] (declare-fun s0 () Int) ; tracks user variable "i"-[GOOD] (declare-fun s1 () Int) ; tracks user variable "j"-[GOOD] ; --- constant tables ----[GOOD] ; --- skolemized tables ----[GOOD] ; --- arrays ----[GOOD] ; --- uninterpreted constants ----[GOOD] ; --- user given axioms ----[GOOD] ; --- formula ----[GOOD] (define-fun s2 () Bool (distinct s0 s1))-[GOOD] (define-fun s4 () Bool (= s0 s3))-[GOOD] (define-fun s6 () Bool (= s0 s5))-[GOOD] (define-fun s8 () Bool (= s0 s7))-[GOOD] (define-fun s10 () Bool (= s0 s9))-[GOOD] (define-fun s11 () Bool (or s8 s10))-[GOOD] (define-fun s12 () Bool (or s6 s11))-[GOOD] (define-fun s13 () Bool (or s4 s12))-[GOOD] (define-fun s18 () Int (ite s10 s15 s17))-[GOOD] (define-fun s19 () Int (ite s8 s16 s18))-[GOOD] (define-fun s20 () Int (ite s6 s15 s19))-[GOOD] (define-fun s21 () Int (ite s4 s14 s20))-[GOOD] (define-fun s22 () Bool (= s0 s1))-[GOOD] (define-fun s23 () Bool (= s1 s3))-[GOOD] (define-fun s24 () Bool (= s1 s5))-[GOOD] (define-fun s25 () Bool (= s1 s7))-[GOOD] (define-fun s26 () Bool (= s1 s9))-[GOOD] (define-fun s27 () Int (ite s26 s15 s17))-[GOOD] (define-fun s28 () Int (ite s25 s16 s27))-[GOOD] (define-fun s29 () Int (ite s24 s15 s28))-[GOOD] (define-fun s30 () Int (ite s23 s14 s29))-[GOOD] (define-fun s31 () Int (ite s22 s21 s30))-[GOOD] (define-fun s32 () Bool (= s21 s31))-[GOOD] (assert s2)-[GOOD] (assert s13)-[GOOD] (assert s32)-[SEND] (check-sat)-[RECV] sat-[SEND] (get-value (s0))-[RECV] ((s0 75))-[SEND] (get-value (s1))-[RECV] ((s1 2))-*** Solver   : Z3-*** Exit code: ExitSuccess--FINAL OUTPUT:-Satisfiable. Model:-  i = 75 :: Integer-  j =  2 :: Integer
SBVTestSuite/GoldFiles/dsat01.gold view
@@ -21,9 +21,15 @@ [ISSUE] ; --- arrays --- [ISSUE] ; --- uninterpreted constants --- [ISSUE] ; --- user given axioms ----[ISSUE] ; --- formula ---+[ISSUE] ; --- preQuantifier assignments --- [ISSUE] (define-fun s4 () Bool (> s0 s3)) [ISSUE] (define-fun s6 () Bool (<= s0 s5))+[ISSUE] ; --- arrayDelayeds ---+[ISSUE] ; --- arraySetups ---+[ISSUE] ; --- formula ---+[ISSUE] ; --- postQuantifier assignments ---+[ISSUE] ; --- delayedEqualities ---+[ISSUE] ; -- finalAssert --- [ISSUE] (assert s4) [ISSUE] (assert s6) [FIRE] (declare-fun s7 () Real)
SBVTestSuite/GoldFiles/exceptionLocal1.gold view
@@ -17,7 +17,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () (_ BitVec 1) ((_ extract 0 0) s0)) [GOOD] (define-fun s3 () Bool (distinct s1 s2)) [GOOD] (define-fun s4 () Bool (not s3))
SBVTestSuite/GoldFiles/foldlABC1.gold view
@@ -23,7 +23,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () Bool (> s0 s3)) [GOOD] (define-fun s5 () Bool (> s1 s3)) [GOOD] (define-fun s6 () Bool (> s2 s3))@@ -39,6 +39,12 @@ [GOOD] (define-fun s16 () Int (+ s0 s1)) [GOOD] (define-fun s17 () Int (+ s2 s16)) [GOOD] (define-fun s18 () Bool (= s15 s17))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s5) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/foldlABC2.gold view
@@ -24,7 +24,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () Bool (> s0 s3)) [GOOD] (define-fun s5 () Bool (> s1 s3)) [GOOD] (define-fun s6 () Bool (> s2 s3))@@ -47,6 +47,12 @@ [GOOD] (define-fun s24 () Int (+ s0 s1)) [GOOD] (define-fun s25 () Int (+ s2 s24)) [GOOD] (define-fun s26 () Bool (= s23 s25))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s5) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/foldlABC3.gold view
@@ -24,7 +24,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () Bool (> s0 s3)) [GOOD] (define-fun s5 () Bool (> s1 s3)) [GOOD] (define-fun s6 () Bool (> s2 s3))@@ -54,6 +54,12 @@ [GOOD] (define-fun s31 () Int (+ s0 s1)) [GOOD] (define-fun s32 () Int (+ s2 s31)) [GOOD] (define-fun s33 () Bool (= s30 s32))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s5) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/foldrAB1.gold view
@@ -22,7 +22,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (> s0 s2)) [GOOD] (define-fun s4 () Bool (> s1 s2)) [GOOD] (define-fun s5 () (Seq Int) (seq.unit s0))@@ -34,6 +34,12 @@ [GOOD] (define-fun s11 () Int (ite s9 s2 s10)) [GOOD] (define-fun s12 () Int (+ s0 s1)) [GOOD] (define-fun s13 () Bool (= s11 s12))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s13)
SBVTestSuite/GoldFiles/foldrAB2.gold view
@@ -23,7 +23,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (> s0 s2)) [GOOD] (define-fun s4 () Bool (> s1 s2)) [GOOD] (define-fun s5 () (Seq Int) (seq.unit s0))@@ -42,6 +42,12 @@ [GOOD] (define-fun s19 () Int (ite s9 s2 s18)) [GOOD] (define-fun s20 () Int (+ s0 s1)) [GOOD] (define-fun s21 () Bool (= s19 s20))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s21)
SBVTestSuite/GoldFiles/foldrAB3.gold view
@@ -23,7 +23,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (> s0 s2)) [GOOD] (define-fun s4 () Bool (> s1 s2)) [GOOD] (define-fun s5 () (Seq Int) (seq.unit s0))@@ -49,6 +49,12 @@ [GOOD] (define-fun s26 () Int (ite s9 s2 s25)) [GOOD] (define-fun s27 () Int (+ s0 s1)) [GOOD] (define-fun s28 () Bool (= s26 s27))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s28)
SBVTestSuite/GoldFiles/freshVars.gold view
@@ -20,8 +20,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (declare-fun s3 () Bool) [GOOD] (declare-fun s4 () (_ BitVec 8))@@ -91,72 +97,58 @@ [GOOD] (define-fun s48 () Bool (fp.isPositive s17)) [GOOD] (assert s48) [GOOD] (declare-fun array_0 () (Array Int Int))-[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] (declare-fun s49 () Int) [GOOD] (declare-fun s50 () Bool) [GOOD] (define-fun s52 () Int 2) [GOOD] (define-fun s51 () Int (select array_0 s49)) [GOOD] (define-fun s53 () Bool (= s51 s52)) [GOOD] (assert s53)-[GOOD] (define-fun s55 () String (_ char #x61))-[GOOD] (declare-fun vFArray_uninitializedRead (Bool) String)-[GOOD] (assert (forall ((a1 Bool))-                       (let ((result (vFArray_uninitializedRead a1)))-                            (= 1 (str.len result))-                       )))-[GOOD] (define-fun s54 () String (vFArray_uninitializedRead s50))-[GOOD] (define-fun s56 () Bool (= s54 s55))-[GOOD] (assert s56)-[GOOD] (define-fun s57 () Int 42)+[GOOD] (define-fun s54 () Int 42) [GOOD] (define-fun array_1 () (Array Int Int) ((as const (Array Int Int)) 42))-[GOOD] (define-fun array_1_initializer () Bool true) ; no initializiation needed-[GOOD] (declare-fun s58 () Int)-[GOOD] (declare-fun s59 () String)-[GOOD] (assert (= 1 (str.len s59)))-[GOOD] (define-fun s60 () Int 96)-[GOOD] (define-fun s61 () Int (select array_1 s60))-[GOOD] (define-fun s62 () Bool (= s58 s61))-[GOOD] (assert s62)-[GOOD] (define-fun s63 () String (_ char #x58))-[GOOD] (define-fun s64 () Bool (= s59 s63))-[GOOD] (assert s64)-[GOOD] (define-fun s65 () Int 1)-[GOOD] (define-fun s66 () Bool (= s49 s65))-[GOOD] (assert s66)-[GOOD] (define-fun s67 () Bool (not s50))-[GOOD] (assert s67)-[GOOD] (declare-fun s68 () String)+[GOOD] (define-fun array_1_initializer () Bool true) ; no initialization needed+[GOOD] (declare-fun s55 () Int)+[GOOD] (define-fun s56 () Int 96)+[GOOD] (define-fun s57 () Int (select array_1 s56))+[GOOD] (define-fun s58 () Bool (= s55 s57))+[GOOD] (assert s58)+[GOOD] (define-fun s59 () Int 1)+[GOOD] (define-fun s60 () Bool (= s49 s59))+[GOOD] (assert s60)+[GOOD] (define-fun s61 () Bool (not s50))+[GOOD] (assert s61)+[GOOD] (declare-fun s62 () String) [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )-[GOOD] (declare-fun s69 () (Seq Int))+[GOOD] (declare-fun s63 () (Seq Int)) [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )-[GOOD] (declare-fun s70 () (Seq (Seq Int)))+[GOOD] (declare-fun s64 () (Seq (Seq Int))) [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )-[GOOD] (declare-fun s71 () (Seq (_ BitVec 8)))+[GOOD] (declare-fun s65 () (Seq (_ BitVec 8))) [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )-[GOOD] (declare-fun s72 () (Seq (Seq (_ BitVec 16))))-[GOOD] (define-fun s73 () String "hello")-[GOOD] (define-fun s74 () Bool (= s68 s73))+[GOOD] (declare-fun s66 () (Seq (Seq (_ BitVec 16))))+[GOOD] (define-fun s67 () String "hello")+[GOOD] (define-fun s68 () Bool (= s62 s67))+[GOOD] (assert s68)+[GOOD] (define-fun s69 () (Seq Int) (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3) (seq.unit 4)))+[GOOD] (define-fun s70 () Bool (= s63 s69))+[GOOD] (assert s70)+[GOOD] (define-fun s71 () (Seq (Seq Int)) (seq.++ (seq.unit (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3))) (seq.unit (seq.++ (seq.unit 4) (seq.unit 5) (seq.unit 6) (seq.unit 7)))))+[GOOD] (define-fun s72 () Bool (= s64 s71))+[GOOD] (assert s72)+[GOOD] (define-fun s73 () (Seq (_ BitVec 8)) (seq.++ (seq.unit #x01) (seq.unit #x02)))+[GOOD] (define-fun s74 () Bool (= s65 s73)) [GOOD] (assert s74)-[GOOD] (define-fun s75 () (Seq Int) (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3) (seq.unit 4)))-[GOOD] (define-fun s76 () Bool (= s69 s75))+[GOOD] (define-fun s75 () (Seq (Seq (_ BitVec 16))) (seq.++ (seq.unit (seq.++ (seq.unit #x0001) (seq.unit #x0002) (seq.unit #x0003))) (seq.unit (as seq.empty (Seq (_ BitVec 16)))) (seq.unit (seq.++ (seq.unit #x0004) (seq.unit #x0005) (seq.unit #x0006)))))+[GOOD] (define-fun s76 () Bool (= s66 s75)) [GOOD] (assert s76)-[GOOD] (define-fun s77 () (Seq (Seq Int)) (seq.++ (seq.unit (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3))) (seq.unit (seq.++ (seq.unit 4) (seq.unit 5) (seq.unit 6) (seq.unit 7)))))-[GOOD] (define-fun s78 () Bool (= s70 s77))-[GOOD] (assert s78)-[GOOD] (define-fun s79 () (Seq (_ BitVec 8)) (seq.++ (seq.unit #x01) (seq.unit #x02)))-[GOOD] (define-fun s80 () Bool (= s71 s79))-[GOOD] (assert s80)-[GOOD] (define-fun s81 () (Seq (Seq (_ BitVec 16))) (seq.++ (seq.unit (seq.++ (seq.unit #x0001) (seq.unit #x0002) (seq.unit #x0003))) (seq.unit (as seq.empty (Seq (_ BitVec 16)))) (seq.unit (seq.++ (seq.unit #x0004) (seq.unit #x0005) (seq.unit #x0006)))))-[GOOD] (define-fun s82 () Bool (= s72 s81))-[GOOD] (assert s82) [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))@@ -198,21 +190,19 @@ [RECV] ((s49 1)) [SEND] (get-value (s50)) [RECV] ((s50 false))-[SEND] (get-value (s58))-[RECV] ((s58 42))-[SEND] (get-value (s59))-[RECV] ((s59 "X"))-[SEND] (get-value (s68))-[RECV] ((s68 "hello"))-[SEND] (get-value (s69))-[RECV] ((s69 (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3) (seq.unit 4))))-[SEND] (get-value (s70))-[RECV] ((s70 (seq.++ (seq.unit (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3)))+[SEND] (get-value (s55))+[RECV] ((s55 42))+[SEND] (get-value (s62))+[RECV] ((s62 "hello"))+[SEND] (get-value (s63))+[RECV] ((s63 (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3) (seq.unit 4))))+[SEND] (get-value (s64))+[RECV] ((s64 (seq.++ (seq.unit (seq.++ (seq.unit 1) (seq.unit 2) (seq.unit 3)))                (seq.unit (seq.++ (seq.unit 4) (seq.unit 5) (seq.unit 6) (seq.unit 7))))))-[SEND] (get-value (s71))-[RECV] ((s71 (seq.++ (seq.unit #x01) (seq.unit #x02))))-[SEND] (get-value (s72))-[RECV] ((s72 (seq.++ (seq.unit (seq.++ (seq.unit #x0001) (seq.unit #x0002) (seq.unit #x0003)))+[SEND] (get-value (s65))+[RECV] ((s65 (seq.++ (seq.unit #x01) (seq.unit #x02))))+[SEND] (get-value (s66))+[RECV] ((s66 (seq.++ (seq.unit (seq.++ (seq.unit #x0001) (seq.unit #x0002) (seq.unit #x0003)))                (seq.unit (as seq.empty (Seq (_ BitVec 16))))                (seq.unit (seq.++ (seq.unit #x0004) (seq.unit #x0005) (seq.unit #x0006)))))) [SEND] (get-value (s17))@@ -241,7 +231,6 @@   i1       =                    1 :: Integer   i2       =                False :: Bool   mustBe42 =                   42 :: Integer-  mustBeX  =                  'X' :: Char   vString  =              "hello" :: String   vList1   =            [1,2,3,4] :: [Integer]   vList2   =  [[1,2,3],[4,5,6,7]] :: [[Integer]]
SBVTestSuite/GoldFiles/genBenchMark1.gold view
@@ -14,8 +14,14 @@ ; --- arrays --- ; --- uninterpreted constants --- ; --- user given axioms ----; --- formula ---+; --- preQuantifier assignments --- (define-fun s2 () (_ BitVec 8) (bvadd s0 s1)) (define-fun s3 () Bool (= s0 s2))+; --- arrayDelayeds ---+; --- arraySetups ---+; --- formula ---+; --- postQuantifier assignments ---+; --- delayedEqualities ---+; -- finalAssert --- (assert (not s3)) (check-sat)
SBVTestSuite/GoldFiles/genBenchMark2.gold view
@@ -14,8 +14,14 @@ ; --- arrays --- ; --- uninterpreted constants --- ; --- user given axioms ----; --- formula ---+; --- preQuantifier assignments --- (define-fun s2 () (_ BitVec 8) (bvadd s0 s1)) (define-fun s3 () Bool (= s0 s2))+; --- arrayDelayeds ---+; --- arraySetups ---+; --- formula ---+; --- postQuantifier assignments ---+; --- delayedEqualities ---+; -- finalAssert --- (assert s3) (check-sat)
SBVTestSuite/GoldFiles/mapNoFailure.gold view
@@ -26,7 +26,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Int (+ s0 s1)) [GOOD] (define-fun s4 () Int (+ s2 s3)) [GOOD] (define-fun s6 () Bool (= s4 s5))@@ -147,6 +147,12 @@ [GOOD] (define-fun s124 () Bool (or s119 s123)) [GOOD] (define-fun s125 () Bool (not s19)) [GOOD] (define-fun s126 () Bool (and s124 s125))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s6) [GOOD] (assert s12) [GOOD] (assert s126)
SBVTestSuite/GoldFiles/mapWithFailure.gold view
@@ -26,7 +26,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s5 () Int (seq.nth s0 s2))@@ -177,6 +177,12 @@ [GOOD] (define-fun s154 () Bool (not s3)) [GOOD] (define-fun s155 () Bool (and s153 s154)) [GOOD] (define-fun s156 () Bool (or s95 s155))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s156) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/maxlWithFailure.gold view
@@ -23,7 +23,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s5 () Int (- s1 s4))@@ -155,6 +155,12 @@ [GOOD] (define-fun s132 () Bool (not s3)) [GOOD] (define-fun s133 () Bool (and s131 s132)) [GOOD] (define-fun s134 () Bool (or s83 s133))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s134) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/maxrWithFailure.gold view
@@ -23,7 +23,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s4 () Int (seq.nth s0 s2))@@ -164,6 +164,12 @@ [GOOD] (define-fun s141 () Bool (not s3)) [GOOD] (define-fun s142 () Bool (and s140 s141)) [GOOD] (define-fun s143 () Bool (or s83 s142))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s143) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/noOpt1.gold view
@@ -17,7 +17,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert ---   
SBVTestSuite/GoldFiles/noOpt2.gold view
@@ -19,7 +19,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert ---   
SBVTestSuite/GoldFiles/optExtField3.gold view
@@ -1,2 +1,4 @@-Optimal in an extension field:-  x_plus_y = 9.0 + (-3.0 * epsilon) :: Real+Optimal model:+  x        = 4.0 :: Real+  y        = 5.0 :: Real+  x_plus_y = 9.0 :: Real
SBVTestSuite/GoldFiles/pareto1.gold view
@@ -23,158 +23,158 @@   max_x_plus_y = 6 :: Integer   min_y        = 4 :: Integer Pareto front #5: Optimal model:+  x            = 1 :: Integer+  y            = 4 :: Integer+  min_x        = 1 :: Integer+  max_x_plus_y = 5 :: Integer+  min_y        = 4 :: Integer+Pareto front #6: Optimal model:   x            = 3 :: Integer   y            = 4 :: Integer   min_x        = 3 :: Integer   max_x_plus_y = 7 :: Integer   min_y        = 4 :: Integer-Pareto front #6: Optimal model:+Pareto front #7: Optimal model:   x            = 4 :: Integer   y            = 4 :: Integer   min_x        = 4 :: Integer   max_x_plus_y = 8 :: Integer   min_y        = 4 :: Integer-Pareto front #7: Optimal model:+Pareto front #8: Optimal model:   x            = 5 :: Integer   y            = 4 :: Integer   min_x        = 5 :: Integer   max_x_plus_y = 9 :: Integer   min_y        = 4 :: Integer-Pareto front #8: Optimal model:-  x            = 1 :: Integer-  y            = 4 :: Integer-  min_x        = 1 :: Integer-  max_x_plus_y = 5 :: Integer-  min_y        = 4 :: Integer Pareto front #9: Optimal model:   x            = 3 :: Integer-  y            = 2 :: Integer+  y            = 3 :: Integer   min_x        = 3 :: Integer-  max_x_plus_y = 5 :: Integer-  min_y        = 2 :: Integer+  max_x_plus_y = 6 :: Integer+  min_y        = 3 :: Integer Pareto front #10: Optimal model:-  x            = 4 :: Integer+  x            = 2 :: Integer+  y            = 2 :: Integer+  min_x        = 2 :: Integer+  max_x_plus_y = 4 :: Integer+  min_y        = 2 :: Integer+Pareto front #11: Optimal model:+  x            = 0 :: Integer   y            = 1 :: Integer-  min_x        = 4 :: Integer-  max_x_plus_y = 5 :: Integer+  min_x        = 0 :: Integer+  max_x_plus_y = 1 :: Integer   min_y        = 1 :: Integer-Pareto front #11: Optimal model:-  x            = 5 :: Integer+Pareto front #12: Optimal model:+  x            = 0 :: Integer+  y            = 2 :: Integer+  min_x        = 0 :: Integer+  max_x_plus_y = 2 :: Integer+  min_y        = 2 :: Integer+Pareto front #13: Optimal model:+  x            = 0 :: Integer   y            = 0 :: Integer-  min_x        = 5 :: Integer-  max_x_plus_y = 5 :: Integer+  min_x        = 0 :: Integer+  max_x_plus_y = 0 :: Integer   min_y        = 0 :: Integer-Pareto front #12: Optimal model:+Pareto front #14: Optimal model:   x            = 2 :: Integer-  y            = 3 :: Integer+  y            = 1 :: Integer   min_x        = 2 :: Integer+  max_x_plus_y = 3 :: Integer+  min_y        = 1 :: Integer+Pareto front #15: Optimal model:+  x            = 3 :: Integer+  y            = 0 :: Integer+  min_x        = 3 :: Integer+  max_x_plus_y = 3 :: Integer+  min_y        = 0 :: Integer+Pareto front #16: Optimal model:+  x            = 3 :: Integer+  y            = 1 :: Integer+  min_x        = 3 :: Integer+  max_x_plus_y = 4 :: Integer+  min_y        = 1 :: Integer+Pareto front #17: Optimal model:+  x            = 5 :: Integer+  y            = 0 :: Integer+  min_x        = 5 :: Integer   max_x_plus_y = 5 :: Integer-  min_y        = 3 :: Integer-Pareto front #13: Optimal model:+  min_y        = 0 :: Integer+Pareto front #18: Optimal model:   x            = 5 :: Integer   y            = 1 :: Integer   min_x        = 5 :: Integer   max_x_plus_y = 6 :: Integer   min_y        = 1 :: Integer-Pareto front #14: Optimal model:+Pareto front #19: Optimal model:   x            = 4 :: Integer-  y            = 2 :: Integer+  y            = 1 :: Integer   min_x        = 4 :: Integer-  max_x_plus_y = 6 :: Integer+  max_x_plus_y = 5 :: Integer+  min_y        = 1 :: Integer+Pareto front #20: Optimal model:+  x            = 3 :: Integer+  y            = 2 :: Integer+  min_x        = 3 :: Integer+  max_x_plus_y = 5 :: Integer   min_y        = 2 :: Integer-Pareto front #15: Optimal model:-  x            = 4 :: Integer+Pareto front #21: Optimal model:+  x            = 2 :: Integer   y            = 3 :: Integer-  min_x        = 4 :: Integer-  max_x_plus_y = 7 :: Integer+  min_x        = 2 :: Integer+  max_x_plus_y = 5 :: Integer   min_y        = 3 :: Integer-Pareto front #16: Optimal model:+Pareto front #22: Optimal model:+  x            = 4 :: Integer+  y            = 2 :: Integer+  min_x        = 4 :: Integer+  max_x_plus_y = 6 :: Integer+  min_y        = 2 :: Integer+Pareto front #23: Optimal model:   x            = 5 :: Integer   y            = 2 :: Integer   min_x        = 5 :: Integer   max_x_plus_y = 7 :: Integer   min_y        = 2 :: Integer-Pareto front #17: Optimal model:-  x            = 3 :: Integer-  y            = 3 :: Integer-  min_x        = 3 :: Integer-  max_x_plus_y = 6 :: Integer-  min_y        = 3 :: Integer-Pareto front #18: Optimal model:-  x            = 5 :: Integer+Pareto front #24: Optimal model:+  x            = 4 :: Integer   y            = 3 :: Integer-  min_x        = 5 :: Integer-  max_x_plus_y = 8 :: Integer+  min_x        = 4 :: Integer+  max_x_plus_y = 7 :: Integer   min_y        = 3 :: Integer-Pareto front #19: Optimal model:-  x            = 0 :: Integer-  y            = 0 :: Integer-  min_x        = 0 :: Integer-  max_x_plus_y = 0 :: Integer-  min_y        = 0 :: Integer-Pareto front #20: Optimal model:+Pareto front #25: Optimal model:   x            = 1 :: Integer   y            = 0 :: Integer   min_x        = 1 :: Integer   max_x_plus_y = 1 :: Integer   min_y        = 0 :: Integer-Pareto front #21: Optimal model:-  x            = 0 :: Integer-  y            = 1 :: Integer-  min_x        = 0 :: Integer-  max_x_plus_y = 1 :: Integer-  min_y        = 1 :: Integer-Pareto front #22: Optimal model:+Pareto front #26: Optimal model:   x            = 2 :: Integer   y            = 0 :: Integer   min_x        = 2 :: Integer   max_x_plus_y = 2 :: Integer   min_y        = 0 :: Integer-Pareto front #23: Optimal model:-  x            = 3 :: Integer+Pareto front #27: Optimal model:+  x            = 4 :: Integer   y            = 0 :: Integer-  min_x        = 3 :: Integer-  max_x_plus_y = 3 :: Integer-  min_y        = 0 :: Integer-Pareto front #24: Optimal model:-  x            = 2 :: Integer-  y            = 1 :: Integer-  min_x        = 2 :: Integer-  max_x_plus_y = 3 :: Integer-  min_y        = 1 :: Integer-Pareto front #25: Optimal model:-  x            = 3 :: Integer-  y            = 1 :: Integer-  min_x        = 3 :: Integer+  min_x        = 4 :: Integer   max_x_plus_y = 4 :: Integer-  min_y        = 1 :: Integer-Pareto front #26: Optimal model:+  min_y        = 0 :: Integer+Pareto front #28: Optimal model:+  x            = 5 :: Integer+  y            = 3 :: Integer+  min_x        = 5 :: Integer+  max_x_plus_y = 8 :: Integer+  min_y        = 3 :: Integer+Pareto front #29: Optimal model:   x            = 1 :: Integer   y            = 2 :: Integer   min_x        = 1 :: Integer   max_x_plus_y = 3 :: Integer   min_y        = 2 :: Integer-Pareto front #27: Optimal model:+Pareto front #30: Optimal model:   x            = 1 :: Integer   y            = 3 :: Integer   min_x        = 1 :: Integer   max_x_plus_y = 4 :: Integer   min_y        = 3 :: Integer-Pareto front #28: Optimal model:-  x            = 4 :: Integer-  y            = 0 :: Integer-  min_x        = 4 :: Integer-  max_x_plus_y = 4 :: Integer-  min_y        = 0 :: Integer-Pareto front #29: Optimal model:-  x            = 2 :: Integer-  y            = 2 :: Integer-  min_x        = 2 :: Integer-  max_x_plus_y = 4 :: Integer-  min_y        = 2 :: Integer-Pareto front #30: Optimal model:-  x            = 0 :: Integer-  y            = 2 :: Integer-  min_x        = 0 :: Integer-  max_x_plus_y = 2 :: Integer-  min_y        = 2 :: Integer
SBVTestSuite/GoldFiles/pareto2.gold view
@@ -12,16 +12,16 @@   max_x_plus_y = 2 :: Integer Pareto front #3: Optimal model:   x            = 0 :: Integer-  y            = 3 :: Integer-  min_x        = 0 :: Integer-  max_y        = 3 :: Integer-  max_x_plus_y = 3 :: Integer-Pareto front #4: Optimal model:-  x            = 0 :: Integer   y            = 4 :: Integer   min_x        = 0 :: Integer   max_y        = 4 :: Integer   max_x_plus_y = 4 :: Integer+Pareto front #4: Optimal model:+  x            = 0 :: Integer+  y            = 5 :: Integer+  min_x        = 0 :: Integer+  max_y        = 5 :: Integer+  max_x_plus_y = 5 :: Integer Pareto front #5: Optimal model:   x            = 0 :: Integer   y            = 6 :: Integer@@ -30,153 +30,153 @@   max_x_plus_y = 6 :: Integer Pareto front #6: Optimal model:   x            = 0 :: Integer-  y            = 7 :: Integer+  y            = 3 :: Integer   min_x        = 0 :: Integer-  max_y        = 7 :: Integer-  max_x_plus_y = 7 :: Integer+  max_y        = 3 :: Integer+  max_x_plus_y = 3 :: Integer Pareto front #7: Optimal model:+  x            =  0 :: Integer+  y            = -1 :: Integer+  min_x        =  0 :: Integer+  max_y        = -1 :: Integer+  max_x_plus_y = -1 :: Integer+Pareto front #8: Optimal model:+  x            =  0 :: Integer+  y            = -3 :: Integer+  min_x        =  0 :: Integer+  max_y        = -3 :: Integer+  max_x_plus_y = -3 :: Integer+Pareto front #9: Optimal model:+  x            =  0 :: Integer+  y            = -4 :: Integer+  min_x        =  0 :: Integer+  max_y        = -4 :: Integer+  max_x_plus_y = -4 :: Integer+Pareto front #10: Optimal model:+  x            =  0 :: Integer+  y            = -6 :: Integer+  min_x        =  0 :: Integer+  max_y        = -6 :: Integer+  max_x_plus_y = -6 :: Integer+Pareto front #11: Optimal model:+  x            =  0 :: Integer+  y            = -8 :: Integer+  min_x        =  0 :: Integer+  max_y        = -8 :: Integer+  max_x_plus_y = -8 :: Integer+Pareto front #12: Optimal model:+  x            =  0 :: Integer+  y            = -9 :: Integer+  min_x        =  0 :: Integer+  max_y        = -9 :: Integer+  max_x_plus_y = -9 :: Integer+Pareto front #13: Optimal model:+  x            =   0 :: Integer+  y            = -10 :: Integer+  min_x        =   0 :: Integer+  max_y        = -10 :: Integer+  max_x_plus_y = -10 :: Integer+Pareto front #14: Optimal model:+  x            =   0 :: Integer+  y            = -11 :: Integer+  min_x        =   0 :: Integer+  max_y        = -11 :: Integer+  max_x_plus_y = -11 :: Integer+Pareto front #15: Optimal model:   x            = 0 :: Integer+  y            = 8 :: Integer+  min_x        = 0 :: Integer+  max_y        = 8 :: Integer+  max_x_plus_y = 8 :: Integer+Pareto front #16: Optimal model:+  x            = 0 :: Integer   y            = 9 :: Integer   min_x        = 0 :: Integer   max_y        = 9 :: Integer   max_x_plus_y = 9 :: Integer-Pareto front #8: Optimal model:+Pareto front #17: Optimal model:   x            =  0 :: Integer-  y            = 10 :: Integer+  y            = 11 :: Integer   min_x        =  0 :: Integer-  max_y        = 10 :: Integer-  max_x_plus_y = 10 :: Integer-Pareto front #9: Optimal model:+  max_y        = 11 :: Integer+  max_x_plus_y = 11 :: Integer+Pareto front #18: Optimal model:   x            =  0 :: Integer   y            = 12 :: Integer   min_x        =  0 :: Integer   max_y        = 12 :: Integer   max_x_plus_y = 12 :: Integer-Pareto front #10: Optimal model:+Pareto front #19: Optimal model:   x            =  0 :: Integer-  y            = 14 :: Integer+  y            = 13 :: Integer   min_x        =  0 :: Integer-  max_y        = 14 :: Integer-  max_x_plus_y = 14 :: Integer-Pareto front #11: Optimal model:+  max_y        = 13 :: Integer+  max_x_plus_y = 13 :: Integer+Pareto front #20: Optimal model:   x            =  0 :: Integer-  y            = 16 :: Integer+  y            = 15 :: Integer   min_x        =  0 :: Integer-  max_y        = 16 :: Integer-  max_x_plus_y = 16 :: Integer-Pareto front #12: Optimal model:+  max_y        = 15 :: Integer+  max_x_plus_y = 15 :: Integer+Pareto front #21: Optimal model:   x            =  0 :: Integer   y            = 17 :: Integer   min_x        =  0 :: Integer   max_y        = 17 :: Integer   max_x_plus_y = 17 :: Integer-Pareto front #13: Optimal model:+Pareto front #22: Optimal model:   x            =  0 :: Integer   y            = 19 :: Integer   min_x        =  0 :: Integer   max_y        = 19 :: Integer   max_x_plus_y = 19 :: Integer-Pareto front #14: Optimal model:+Pareto front #23: Optimal model:   x            =  0 :: Integer   y            = 21 :: Integer   min_x        =  0 :: Integer   max_y        = 21 :: Integer   max_x_plus_y = 21 :: Integer-Pareto front #15: Optimal model:+Pareto front #24: Optimal model:   x            =  0 :: Integer   y            = 23 :: Integer   min_x        =  0 :: Integer   max_y        = 23 :: Integer   max_x_plus_y = 23 :: Integer-Pareto front #16: Optimal model:+Pareto front #25: Optimal model:   x            =  0 :: Integer   y            = 25 :: Integer   min_x        =  0 :: Integer   max_y        = 25 :: Integer   max_x_plus_y = 25 :: Integer-Pareto front #17: Optimal model:+Pareto front #26: Optimal model:   x            =  0 :: Integer   y            = 26 :: Integer   min_x        =  0 :: Integer   max_y        = 26 :: Integer   max_x_plus_y = 26 :: Integer-Pareto front #18: Optimal model:+Pareto front #27: Optimal model:   x            =  0 :: Integer   y            = 27 :: Integer   min_x        =  0 :: Integer   max_y        = 27 :: Integer   max_x_plus_y = 27 :: Integer-Pareto front #19: Optimal model:+Pareto front #28: Optimal model:   x            =  0 :: Integer   y            = 28 :: Integer   min_x        =  0 :: Integer   max_y        = 28 :: Integer   max_x_plus_y = 28 :: Integer-Pareto front #20: Optimal model:-  x            =  0 :: Integer-  y            = 30 :: Integer-  min_x        =  0 :: Integer-  max_y        = 30 :: Integer-  max_x_plus_y = 30 :: Integer-Pareto front #21: Optimal model:-  x            =  0 :: Integer-  y            = 32 :: Integer-  min_x        =  0 :: Integer-  max_y        = 32 :: Integer-  max_x_plus_y = 32 :: Integer-Pareto front #22: Optimal model:-  x            =  0 :: Integer-  y            = 33 :: Integer-  min_x        =  0 :: Integer-  max_y        = 33 :: Integer-  max_x_plus_y = 33 :: Integer-Pareto front #23: Optimal model:-  x            =  0 :: Integer-  y            = 34 :: Integer-  min_x        =  0 :: Integer-  max_y        = 34 :: Integer-  max_x_plus_y = 34 :: Integer-Pareto front #24: Optimal model:-  x            =  0 :: Integer-  y            = 36 :: Integer-  min_x        =  0 :: Integer-  max_y        = 36 :: Integer-  max_x_plus_y = 36 :: Integer-Pareto front #25: Optimal model:-  x            =  0 :: Integer-  y            = 37 :: Integer-  min_x        =  0 :: Integer-  max_y        = 37 :: Integer-  max_x_plus_y = 37 :: Integer-Pareto front #26: Optimal model:-  x            =  0 :: Integer-  y            = 38 :: Integer-  min_x        =  0 :: Integer-  max_y        = 38 :: Integer-  max_x_plus_y = 38 :: Integer-Pareto front #27: Optimal model:-  x            =  0 :: Integer-  y            = 40 :: Integer-  min_x        =  0 :: Integer-  max_y        = 40 :: Integer-  max_x_plus_y = 40 :: Integer-Pareto front #28: Optimal model:-  x            =  0 :: Integer-  y            = 42 :: Integer-  min_x        =  0 :: Integer-  max_y        = 42 :: Integer-  max_x_plus_y = 42 :: Integer Pareto front #29: Optimal model:   x            =  0 :: Integer-  y            = 43 :: Integer+  y            = 29 :: Integer   min_x        =  0 :: Integer-  max_y        = 43 :: Integer-  max_x_plus_y = 43 :: Integer+  max_y        = 29 :: Integer+  max_x_plus_y = 29 :: Integer Pareto front #30: Optimal model:   x            =  0 :: Integer-  y            = 44 :: Integer+  y            = 31 :: Integer   min_x        =  0 :: Integer-  max_y        = 44 :: Integer-  max_x_plus_y = 44 :: Integer+  max_y        = 31 :: Integer+  max_x_plus_y = 31 :: Integer *** Note: Pareto-front extraction was terminated as requested by the user. ***       There might be many other results!
SBVTestSuite/GoldFiles/pbAtLeast.gold view
@@ -29,7 +29,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ at-least 5) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () (_ BitVec 32) (ite s0 s11 s12)) [GOOD] (define-fun s14 () (_ BitVec 32) (ite s1 s11 s12))@@ -53,6 +53,12 @@ [GOOD] (define-fun s33 () Bool (bvuge s31 s32)) [GOOD] (define-fun s34 () Bool (= s10 s33)) [GOOD] (define-fun s35 () Bool (not s34))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s35) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbAtMost.gold view
@@ -29,7 +29,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ at-most 8) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () (_ BitVec 32) (ite s0 s11 s12)) [GOOD] (define-fun s14 () (_ BitVec 32) (ite s1 s11 s12))@@ -53,6 +53,12 @@ [GOOD] (define-fun s33 () Bool (bvule s31 s32)) [GOOD] (define-fun s34 () Bool (= s10 s33)) [GOOD] (define-fun s35 () Bool (not s34))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s35) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbEq.gold view
@@ -37,7 +37,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ pbeq 7 1 2 3 4 5 6 7 8 9 10) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () Int (ite s0 s11 s12)) [GOOD] (define-fun s15 () Int (ite s1 s14 s12))@@ -61,6 +61,12 @@ [GOOD] (define-fun s41 () Bool (= s29 s40)) [GOOD] (define-fun s42 () Bool (= s10 s41)) [GOOD] (define-fun s43 () Bool (not s42))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s43) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbEq2.gold view
@@ -26,7 +26,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ pbeq 3 1 1) s1 s2)) [GOOD] (define-fun s11 () Bool ((_ pbeq 1 1 1) s1 s2)) [GOOD] (define-fun s12 () Bool (ite s0 s10 s11))@@ -50,6 +50,12 @@ [GOOD] (define-fun s30 () Bool (or s24 s29)) [GOOD] (define-fun s31 () Bool (or s17 s30)) [GOOD] (define-fun s32 () Bool (not s31))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s32) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbExactly.gold view
@@ -29,7 +29,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ pbeq 5 1 1 1 1 1 1 1 1 1 1) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () (_ BitVec 32) (ite s0 s11 s12)) [GOOD] (define-fun s14 () (_ BitVec 32) (ite s1 s11 s12))@@ -53,6 +53,12 @@ [GOOD] (define-fun s33 () Bool (= s31 s32)) [GOOD] (define-fun s34 () Bool (= s10 s33)) [GOOD] (define-fun s35 () Bool (not s34))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s35) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbGe.gold view
@@ -37,7 +37,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ pbge 7 1 2 3 4 5 6 7 8 9 10) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () Int (ite s0 s11 s12)) [GOOD] (define-fun s15 () Int (ite s1 s14 s12))@@ -61,6 +61,12 @@ [GOOD] (define-fun s41 () Bool (>= s40 s29)) [GOOD] (define-fun s42 () Bool (= s10 s41)) [GOOD] (define-fun s43 () Bool (not s42))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s43) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbLe.gold view
@@ -37,7 +37,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ pble 7 1 2 3 4 5 6 7 8 9 10) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () Int (ite s0 s11 s12)) [GOOD] (define-fun s15 () Int (ite s1 s14 s12))@@ -61,6 +61,12 @@ [GOOD] (define-fun s41 () Bool (<= s40 s29)) [GOOD] (define-fun s42 () Bool (= s10 s41)) [GOOD] (define-fun s43 () Bool (not s42))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s43) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbMutexed.gold view
@@ -28,7 +28,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ at-most 1) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () (_ BitVec 32) (ite s0 s11 s12)) [GOOD] (define-fun s14 () (_ BitVec 32) (ite s1 s11 s12))@@ -52,6 +52,12 @@ [GOOD] (define-fun s32 () Bool (bvule s31 s11)) [GOOD] (define-fun s33 () Bool (= s10 s32)) [GOOD] (define-fun s34 () Bool (not s33))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s34) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/pbStronglyMutexed.gold view
@@ -28,7 +28,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s10 () Bool ((_ pbeq 1 1 1 1 1 1 1 1 1 1 1) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9)) [GOOD] (define-fun s13 () (_ BitVec 32) (ite s0 s11 s12)) [GOOD] (define-fun s14 () (_ BitVec 32) (ite s1 s11 s12))@@ -52,6 +52,12 @@ [GOOD] (define-fun s32 () Bool (= s11 s31)) [GOOD] (define-fun s33 () Bool (= s10 s32)) [GOOD] (define-fun s34 () Bool (not s33))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s34) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/qEnum1.gold view
@@ -23,10 +23,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (<= (BinOp_constrIndex s0) (BinOp_constrIndex s1))) [GOOD] (define-fun s4 () Bool (<= (BinOp_constrIndex s1) (BinOp_constrIndex s2))) [GOOD] (define-fun s5 () Bool (distinct s0 s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s5)
SBVTestSuite/GoldFiles/qUninterp1.gold view
@@ -21,7 +21,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))
SBVTestSuite/GoldFiles/quantified_prove_existsexists_contradiction_c.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsexists_contradiction_p.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4)))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_prove_existsexists_satisfiable_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsexists_satisfiable_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsexists_thm_c.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsexists_thm_p.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4)))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsforall_contradiction_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 (s1 s0))))                    (let ((s3 (distinct s0 (s1 s0))))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsforall_contradiction_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 (s1 s0))))                    (let ((s3 (distinct s0 (s1 s0))))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4)))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_prove_existsforall_satisfiable_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd (s1 s0) s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsforall_satisfiable_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd (s1 s0) s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_prove_existsforall_thm_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub (s1 s0) s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= (s1 s0) s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_existsforall_thm_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub (s1 s0) s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= (s1 s0) s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4)))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_forallexists_contradiction_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_forallexists_contradiction_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4)))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_prove_forallexists_satisfiable_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_forallexists_satisfiable_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_forallexists_thm_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    false))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_forallexists_thm_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    (not s4)))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_prove_forallforall_contradiction_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () Bool (distinct s0 s1)) [GOOD] (define-fun s4 () Bool (and s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert false) [SEND] (check-sat)
SBVTestSuite/GoldFiles/quantified_prove_forallforall_contradiction_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () Bool (distinct s0 s1)) [GOOD] (define-fun s4 () Bool (and s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s4)) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_prove_forallforall_satisfiable_c.gold view
@@ -19,9 +19,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s1 s2)) [GOOD] (define-fun s4 () Bool (= s0 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert false) [SEND] (check-sat)
SBVTestSuite/GoldFiles/quantified_prove_forallforall_satisfiable_p.gold view
@@ -19,9 +19,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s1 s2)) [GOOD] (define-fun s4 () Bool (= s0 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s4)) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_prove_forallforall_thm_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (_ BitVec 8) (bvsub s1 s0)) [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert false) [SEND] (check-sat)
SBVTestSuite/GoldFiles/quantified_prove_forallforall_thm_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (_ BitVec 8) (bvsub s1 s0)) [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (not s4)) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsexists_contradiction_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () Bool (distinct s0 s1)) [GOOD] (define-fun s4 () Bool (and s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsexists_contradiction_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () Bool (distinct s0 s1)) [GOOD] (define-fun s4 () Bool (and s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsexists_satisfiable_c.gold view
@@ -19,9 +19,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s1 s2)) [GOOD] (define-fun s4 () Bool (= s0 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_existsexists_satisfiable_p.gold view
@@ -19,9 +19,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s1 s2)) [GOOD] (define-fun s4 () Bool (= s0 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_existsexists_thm_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (_ BitVec 8) (bvsub s1 s0)) [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_existsexists_thm_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (_ BitVec 8) (bvsub s1 s0)) [GOOD] (define-fun s3 () (_ BitVec 8) (bvadd s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_existsforall_contradiction_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsforall_contradiction_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsforall_satisfiable_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsforall_satisfiable_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_existsforall_thm_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_existsforall_thm_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_forallexists_contradiction_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 (s1 s0))))                    (let ((s3 (distinct s0 (s1 s0))))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_forallexists_contradiction_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 (s1 s0))))                    (let ((s3 (distinct s0 (s1 s0))))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_forallexists_satisfiable_c.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd (s1 s0) s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4)))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_forallexists_satisfiable_p.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd (s1 s0) s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4)))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_forallexists_thm_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub (s1 s0) s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= (s1 s0) s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_forallexists_thm_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub (s1 s0) s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= (s1 s0) s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_forallforall_contradiction_c.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_forallforall_contradiction_p.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (= s0 s1)))                    (let ((s3 (distinct s0 s1)))                    (let ((s4 (and s2 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_forallforall_satisfiable_c.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_forallforall_satisfiable_p.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s3 (bvadd s1 s2)))                    (let ((s4 (= s0 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4)))) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/quantified_sat_forallforall_thm_c.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/quantified_sat_forallforall_thm_p.gold view
@@ -16,12 +16,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s0 (_ BitVec 8))                         (s1 (_ BitVec 8)))+       ; --- postQuantifier assignments ---                    (let ((s2 (bvsub s1 s0)))                    (let ((s3 (bvadd s0 s2)))                    (let ((s4 (= s1 s3)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s4))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query1.gold view
@@ -32,9 +32,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s7 () Bool (> s0 s6)) [GOOD] (define-fun s8 () Bool (> s1 s6))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s7 :named |a > 0|)) [GOOD] (assert s8) [GOOD] (define-fun s9 () Int 2)
SBVTestSuite/GoldFiles/queryArrays1.gold view
@@ -20,9 +20,15 @@ [GOOD] (declare-fun array_0 () (Array (_ BitVec 8) (_ BitVec 8))) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))-[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (declare-fun array_1 () (Array (_ BitVec 8) (_ BitVec 8))) [GOOD] (define-fun s4 () (_ BitVec 8) (select array_1 s0))
SBVTestSuite/GoldFiles/queryArrays2.gold view
@@ -17,7 +17,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (define-fun s1 () (_ BitVec 8) #x00) [GOOD] (define-fun s2 () (_ BitVec 8) #x01) [GOOD] (define-fun s3 () (_ BitVec 8) #x02)
SBVTestSuite/GoldFiles/queryArrays3.gold view
@@ -17,7 +17,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (define-fun s1 () (_ BitVec 8) #x00) [GOOD] (declare-fun table0 ((_ BitVec 8)) (_ BitVec 8)) [GOOD] (define-fun s2 () (_ BitVec 8) (table0 s0))
SBVTestSuite/GoldFiles/queryArrays4.gold view
@@ -18,7 +18,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (define-fun s2 () (_ BitVec 8) #x00) [GOOD] (define-fun s3 () (_ BitVec 8) #x01) [GOOD] (define-fun s4 () (_ BitVec 8) #x02)
SBVTestSuite/GoldFiles/queryArrays5.gold view
@@ -19,8 +19,14 @@ [GOOD] (declare-fun array_0 () (Array (_ BitVec 8) (_ BitVec 8))) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] ; --- formula ----[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (define-fun s2 () (_ BitVec 8) #x01) [GOOD] (define-fun s4 () (_ BitVec 8) #x01) [GOOD] (declare-fun array_1 () (Array (_ BitVec 8) (_ BitVec 8)))
SBVTestSuite/GoldFiles/queryArrays6.gold view
@@ -17,8 +17,14 @@ [GOOD] (declare-fun array_0 () (Array Int Int)) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] ; --- formula ----[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (push 1) [GOOD] (define-fun s0 () Int 1) [GOOD] (define-fun s2 () Int 5)
SBVTestSuite/GoldFiles/queryArrays7.gold view
@@ -17,8 +17,14 @@ [GOOD] (declare-fun array_0 () (Array Int Int)) [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] ; --- formula ----[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (define-fun s0 () Int 0) [GOOD] (define-fun s1 () Int 1) [GOOD] (define-fun s3 () Int 2)
SBVTestSuite/GoldFiles/queryArrays8.gold view
@@ -16,9 +16,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (declare-fun array_0 () (Array Int Int))-[GOOD] (define-fun array_0_initializer () Bool true) ; no initializiation needed+[GOOD] (define-fun array_0_initializer () Bool true) ; no initialization needed [GOOD] (define-fun s0 () Int 0) [GOOD] (define-fun s1 () Int 1) [GOOD] (define-fun s3 () Int 2)
SBVTestSuite/GoldFiles/queryTables.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (declare-fun s0 () (_ BitVec 16)) [GOOD] (define-fun s1 () (_ BitVec 16) #x0000) [GOOD] (define-fun s3 () (_ BitVec 16) #x0001)
SBVTestSuite/GoldFiles/query_Chars1.gold view
@@ -20,10 +20,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (str.to_code s0)) [GOOD] (define-fun s3 () Bool (>= s1 s2)) [GOOD] (define-fun s5 () Bool (< s1 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/query_Interpolant1.gold view
@@ -20,7 +20,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () Bool (= s0 s1)) [GOOD] (define-fun s5 () Bool (= s0 s2)) [GOOD] (define-fun s6 () Bool (and s4 s5))@@ -28,6 +28,12 @@ [GOOD] (define-fun s8 () Bool (= s2 s3)) [GOOD] (define-fun s9 () Bool (not s8)) [GOOD] (define-fun s10 () Bool (and s7 s9))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s6 :interpolation-group |c1|)) [GOOD] (assert (! s10 :interpolation-group |c2|)) [SEND] (check-sat)
SBVTestSuite/GoldFiles/query_Interpolant2.gold view
@@ -22,7 +22,7 @@ [GOOD] (declare-fun f (Int) Int) [GOOD] (declare-fun g (Int) Int) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () Int (f s0)) [GOOD] (define-fun s5 () Bool (= s2 s4)) [GOOD] (define-fun s6 () Int (f s1))@@ -33,6 +33,12 @@ [GOOD] (define-fun s11 () Int (g s3)) [GOOD] (define-fun s12 () Bool (distinct s10 s11)) [GOOD] (define-fun s13 () Bool (and s9 s12))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s8 :interpolation-group |c1|)) [GOOD] (assert (! s13 :interpolation-group |c2|)) [SEND] (check-sat)
SBVTestSuite/GoldFiles/query_Interpolant3.gold view
@@ -20,7 +20,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (define-fun s4 () Bool (= s0 s1)) [GOOD] (define-fun s5 () Bool (= s0 s2)) [GOOD] (define-fun s6 () Bool (and s4 s5))
SBVTestSuite/GoldFiles/query_Interpolant4.gold view
@@ -20,7 +20,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (declare-fun f (Int) Int) [GOOD] (define-fun s4 () Int (f s0)) [GOOD] (define-fun s5 () Bool (= s2 s4))
SBVTestSuite/GoldFiles/query_ListOfMaybe.gold view
@@ -27,7 +27,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s5 () (SBVMaybe String) (seq.nth s0 s4))@@ -38,6 +38,12 @@ [GOOD] (define-fun s11 () (SBVMaybe String) (seq.nth s10 s4)) [GOOD] (define-fun s12 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe String))) s11)) [GOOD] (define-fun s13 () Bool (ite s12 true false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s7) [GOOD] (assert s13)
SBVTestSuite/GoldFiles/query_ListOfSum.gold view
@@ -27,7 +27,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s5 () (SBVEither Int String) (seq.nth s0 s4))@@ -38,6 +38,12 @@ [GOOD] (define-fun s11 () (SBVEither Int String) (seq.nth s10 s4)) [GOOD] (define-fun s12 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int String))) s11)) [GOOD] (define-fun s13 () Bool (ite s12 false true))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s7) [GOOD] (assert s13)
SBVTestSuite/GoldFiles/query_Lists1.gold view
@@ -21,8 +21,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query_Maybe.gold view
@@ -24,11 +24,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (get_just_SBVMaybe s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s4 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe Int))) s0)) [GOOD] (define-fun s5 () Bool (ite s4 false s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query_Strings1.gold view
@@ -17,8 +17,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Bool (str.in.re s0 ((_ re.loop 5 5) (str.to.re "xyz"))))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s1) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query_SumMaybeBoth.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )
SBVTestSuite/GoldFiles/query_Sums.gold view
@@ -25,11 +25,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (get_left_SBVEither s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s4 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int String))) s0)) [GOOD] (define-fun s5 () Bool (ite s4 s3 false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query_Tuples1.gold view
@@ -25,9 +25,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (proj_1_SBVTuple2 s0)) [GOOD] (define-fun s3 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query_Tuples2.gold view
@@ -26,10 +26,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () (SBVTuple2 String SBVTuple0) (proj_2_SBVTuple2 s0)) [GOOD] (define-fun s2 () String (proj_1_SBVTuple2 s1)) [GOOD] (define-fun s4 () Bool (= s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/query_abc.gold view
@@ -19,9 +19,15 @@ [ISSUE] ; --- arrays --- [ISSUE] ; --- uninterpreted constants --- [ISSUE] ; --- user given axioms ----[ISSUE] ; --- formula ---+[ISSUE] ; --- preQuantifier assignments --- [ISSUE] (define-fun s3 () Bool (bvsgt s0 s2)) [ISSUE] (define-fun s4 () Bool (bvsgt s1 s2))+[ISSUE] ; --- arrayDelayeds ---+[ISSUE] ; --- arraySetups ---+[ISSUE] ; --- formula ---+[ISSUE] ; --- postQuantifier assignments ---+[ISSUE] ; --- delayedEqualities ---+[ISSUE] ; -- finalAssert --- [ISSUE] (assert s3) [ISSUE] (assert s4) [FIRE] (define-fun s5 () (_ BitVec 32) #x00000002)
SBVTestSuite/GoldFiles/query_boolector.gold view
@@ -1,4 +1,4 @@-** Calling: boolector --smt2 --smt2-model --no-exit-codes --incremental+** Calling: boolector --smt2 -m --output-format=smt2 --no-exit-codes --incremental [GOOD] ; Automatically generated by SBV. Do not edit. [GOOD] (set-option :print-success true) [GOOD] (set-option :global-declarations true)@@ -17,9 +17,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (bvsgt s0 s2)) [GOOD] (define-fun s4 () Bool (bvsgt s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (define-fun s5 () (_ BitVec 32) #x00000002)@@ -51,3 +57,7 @@ [RECV] ((s1 #b00000000000000000000000000000001)) *** Solver   : Boolector *** Exit code: ExitSuccess+*** Std-out  : (+             (define-fun s0 () (_ BitVec 32) #b00000000000000000000000000000001)+             (define-fun s1 () (_ BitVec 32) #b00000000000000000000000000000001)+           )
SBVTestSuite/GoldFiles/query_cvc4.gold view
@@ -18,9 +18,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (bvsgt s0 s2)) [GOOD] (define-fun s4 () Bool (bvsgt s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s3 :named |a > 0|)) [GOOD] (assert s4) [GOOD] (define-fun s5 () (_ BitVec 32) #x00000002)
SBVTestSuite/GoldFiles/query_mathsat.gold view
@@ -18,9 +18,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (bvsgt s0 s2)) [GOOD] (define-fun s4 () Bool (bvsgt s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s3 :named |a > 0|)) [GOOD] (assert s4) [GOOD] (define-fun s5 () (_ BitVec 32) #x00000002)
SBVTestSuite/GoldFiles/query_sumMergeEither1.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )
SBVTestSuite/GoldFiles/query_sumMergeEither2.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )
SBVTestSuite/GoldFiles/query_sumMergeMaybe1.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )
SBVTestSuite/GoldFiles/query_sumMergeMaybe2.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295) [GOOD] (set-option :model.inline_def  true      )
SBVTestSuite/GoldFiles/query_uiSat_test1.gold view
@@ -17,10 +17,16 @@ [GOOD] ; --- uninterpreted constants --- [GOOD] (declare-fun q1 (Bool) Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool (q1 false)) [GOOD] (define-fun s1 () Bool (= false s0)) [GOOD] (define-fun s2 () Bool (q1 true))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s1) [GOOD] (assert s2) [SEND] (check-sat)
SBVTestSuite/GoldFiles/query_uiSat_test2.gold view
@@ -17,11 +17,17 @@ [GOOD] ; --- uninterpreted constants --- [GOOD] (declare-fun q2 (Bool Bool) Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool (q2 false true)) [GOOD] (define-fun s1 () Bool (= false s0)) [GOOD] (define-fun s2 () Bool (q2 true true)) [GOOD] (define-fun s3 () Bool (q2 true false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s1) [GOOD] (assert s2) [GOOD] (assert s3)
SBVTestSuite/GoldFiles/query_uisatex1.gold view
@@ -57,7 +57,7 @@ [GOOD] (declare-fun q4 (String String) (_ FloatingPoint  8 24)) [GOOD] (declare-fun q5 ((Seq Int) (Seq (_ FloatingPoint  8 24))) Int) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Int (q1 s1)) [GOOD] (define-fun s4 () Bool (= s2 s3)) [GOOD] (define-fun s6 () Int (q1 s5))@@ -94,6 +94,12 @@ [GOOD] (define-fun s63 () Bool (= s61 s62)) [GOOD] (define-fun s66 () Int (q5 s64 s65)) [GOOD] (define-fun s68 () Bool (= s66 s67))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s8) [GOOD] (assert s12)
SBVTestSuite/GoldFiles/query_uisatex2.gold view
@@ -58,7 +58,7 @@ [GOOD] (declare-fun q5 ((Seq Int) (Seq (_ FloatingPoint  8 24))) Int) [GOOD] (declare-fun q6 (Int) Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Int (q1 s1)) [GOOD] (define-fun s4 () Bool (= s2 s3)) [GOOD] (define-fun s6 () Int (q1 s5))@@ -98,6 +98,12 @@ [GOOD] (define-fun s69 () Bool (q6 s17)) [GOOD] (define-fun s70 () Bool (not s69)) [GOOD] (define-fun s71 () Bool (or s69 s70))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s8) [GOOD] (assert s12)
SBVTestSuite/GoldFiles/query_yices.gold view
@@ -17,9 +17,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (bvsgt s0 s2)) [GOOD] (define-fun s4 () Bool (bvsgt s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s3 :named |a > 0|)) [GOOD] (assert s4) [GOOD] (define-fun s5 () (_ BitVec 32) #x00000002)
SBVTestSuite/GoldFiles/query_z3.gold view
@@ -19,9 +19,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (bvsgt s0 s2)) [GOOD] (define-fun s4 () Bool (bvsgt s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert (! s3 :named |a > 0|)) [GOOD] (assert s4) [GOOD] (define-fun s5 () (_ BitVec 32) #x00000002)
SBVTestSuite/GoldFiles/reverse.gold view
@@ -26,7 +26,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () (Seq Int) (seq.unit s0)) [GOOD] (define-fun s5 () (Seq Int) (seq.unit s1)) [GOOD] (define-fun s6 () (Seq Int) (seq.unit s2))@@ -115,6 +115,12 @@ [GOOD] (define-fun s92 () (Seq Int) (seq.++ s6 s91)) [GOOD] (define-fun s93 () (Seq Int) (seq.++ s7 s92)) [GOOD] (define-fun s94 () Bool (= s90 s93))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s94) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/reverseAlt10.gold view
@@ -23,7 +23,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (seq.len s0)) [GOOD] (define-fun s3 () Bool (= s1 s2)) [GOOD] (define-fun s6 () Int (- s1 s5))@@ -121,6 +121,12 @@ [GOOD] (define-fun s98 () (Seq Int) (ite s9 s78 s97)) [GOOD] (define-fun s99 () (Seq Int) (ite s3 s4 s98)) [GOOD] (define-fun s100 () Bool (distinct s80 s99))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s100) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/safe1.gold view
@@ -19,10 +19,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s4 () Bool (> s0 s3)) [GOOD] (define-fun s5 () Bool (not s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (push 1) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/safe2.gold view
@@ -19,9 +19,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (> s0 s2)) [GOOD] (define-fun s4 () Bool (not s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (push 1) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/seqConcat.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/seqConcatBad.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert false) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/seqExamples1.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/seqExamples2.gold view
@@ -22,10 +22,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (Seq Int) (seq.++ s0 s1)) [GOOD] (define-fun s4 () (Seq Int) (seq.++ s3 s0)) [GOOD] (define-fun s5 () Bool (= s2 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/seqExamples3.gold view
@@ -25,13 +25,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (Seq Int) (seq.++ s0 s1)) [GOOD] (define-fun s5 () Bool (= s3 s4)) [GOOD] (define-fun s6 () (Seq Int) (seq.++ s1 s2)) [GOOD] (define-fun s8 () Bool (= s6 s7)) [GOOD] (define-fun s10 () Bool (= s1 s9)) [GOOD] (define-fun s11 () Bool (not s10))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [GOOD] (assert s8) [GOOD] (assert s11)
SBVTestSuite/GoldFiles/seqExamples4.gold view
@@ -24,12 +24,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (Seq Int) (seq.++ s2 s0)) [GOOD] (define-fun s5 () (Seq Int) (seq.++ s1 s4)) [GOOD] (define-fun s6 () Bool (= s3 s5)) [GOOD] (define-fun s7 () Int (seq.len s0)) [GOOD] (define-fun s9 () Bool (<= s7 s8))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s6) [GOOD] (assert s9) [SEND] (check-sat)
SBVTestSuite/GoldFiles/seqExamples5.gold view
@@ -25,7 +25,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () (Seq Int) (seq.++ s3 s1)) [GOOD] (define-fun s5 () (Seq Int) (seq.++ s0 s4)) [GOOD] (define-fun s7 () (Seq Int) (seq.++ s6 s2))@@ -37,6 +37,12 @@ [GOOD] (define-fun s14 () (Seq Int) (seq.++ s12 s0)) [GOOD] (define-fun s15 () Bool (= s13 s14)) [GOOD] (define-fun s16 () Bool (not s15))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s9) [GOOD] (assert s11) [GOOD] (assert s16)
SBVTestSuite/GoldFiles/seqExamples6.gold view
@@ -22,11 +22,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (seq.contains s0 s1)) [GOOD] (define-fun s4 () Bool (seq.contains s1 s2)) [GOOD] (define-fun s5 () Bool (seq.contains s0 s2)) [GOOD] (define-fun s6 () Bool (not s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/seqExamples7.gold view
@@ -22,13 +22,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (seq.contains s0 s1)) [GOOD] (define-fun s4 () Bool (seq.contains s0 s2)) [GOOD] (define-fun s5 () Bool (seq.contains s1 s2)) [GOOD] (define-fun s6 () Bool (not s5)) [GOOD] (define-fun s7 () Bool (seq.contains s2 s1)) [GOOD] (define-fun s8 () Bool (not s7))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/seqExamples8.gold view
@@ -22,7 +22,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (seq.prefixof s1 s0)) [GOOD] (define-fun s4 () Bool (seq.suffixof s2 s0)) [GOOD] (define-fun s5 () Int (seq.len s0))@@ -33,6 +33,12 @@ [GOOD] (define-fun s10 () (Seq Int) (seq.++ s1 s2)) [GOOD] (define-fun s11 () Bool (= s0 s10)) [GOOD] (define-fun s12 () Bool (not s11))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s9)
SBVTestSuite/GoldFiles/seqIndexOf.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/seqIndexOfBad.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert false) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/set_compl1.gold view
@@ -22,8 +22,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/set_delete1.gold view
@@ -25,9 +25,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s5 () Bool (= s1 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_diff1.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_disj1.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_empty1.gold view
@@ -22,8 +22,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/set_full1.gold view
@@ -22,8 +22,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/set_insert1.gold view
@@ -25,9 +25,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s5 () Bool (= s1 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_intersect1.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_member1.gold view
@@ -25,9 +25,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s5 () Bool (= s1 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_notMember1.gold view
@@ -25,9 +25,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s5 () Bool (= s1 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_psubset1.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_subset1.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/set_tupleSet.gold view
@@ -24,8 +24,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/set_uninterp1.gold view
@@ -24,7 +24,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- *** Checking Satisfiability, all solutions.. Fast allSat, Looking for solution 1 [SEND] (check-sat)@@ -90,9 +96,9 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))-[RECV] ((s0 (store (store ((as const (Array E Bool)) false) C true) A true)))+[RECV] ((s0 (store (store (store ((as const (Array E Bool)) false) C true) B true) A true))) [GOOD] (push 1)-[GOOD] (define-fun s19 () (Array E Bool) (store (store ((as const (Array E Bool)) false) C true) A true))+[GOOD] (define-fun s19 () (Array E Bool) (store (store (store ((as const (Array E Bool)) false) C true) B true) A true)) [GOOD] (define-fun s20 () Bool (= s0 s19)) [GOOD] (define-fun s21 () Bool (not s20)) [GOOD] (assert s21)@@ -100,9 +106,9 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))-[RECV] ((s0 (store (store (store ((as const (Array E Bool)) false) C true) B true) A true)))+[RECV] ((s0 (store (store ((as const (Array E Bool)) false) C true) A true))) [GOOD] (push 1)-[GOOD] (define-fun s22 () (Array E Bool) (store (store (store ((as const (Array E Bool)) false) C true) B true) A true))+[GOOD] (define-fun s22 () (Array E Bool) (store (store ((as const (Array E Bool)) false) C true) A true)) [GOOD] (define-fun s23 () Bool (= s0 s22)) [GOOD] (define-fun s24 () Bool (not s23)) [GOOD] (assert s24)@@ -122,9 +128,9 @@  FINAL: Solution #1:-  s0 = {A,B,C} :: {E}-Solution #2:   s0 = {A,C} :: {E}+Solution #2:+  s0 = {A,B,C} :: {E} Solution #3:   s0 = {A,B} :: {E} Solution #4:
SBVTestSuite/GoldFiles/set_uninterp2.gold view
@@ -25,8 +25,14 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/set_union1.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (= s0 s2)) [GOOD] (define-fun s4 () Bool (= s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/sort.gold view
@@ -25,7 +25,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (<= s0 s1)) [GOOD] (define-fun s4 () Bool (<= s1 s2)) [GOOD] (define-fun s5 () Bool (and s3 s4))@@ -162,6 +162,12 @@ [GOOD] (define-fun s139 () (Seq Int) (seq.++ s9 s138)) [GOOD] (define-fun s140 () Bool (= s105 s139)) [GOOD] (define-fun s141 () Bool (or s137 s140))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s107) [GOOD] (assert s115) [GOOD] (assert s122)
SBVTestSuite/GoldFiles/strConcat.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/strConcatBad.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert false) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/strExamples1.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/strExamples10.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Bool (str.in.re s0 ((_ re.loop 1 3) (str.to.re "ab")))) [GOOD] (define-fun s2 () Int (str.len s0)) [GOOD] (define-fun s4 () Bool (> s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s1) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/strExamples11.gold view
@@ -19,11 +19,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () String (int.to.str s0)) [GOOD] (define-fun s5 () Bool (= s3 s4)) [GOOD] (define-fun s6 () Bool (not s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s6) [SEND] (check-sat)
SBVTestSuite/GoldFiles/strExamples12.gold view
@@ -19,11 +19,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () String (int.to.str s0)) [GOOD] (define-fun s5 () Bool (= s3 s4)) [GOOD] (define-fun s6 () Bool (not s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s6) [SEND] (check-sat)
SBVTestSuite/GoldFiles/strExamples13.gold view
@@ -19,11 +19,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (= s0 s1)) [GOOD] (define-fun s3 () Int (str.to.int s0)) [GOOD] (define-fun s5 () Bool (= s3 s4)) [GOOD] (define-fun s6 () Bool (not s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s6) [SEND] (check-sat)
SBVTestSuite/GoldFiles/strExamples2.gold view
@@ -19,10 +19,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () String (str.++ s0 s1)) [GOOD] (define-fun s4 () String (str.++ s3 s0)) [GOOD] (define-fun s5 () Bool (= s2 s4))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/strExamples3.gold view
@@ -22,13 +22,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () String (str.++ s0 s1)) [GOOD] (define-fun s5 () Bool (= s3 s4)) [GOOD] (define-fun s6 () String (str.++ s1 s2)) [GOOD] (define-fun s8 () Bool (= s6 s7)) [GOOD] (define-fun s10 () Bool (= s1 s9)) [GOOD] (define-fun s11 () Bool (not s10))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [GOOD] (assert s8) [GOOD] (assert s11)
SBVTestSuite/GoldFiles/strExamples4.gold view
@@ -21,12 +21,18 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () String (str.++ s2 s0)) [GOOD] (define-fun s5 () String (str.++ s1 s4)) [GOOD] (define-fun s6 () Bool (= s3 s5)) [GOOD] (define-fun s7 () Int (str.len s0)) [GOOD] (define-fun s9 () Bool (<= s7 s8))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s6) [GOOD] (assert s9) [SEND] (check-sat)
SBVTestSuite/GoldFiles/strExamples5.gold view
@@ -22,7 +22,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s4 () String (str.++ s3 s1)) [GOOD] (define-fun s5 () String (str.++ s0 s4)) [GOOD] (define-fun s7 () String (str.++ s6 s2))@@ -34,6 +34,12 @@ [GOOD] (define-fun s14 () String (str.++ s12 s0)) [GOOD] (define-fun s15 () Bool (= s13 s14)) [GOOD] (define-fun s16 () Bool (not s15))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s9) [GOOD] (assert s11) [GOOD] (assert s16)
SBVTestSuite/GoldFiles/strExamples6.gold view
@@ -19,11 +19,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (str.contains s0 s1)) [GOOD] (define-fun s4 () Bool (str.contains s1 s2)) [GOOD] (define-fun s5 () Bool (str.contains s0 s2)) [GOOD] (define-fun s6 () Bool (not s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/strExamples7.gold view
@@ -19,13 +19,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (str.contains s0 s1)) [GOOD] (define-fun s4 () Bool (str.contains s0 s2)) [GOOD] (define-fun s5 () Bool (str.contains s1 s2)) [GOOD] (define-fun s6 () Bool (not s5)) [GOOD] (define-fun s7 () Bool (str.contains s2 s1)) [GOOD] (define-fun s8 () Bool (not s7))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s6)
SBVTestSuite/GoldFiles/strExamples8.gold view
@@ -19,7 +19,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () Bool (str.prefixof s1 s0)) [GOOD] (define-fun s4 () Bool (str.suffixof s2 s0)) [GOOD] (define-fun s5 () Int (str.len s0))@@ -30,6 +30,12 @@ [GOOD] (define-fun s10 () String (str.++ s1 s2)) [GOOD] (define-fun s11 () Bool (= s0 s10)) [GOOD] (define-fun s12 () Bool (not s11))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s4) [GOOD] (assert s9)
SBVTestSuite/GoldFiles/strExamples9.gold view
@@ -18,10 +18,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Bool (str.in.re s0 ((_ re.loop 1 3) (str.to.re "ab")))) [GOOD] (define-fun s2 () Int (str.len s0)) [GOOD] (define-fun s4 () Bool (= s2 s3))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s1) [GOOD] (assert s4) [SEND] (check-sat)
SBVTestSuite/GoldFiles/strIndexOf.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [SEND] (check-sat) [RECV] sat *** Solver   : Z3
SBVTestSuite/GoldFiles/strIndexOfBad.gold view
@@ -16,7 +16,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert false) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/sumBimapPlus.gold view
@@ -24,7 +24,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (get_left_SBVEither s0)) [GOOD] (define-fun s3 () Int (+ s1 s2)) [GOOD] (define-fun s4 () (SBVEither Int Int) ((as left_SBVEither (SBVEither Int Int)) s3))@@ -40,6 +40,12 @@ [GOOD] (define-fun s14 () Int (ite s8 s1 s5)) [GOOD] (define-fun s15 () Int (+ s2 s14)) [GOOD] (define-fun s16 () Bool (= s13 s15))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s16) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/sumEitherSat.gold view
@@ -24,13 +24,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Int (get_left_SBVEither s0)) [GOOD] (define-fun s3 () Bool (> s1 s2)) [GOOD] (define-fun s4 () Bool (get_right_SBVEither s0)) [GOOD] (define-fun s5 () Bool (not s4)) [GOOD] (define-fun s6 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int Bool))) s0)) [GOOD] (define-fun s7 () Bool (ite s6 s3 s5))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s7) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/sumLiftEither.gold view
@@ -25,13 +25,19 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (SBVEither Int String) ((as left_SBVEither (SBVEither Int String)) s0)) [GOOD] (define-fun s3 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int String))) s2)) [GOOD] (define-fun s4 () Bool (ite s3 true false)) [GOOD] (define-fun s5 () (SBVEither Int String) ((as right_SBVEither (SBVEither Int String)) s1)) [GOOD] (define-fun s6 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int String))) s5)) [GOOD] (define-fun s7 () Bool (ite s6 false true))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s7) [SEND] (check-sat)
SBVTestSuite/GoldFiles/sumLiftMaybe.gold view
@@ -24,9 +24,15 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () (SBVMaybe Int) ((as just_SBVMaybe (SBVMaybe Int)) s0)) [GOOD] (define-fun s3 () Bool (distinct s1 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/sumMaybe.gold view
@@ -26,7 +26,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe Int))) s0)) [GOOD] (define-fun s2 () Bool (ite s1 true false)) [GOOD] (define-fun s4 () Int (get_just_SBVMaybe s0))@@ -44,6 +44,12 @@ [GOOD] (define-fun s18 () Int (ite s9 s15 s17)) [GOOD] (define-fun s19 () Int (- s18 s5)) [GOOD] (define-fun s20 () Bool (= s16 s19))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s11) [GOOD] (assert s14) [GOOD] (assert s20)
SBVTestSuite/GoldFiles/sumMaybeBoth.gold view
@@ -27,11 +27,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int Int))) s0)) [GOOD] (define-fun s3 () Bool (ite s2 true false)) [GOOD] (define-fun s4 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe Int))) s1)) [GOOD] (define-fun s5 () Bool (ite s4 false true))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [GOOD] (assert s5) [SEND] (check-sat)
SBVTestSuite/GoldFiles/sumMergeEither1.gold view
@@ -25,10 +25,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (SBVEither Int Bool) (ite s2 s0 s1)) [GOOD] (define-fun s4 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int Bool))) s3)) [GOOD] (define-fun s5 () Bool (ite s4 true false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/sumMergeEither2.gold view
@@ -25,10 +25,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (SBVEither Int Bool) (ite s2 s0 s1)) [GOOD] (define-fun s4 () Bool ((_ is (left_SBVEither (Int) (SBVEither Int Bool))) s3)) [GOOD] (define-fun s5 () Bool (ite s4 false true))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/sumMergeMaybe1.gold view
@@ -25,10 +25,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (SBVMaybe Int) (ite s2 s0 s1)) [GOOD] (define-fun s4 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe Int))) s3)) [GOOD] (define-fun s5 () Bool (ite s4 true false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/sumMergeMaybe2.gold view
@@ -25,10 +25,16 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s3 () (SBVMaybe Int) (ite s2 s0 s1)) [GOOD] (define-fun s4 () Bool ((_ is (nothing_SBVMaybe () (SBVMaybe Int))) s3)) [GOOD] (define-fun s5 () Bool (ite s4 false true))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/tuple_enum.gold view
@@ -35,7 +35,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (not s1)) [GOOD] (define-fun s4 () (SBVTuple2 E (Seq Bool)) (seq.nth s0 s3)) [GOOD] (define-fun s5 () (Seq Bool) (proj_2_SBVTuple2 s4))@@ -51,6 +51,12 @@ [GOOD] (define-fun s19 () Int (seq.len s18)) [GOOD] (define-fun s21 () Bool (= s19 s20)) [GOOD] (define-fun s23 () Bool (seq.nth s18 s22))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s9) [GOOD] (assert s12)
SBVTestSuite/GoldFiles/tuple_list.gold view
@@ -30,7 +30,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (SBVTuple2 Int (Seq (SBVTuple2 Int String))) (seq.nth s0 s1)) [GOOD] (define-fun s3 () Int (proj_1_SBVTuple2 s2)) [GOOD] (define-fun s5 () Bool (= s3 s4))@@ -48,6 +48,12 @@ [GOOD] (define-fun s21 () Int (seq.len s20)) [GOOD] (define-fun s22 () Bool (= s1 s21)) [GOOD] (define-fun s24 () Bool (= s0 s23))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s5) [GOOD] (assert s12) [GOOD] (assert s15)
SBVTestSuite/GoldFiles/tuple_nested.gold view
@@ -28,7 +28,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s1 () (SBVTuple2 Int (SBVTuple2 String String)) (proj_1_SBVTuple2 s0)) [GOOD] (define-fun s2 () Int (proj_1_SBVTuple2 s1)) [GOOD] (define-fun s4 () Bool (= s2 s3))@@ -39,6 +39,12 @@ [GOOD] (define-fun s11 () Bool (= s9 s10)) [GOOD] (define-fun s12 () (_ BitVec 8) (proj_2_SBVTuple2 s0)) [GOOD] (define-fun s14 () Bool (= s12 s13))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s8) [GOOD] (assert s11)
SBVTestSuite/GoldFiles/tuple_swap.gold view
@@ -29,7 +29,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Int (proj_1_SBVTuple3 s0)) [GOOD] (define-fun s3 () Int (proj_2_SBVTuple3 s1)) [GOOD] (define-fun s4 () Bool (= s2 s3))@@ -42,6 +42,12 @@ [GOOD] (define-fun s14 () Bool (= s12 s13)) [GOOD] (define-fun s15 () Int (proj_3_SBVTuple3 s1)) [GOOD] (define-fun s17 () Bool (= s15 s16))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s7) [GOOD] (assert s9)
SBVTestSuite/GoldFiles/tuple_twoTwo.gold view
@@ -27,11 +27,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Int (proj_1_SBVTuple2 s0)) [GOOD] (define-fun s4 () Bool (= s2 s3)) [GOOD] (define-fun s5 () String (proj_1_SBVTuple2 s1)) [GOOD] (define-fun s7 () Bool (= s5 s6))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s4) [GOOD] (assert s7) [SEND] (check-sat)
SBVTestSuite/GoldFiles/tuple_unequal.gold view
@@ -24,7 +24,7 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Int (proj_1_SBVTuple2 s0)) [GOOD] (define-fun s3 () Int (proj_1_SBVTuple2 s1)) [GOOD] (define-fun s4 () Bool (< s2 s3))@@ -38,6 +38,12 @@ [GOOD] (define-fun s12 () Bool (< s7 s6)) [GOOD] (define-fun s13 () Bool (and s5 s12)) [GOOD] (define-fun s14 () Bool (or s11 s13))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s10) [GOOD] (assert s14) [SEND] (check-sat)
SBVTestSuite/GoldFiles/uiSat_test1.gold view
@@ -17,8 +17,14 @@ [GOOD] ; --- uninterpreted constants --- [GOOD] (declare-fun q1 (Bool) Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool (q1 false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- *** Checking Satisfiability, all solutions.. [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295)
SBVTestSuite/GoldFiles/uiSat_test2.gold view
@@ -17,8 +17,14 @@ [GOOD] ; --- uninterpreted constants --- [GOOD] (declare-fun q2 (Bool Bool) Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool (q2 false false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- *** Checking Satisfiability, all solutions.. [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295)@@ -187,7 +193,7 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and (not x!1) x!2)))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and (not x!1) x!2) (and x!1 x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))@@ -290,7 +296,7 @@ [RECV] sat [SEND] (get-value (q2)) [RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool))-         (or (and (not x!1) x!2) (and (not x!1) (not x!2))))))+         (or (and (not x!1) (not x!2)) (and (not x!1) x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) true)) [SEND] (get-value ((q2 false true)))
SBVTestSuite/GoldFiles/uiSat_test3.gold view
@@ -18,9 +18,15 @@ [GOOD] (declare-fun q1 (Bool) Bool) [GOOD] (declare-fun q2 (Bool Bool) Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool (q1 false)) [GOOD] (define-fun s1 () Bool (q2 false false))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- *** Checking Satisfiability, all solutions.. [GOOD] (set-option :pp.max_depth      4294967295) [GOOD] (set-option :pp.min_alias_size 4294967295)@@ -559,7 +565,7 @@ [RECV] ((q1 (lambda ((x!1 Bool)) (not x!1)))) [SEND] (get-value (q2)) [RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool))-         (or (and (not x!1) (not x!2)) (and x!1 (not x!2))))))+         (or (and x!1 (not x!2)) (and (not x!1) (not x!2)))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) true)) [SEND] (get-value ((q2 false true)))@@ -961,7 +967,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 (lambda ((x!1 Bool)) x!1))) [SEND] (get-value (q2))-[RECV] ((q2 (store ((as const Array) true) false false false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and (not x!1) x!2)))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) true))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) false))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model31 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) true           false)@@ -971,8 +985,9 @@                   (distinct (q1         x!0)                             (q1_model31 x!0)))) [GOOD] (define-fun q2_model31 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 false)) false-          true)+          (ite (and (= x!0 false) (= x!1 true)) true+          (ite (and (= x!0 true) (= x!1 true)) true+          false))        ) [GOOD] (define-fun q2_model31_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -989,15 +1004,7 @@ [SEND] (get-value (q1)) [RECV] ((q1 (lambda ((x!1 Bool)) x!1))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2))))-[SEND] (get-value ((q2 false false)))-[RECV] (((q2 false false) false))-[SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))-[SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))-[SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) true))+[RECV] ((q2 (store ((as const Array) true) false false false))) [GOOD] (define-fun q1_model32 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) true           false)@@ -1007,8 +1014,8 @@                   (distinct (q1         x!0)                             (q1_model32 x!0)))) [GOOD] (define-fun q2_model32 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 true)) true-          false)+          (ite (and (= x!0 false) (= x!1 false)) false+          true)        ) [GOOD] (define-fun q2_model32_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1023,27 +1030,26 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (lambda ((x!1 Bool)) x!1)))+[RECV] ((q1 ((as const Array) false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 (not x!2)))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2)))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true))) [RECV] (((q2 false true) false)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) true))+[RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model33 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) true-          false)+          false        ) [GOOD] (define-fun q1_model33_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model33 x!0)))) [GOOD] (define-fun q2_model33 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) true+          (ite (and (= x!0 true) (= x!1 true)) true           false)        ) [GOOD] (define-fun q2_model33_reject () Bool@@ -1059,26 +1065,27 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 ((as const Array) false)))+[RECV] ((q1 (lambda ((x!1 Bool)) x!1))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) x!2))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 (not x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) true))+[RECV] (((q2 false true) false)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))+[RECV] (((q2 true false) true)) [SEND] (get-value ((q2 true true))) [RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model34 ((x!0 Bool)) Bool-          false+          (ite (and (= x!0 true)) true+          false)        ) [GOOD] (define-fun q1_model34_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model34 x!0)))) [GOOD] (define-fun q2_model34 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 true)) true+          (ite (and (= x!0 true) (= x!1 false)) true           false)        ) [GOOD] (define-fun q2_model34_reject () Bool@@ -1096,7 +1103,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) false))) [SEND] (get-value (q2))-[RECV] ((q2 (store (store ((as const Array) true) false false false) false true false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and x!1 (not x!2))))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) false))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) true))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model35 ((x!0 Bool)) Bool           false        )@@ -1105,9 +1120,9 @@                   (distinct (q1         x!0)                             (q1_model35 x!0)))) [GOOD] (define-fun q2_model35 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 true)) false-          (ite (and (= x!0 false) (= x!1 false)) false-          true))+          (ite (and (= x!0 true) (= x!1 false)) true+          (ite (and (= x!0 true) (= x!1 true)) true+          false))        ) [GOOD] (define-fun q2_model35_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1124,7 +1139,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 (lambda ((x!1 Bool)) x!1))) [SEND] (get-value (q2))-[RECV] ((q2 (store (store ((as const Array) true) false false false) true false false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and (not x!1) x!2) (and x!1 (not x!2))))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) true))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) true))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model36 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) true           false)@@ -1134,9 +1157,9 @@                   (distinct (q1         x!0)                             (q1_model36 x!0)))) [GOOD] (define-fun q2_model36 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) false-          (ite (and (= x!0 false) (= x!1 false)) false-          true))+          (ite (and (= x!0 false) (= x!1 true)) true+          (ite (and (= x!0 true) (= x!1 false)) true+          false))        ) [GOOD] (define-fun q2_model36_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1153,7 +1176,7 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) false))) [SEND] (get-value (q2))-[RECV] ((q2 (store (store ((as const Array) true) false false false) true false false)))+[RECV] ((q2 (store ((as const Array) true) false false false))) [GOOD] (define-fun q1_model37 ((x!0 Bool)) Bool           false        )@@ -1162,9 +1185,8 @@                   (distinct (q1         x!0)                             (q1_model37 x!0)))) [GOOD] (define-fun q2_model37 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) false           (ite (and (= x!0 false) (= x!1 false)) false-          true))+          true)        ) [GOOD] (define-fun q2_model37_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1181,15 +1203,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 (lambda ((x!1 Bool)) x!1))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and (not x!1) x!2) (and x!1 (not x!2))))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2)))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) true))+[RECV] (((q2 false true) false)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) true))+[RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model38 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) true           false)@@ -1199,9 +1221,8 @@                   (distinct (q1         x!0)                             (q1_model38 x!0)))) [GOOD] (define-fun q2_model38 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 true)) true-          (ite (and (= x!0 true) (= x!1 false)) true-          false))+          (ite (and (= x!0 true) (= x!1 true)) true+          false)        ) [GOOD] (define-fun q2_model38_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1218,7 +1239,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) false))) [SEND] (get-value (q2))-[RECV] ((q2 (store ((as const Array) true) false false false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) x!2))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) true))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) false))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model39 ((x!0 Bool)) Bool           false        )@@ -1227,8 +1256,8 @@                   (distinct (q1         x!0)                             (q1_model39 x!0)))) [GOOD] (define-fun q2_model39 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 false)) false-          true)+          (ite (and (= x!0 false) (= x!1 true)) true+          false)        ) [GOOD] (define-fun q2_model39_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1245,11 +1274,11 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and (not x!1) x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))+[RECV] (((q2 false true) true)) [SEND] (get-value ((q2 true false))) [RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true)))@@ -1262,8 +1291,9 @@                   (distinct (q1         x!0)                             (q1_model40 x!0)))) [GOOD] (define-fun q2_model40 ((x!0 Bool) (x!1 Bool)) Bool+          (ite (and (= x!0 false) (= x!1 true)) true           (ite (and (= x!0 true) (= x!1 true)) true-          false)+          false))        ) [GOOD] (define-fun q2_model40_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1278,19 +1308,29 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 (lambda ((x!1 Bool)) x!1))) [SEND] (get-value (q2))-[RECV] ((q2 ((as const Array) false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and x!1 (not x!2))))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) false))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) true))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model41 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) false-          true)+          (ite (and (= x!0 true)) true+          false)        ) [GOOD] (define-fun q1_model41_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model41 x!0)))) [GOOD] (define-fun q2_model41 ((x!0 Bool) (x!1 Bool)) Bool-          false+          (ite (and (= x!0 true) (= x!1 false)) true+          (ite (and (= x!0 true) (= x!1 true)) true+          false))        ) [GOOD] (define-fun q2_model41_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1305,15 +1345,15 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 (lambda ((x!1 Bool)) (not x!1)))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and x!1 (not x!2)))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true))) [RECV] (((q2 false true) false)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))+[RECV] (((q2 true false) true)) [SEND] (get-value ((q2 true true))) [RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model42 ((x!0 Bool)) Bool@@ -1325,8 +1365,9 @@                   (distinct (q1         x!0)                             (q1_model42 x!0)))) [GOOD] (define-fun q2_model42 ((x!0 Bool) (x!1 Bool)) Bool+          (ite (and (= x!0 true) (= x!1 false)) true           (ite (and (= x!0 true) (= x!1 true)) true-          false)+          false))        ) [GOOD] (define-fun q2_model42_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1343,13 +1384,13 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 (not x!2)) (and x!1 x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true))) [RECV] (((q2 false true) false)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))+[RECV] (((q2 true false) true)) [SEND] (get-value ((q2 true true))) [RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model43 ((x!0 Bool)) Bool@@ -1360,8 +1401,9 @@                   (distinct (q1         x!0)                             (q1_model43 x!0)))) [GOOD] (define-fun q2_model43 ((x!0 Bool) (x!1 Bool)) Bool+          (ite (and (= x!0 true) (= x!1 false)) true           (ite (and (= x!0 true) (= x!1 true)) true-          false)+          false))        ) [GOOD] (define-fun q2_model43_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1413,15 +1455,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and x!1 (not x!2))))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and (not x!1) x!2) (and x!1 (not x!2)))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))+[RECV] (((q2 false true) true)) [SEND] (get-value ((q2 true false))) [RECV] (((q2 true false) true)) [SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) true))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model45 ((x!0 Bool)) Bool           true        )@@ -1430,8 +1472,8 @@                   (distinct (q1         x!0)                             (q1_model45 x!0)))) [GOOD] (define-fun q2_model45 ((x!0 Bool) (x!1 Bool)) Bool+          (ite (and (= x!0 false) (= x!1 true)) true           (ite (and (= x!0 true) (= x!1 false)) true-          (ite (and (= x!0 true) (= x!1 true)) true           false))        ) [GOOD] (define-fun q2_model45_reject () Bool@@ -1474,20 +1516,20 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (store ((as const Array) true) false false false)))+[RECV] ((q2 (store (store ((as const Array) true) false false false) true false false))) [GOOD] (define-fun q1_model47 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) false-          true)+          true        ) [GOOD] (define-fun q1_model47_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model47 x!0)))) [GOOD] (define-fun q2_model47 ((x!0 Bool) (x!1 Bool)) Bool+          (ite (and (= x!0 true) (= x!1 false)) false           (ite (and (= x!0 false) (= x!1 false)) false-          true)+          true))        ) [GOOD] (define-fun q2_model47_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1502,20 +1544,19 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and (not x!1) x!2) (and x!1 (not x!2))))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) x!2)))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true))) [RECV] (((q2 false true) true)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) true))+[RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true))) [RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model48 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) false-          true)+          true        ) [GOOD] (define-fun q1_model48_reject () Bool           (exists ((x!0 Bool))@@ -1523,8 +1564,7 @@                             (q1_model48 x!0)))) [GOOD] (define-fun q2_model48 ((x!0 Bool) (x!1 Bool)) Bool           (ite (and (= x!0 false) (= x!1 true)) true-          (ite (and (= x!0 true) (= x!1 false)) true-          false))+          false)        ) [GOOD] (define-fun q2_model48_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1541,7 +1581,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (store (store ((as const Array) true) false false false) true true false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) false))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) false))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model49 ((x!0 Bool)) Bool           true        )@@ -1550,9 +1598,8 @@                   (distinct (q1         x!0)                             (q1_model49 x!0)))) [GOOD] (define-fun q2_model49 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 true)) false-          (ite (and (= x!0 false) (= x!1 false)) false-          true))+          (ite (and (= x!0 true) (= x!1 true)) true+          false)        ) [GOOD] (define-fun q2_model49_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1567,20 +1614,28 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 ((as const Array) true)))+[RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (store (store ((as const Array) true) false false false) true false false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 x!2))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) false))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) false))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model50 ((x!0 Bool)) Bool-          true+          (ite (and (= x!0 true)) false+          true)        ) [GOOD] (define-fun q1_model50_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model50 x!0)))) [GOOD] (define-fun q2_model50 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) false-          (ite (and (= x!0 false) (= x!1 false)) false-          true))+          (ite (and (= x!0 true) (= x!1 true)) true+          false)        ) [GOOD] (define-fun q2_model50_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1595,9 +1650,9 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 ((as const Array) true)))+[RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) x!2))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and (not x!1) x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))@@ -1605,9 +1660,10 @@ [SEND] (get-value ((q2 true false))) [RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] (((q2 true true) true)) [GOOD] (define-fun q1_model51 ((x!0 Bool)) Bool-          true+          (ite (and (= x!0 true)) false+          true)        ) [GOOD] (define-fun q1_model51_reject () Bool           (exists ((x!0 Bool))@@ -1615,7 +1671,8 @@                             (q1_model51 x!0)))) [GOOD] (define-fun q2_model51 ((x!0 Bool) (x!1 Bool)) Bool           (ite (and (= x!0 false) (= x!1 true)) true-          false)+          (ite (and (= x!0 true) (= x!1 true)) true+          false))        ) [GOOD] (define-fun q2_model51_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1632,15 +1689,7 @@ [SEND] (get-value (q1)) [RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) x!2))))-[SEND] (get-value ((q2 false false)))-[RECV] (((q2 false false) false))-[SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) true))-[SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))-[SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] ((q2 (store ((as const Array) true) false false false))) [GOOD] (define-fun q1_model52 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) false           true)@@ -1650,8 +1699,8 @@                   (distinct (q1         x!0)                             (q1_model52 x!0)))) [GOOD] (define-fun q2_model52 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 true)) true-          false)+          (ite (and (= x!0 false) (= x!1 false)) false+          true)        ) [GOOD] (define-fun q2_model52_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1668,15 +1717,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and (not x!1) x!2)))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and (not x!1) x!2) (and x!1 (not x!2)))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true))) [RECV] (((q2 false true) true)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))+[RECV] (((q2 true false) true)) [SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) true))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model53 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) false           true)@@ -1687,7 +1736,7 @@                             (q1_model53 x!0)))) [GOOD] (define-fun q2_model53 ((x!0 Bool) (x!1 Bool)) Bool           (ite (and (= x!0 false) (= x!1 true)) true-          (ite (and (= x!0 true) (= x!1 true)) true+          (ite (and (= x!0 true) (= x!1 false)) true           false))        ) [GOOD] (define-fun q2_model53_reject () Bool@@ -1703,21 +1752,28 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (lambda ((x!1 Bool)) x!1)))+[RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (store (store ((as const Array) true) false false false) false true false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 (not x!2)))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) false))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) false))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) true))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model54 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) true-          false)+          (ite (and (= x!0 true)) false+          true)        ) [GOOD] (define-fun q1_model54_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model54 x!0)))) [GOOD] (define-fun q2_model54 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 true)) false-          (ite (and (= x!0 false) (= x!1 false)) false-          true))+          (ite (and (= x!0 true) (= x!1 false)) true+          false)        ) [GOOD] (define-fun q2_model54_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1734,15 +1790,7 @@ [SEND] (get-value (q1)) [RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and x!1 (not x!2)))))-[SEND] (get-value ((q2 false false)))-[RECV] (((q2 false false) false))-[SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))-[SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) true))-[SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] ((q2 ((as const Array) false))) [GOOD] (define-fun q1_model55 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) false           true)@@ -1752,8 +1800,7 @@                   (distinct (q1         x!0)                             (q1_model55 x!0)))) [GOOD] (define-fun q2_model55 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) true-          false)+          false        ) [GOOD] (define-fun q2_model55_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1768,17 +1815,17 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 (lambda ((x!1 Bool)) (not x!1)))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (or (and x!1 x!2) (and x!1 (not x!2))))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) x!2)))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) false)) [SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))+[RECV] (((q2 false true) true)) [SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) true))+[RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) true))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model56 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) false           true)@@ -1788,9 +1835,8 @@                   (distinct (q1         x!0)                             (q1_model56 x!0)))) [GOOD] (define-fun q2_model56 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) true-          (ite (and (= x!0 true) (= x!1 true)) true-          false))+          (ite (and (= x!0 false) (= x!1 true)) true+          false)        ) [GOOD] (define-fun q2_model56_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1805,27 +1851,19 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 ((as const Array) true)))+[RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) (not x!2)))))-[SEND] (get-value ((q2 false false)))-[RECV] (((q2 false false) true))-[SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))-[SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))-[SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] ((q2 ((as const Array) true))) [GOOD] (define-fun q1_model57 ((x!0 Bool)) Bool-          true+          (ite (and (= x!0 true)) false+          true)        ) [GOOD] (define-fun q1_model57_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model57 x!0)))) [GOOD] (define-fun q2_model57 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 false)) true-          false)+          true        ) [GOOD] (define-fun q2_model57_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1842,15 +1880,7 @@ [SEND] (get-value (q1)) [RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) (not x!2)))))-[SEND] (get-value ((q2 false false)))-[RECV] (((q2 false false) true))-[SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) false))-[SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))-[SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] ((q2 (store ((as const Array) true) true false false))) [GOOD] (define-fun q1_model58 ((x!0 Bool)) Bool           (ite (and (= x!0 true)) false           true)@@ -1860,8 +1890,8 @@                   (distinct (q1         x!0)                             (q1_model58 x!0)))) [GOOD] (define-fun q2_model58 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 false)) true-          false)+          (ite (and (= x!0 true) (= x!1 false)) false+          true)        ) [GOOD] (define-fun q2_model58_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1876,12 +1906,11 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2)) [RECV] ((q2 (store ((as const Array) true) true false false))) [GOOD] (define-fun q1_model59 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) false-          true)+          true        ) [GOOD] (define-fun q1_model59_reject () Bool           (exists ((x!0 Bool))@@ -1906,7 +1935,15 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (store ((as const Array) true) true false false)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) (not x!2)))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) true))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) false))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) false))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model60 ((x!0 Bool)) Bool           true        )@@ -1915,8 +1952,8 @@                   (distinct (q1         x!0)                             (q1_model60 x!0)))) [GOOD] (define-fun q2_model60 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 true) (= x!1 false)) false-          true)+          (ite (and (= x!0 false) (= x!1 false)) true+          false)        ) [GOOD] (define-fun q2_model60_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1931,18 +1968,30 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 ((as const Array) true)))+[RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 ((as const Array) true)))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool))+         (or (and (not x!1) (not x!2)) (and (not x!1) x!2)))))+[SEND] (get-value ((q2 false false)))+[RECV] (((q2 false false) true))+[SEND] (get-value ((q2 false true)))+[RECV] (((q2 false true) true))+[SEND] (get-value ((q2 true false)))+[RECV] (((q2 true false) false))+[SEND] (get-value ((q2 true true)))+[RECV] (((q2 true true) false)) [GOOD] (define-fun q1_model61 ((x!0 Bool)) Bool-          true+          (ite (and (= x!0 true)) false+          true)        ) [GOOD] (define-fun q1_model61_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model61 x!0)))) [GOOD] (define-fun q2_model61 ((x!0 Bool) (x!1 Bool)) Bool-          true+          (ite (and (= x!0 false) (= x!1 false)) true+          (ite (and (= x!0 false) (= x!1 true)) true+          false))        ) [GOOD] (define-fun q2_model61_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1957,19 +2006,20 @@ [SEND] (check-sat) [RECV] sat [SEND] (get-value (q1))-[RECV] ((q1 (store ((as const Array) true) true false)))+[RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 ((as const Array) true)))+[RECV] ((q2 (store (store ((as const Array) true) true false false) true true false))) [GOOD] (define-fun q1_model62 ((x!0 Bool)) Bool-          (ite (and (= x!0 true)) false-          true)+          true        ) [GOOD] (define-fun q1_model62_reject () Bool           (exists ((x!0 Bool))                   (distinct (q1         x!0)                             (q1_model62 x!0)))) [GOOD] (define-fun q2_model62 ((x!0 Bool) (x!1 Bool)) Bool-          true+          (ite (and (= x!0 true) (= x!1 true)) false+          (ite (and (= x!0 true) (= x!1 false)) false+          true))        ) [GOOD] (define-fun q2_model62_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -1986,16 +2036,7 @@ [SEND] (get-value (q1)) [RECV] ((q1 ((as const Array) true))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool))-         (or (and (not x!1) x!2) (and (not x!1) (not x!2))))))-[SEND] (get-value ((q2 false false)))-[RECV] (((q2 false false) true))-[SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) true))-[SEND] (get-value ((q2 true false)))-[RECV] (((q2 true false) false))-[SEND] (get-value ((q2 true true)))-[RECV] (((q2 true true) false))+[RECV] ((q2 ((as const Array) true))) [GOOD] (define-fun q1_model63 ((x!0 Bool)) Bool           true        )@@ -2004,9 +2045,7 @@                   (distinct (q1         x!0)                             (q1_model63 x!0)))) [GOOD] (define-fun q2_model63 ((x!0 Bool) (x!1 Bool)) Bool-          (ite (and (= x!0 false) (= x!1 false)) true-          (ite (and (= x!0 false) (= x!1 true)) true-          false))+          true        ) [GOOD] (define-fun q2_model63_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -2023,12 +2062,11 @@ [SEND] (get-value (q1)) [RECV] ((q1 (store ((as const Array) true) true false))) [SEND] (get-value (q2))-[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool))-         (or (and (not x!1) (not x!2)) (and (not x!1) x!2)))))+[RECV] ((q2 (lambda ((x!1 Bool) (x!2 Bool)) (and (not x!1) (not x!2))))) [SEND] (get-value ((q2 false false))) [RECV] (((q2 false false) true)) [SEND] (get-value ((q2 false true)))-[RECV] (((q2 false true) true))+[RECV] (((q2 false true) false)) [SEND] (get-value ((q2 true false))) [RECV] (((q2 true false) false)) [SEND] (get-value ((q2 true true)))@@ -2043,8 +2081,7 @@                             (q1_model64 x!0)))) [GOOD] (define-fun q2_model64 ((x!0 Bool) (x!1 Bool)) Bool           (ite (and (= x!0 false) (= x!1 false)) true-          (ite (and (= x!0 false) (= x!1 true)) true-          false))+          false)        ) [GOOD] (define-fun q2_model64_reject () Bool           (exists ((x!0 Bool) (x!1 Bool))@@ -2068,40 +2105,40 @@    q2 :: Bool -> Bool -> Bool   q2 False False = True -  q2 False True  = True    q2 _     _     = False Solution #2:   q1 :: Bool -> Bool   q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 False False = True -  q2 False True  = True -  q2 _     _     = False+  q2 _ _ = True Solution #3:   q1 :: Bool -> Bool-  q1 True = False-  q1 _    = True +  q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 _ _ = True+  q2 True True  = False+  q2 True False = False+  q2 _    _     = True  Solution #4:   q1 :: Bool -> Bool-  q1 _ = True+  q1 True = False+  q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 _ _ = True+  q2 False False = True +  q2 False True  = True +  q2 _     _     = False Solution #5:   q1 :: Bool -> Bool   q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 True False = False-  q2 _    _     = True +  q2 False False = True +  q2 _     _     = False Solution #6:   q1 :: Bool -> Bool-  q1 True = False-  q1 _    = True +  q1 _ = True    q2 :: Bool -> Bool -> Bool   q2 True False = False@@ -2112,96 +2149,92 @@   q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 False False = True -  q2 _     _     = False+  q2 True False = False+  q2 _    _     = True  Solution #8:   q1 :: Bool -> Bool-  q1 _ = True+  q1 True = False+  q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 False False = True -  q2 _     _     = False+  q2 _ _ = True Solution #9:   q1 :: Bool -> Bool   q1 True = False   q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 True False = True -  q2 True True  = True -  q2 _    _     = False+  q2 False True = True +  q2 _     _    = False Solution #10:   q1 :: Bool -> Bool   q1 True = False   q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 True False = True -  q2 _    _     = False+  q2 _ _ = False Solution #11:   q1 :: Bool -> Bool-  q1 True = True -  q1 _    = False+  q1 True = False+  q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 False True  = False-  q2 False False = False-  q2 _     _     = True +  q2 True False = True +  q2 _    _     = False Solution #12:   q1 :: Bool -> Bool   q1 True = False   q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 False True = True -  q2 True  True = True -  q2 _     _    = False+  q2 False True  = True +  q2 True  False = True +  q2 _     _     = False Solution #13:   q1 :: Bool -> Bool   q1 True = False   q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 False True = True -  q2 _     _    = False+  q2 False False = False+  q2 _     _     = True  Solution #14:   q1 :: Bool -> Bool-  q1 _ = True+  q1 True = False+  q1 _    = True     q2 :: Bool -> Bool -> Bool   q2 False True = True +  q2 True  True = True    q2 _     _    = False Solution #15:   q1 :: Bool -> Bool-  q1 _ = True+  q1 True = False+  q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 True  False = False-  q2 False False = False-  q2 _     _     = True +  q2 True True = True +  q2 _    _    = False Solution #16:   q1 :: Bool -> Bool   q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 True  True  = False-  q2 False False = False-  q2 _     _     = True +  q2 True True = True +  q2 _    _    = False Solution #17:   q1 :: Bool -> Bool-  q1 True = False-  q1 _    = True +  q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 False True  = True -  q2 True  False = True -  q2 _     _     = False+  q2 False True = True +  q2 _     _    = False Solution #18:   q1 :: Bool -> Bool-  q1 True = False-  q1 _    = True +  q1 _ = True    q2 :: Bool -> Bool -> Bool+  q2 True  False = False   q2 False False = False   q2 _     _     = True  Solution #19:@@ -2216,9 +2249,9 @@   q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 True False = True -  q2 True True  = True -  q2 _    _     = False+  q2 False True  = True +  q2 True  False = True +  q2 _     _     = False Solution #21:   q1 :: Bool -> Bool   q1 _ = True@@ -2231,52 +2264,55 @@   q1 _ = True    q2 :: Bool -> Bool -> Bool-  q2 True True = True -  q2 _    _    = False+  q2 True False = True +  q2 True True  = True +  q2 _    _     = False Solution #23:   q1 :: Bool -> Bool   q1 True = False   q1 _    = True     q2 :: Bool -> Bool -> Bool-  q2 True True = True -  q2 _    _    = False+  q2 True False = True +  q2 True True  = True +  q2 _    _     = False Solution #24:   q1 :: Bool -> Bool-  q1 True = False-  q1 _    = True +  q1 True = True +  q1 _    = False    q2 :: Bool -> Bool -> Bool-  q2 _ _ = False+  q2 True False = True +  q2 True True  = True +  q2 _    _     = False Solution #25:   q1 :: Bool -> Bool   q1 _ = False    q2 :: Bool -> Bool -> Bool-  q2 True True = True -  q2 _    _    = False+  q2 False True = True +  q2 True  True = True +  q2 _     _    = False Solution #26:   q1 :: Bool -> Bool   q1 _ = False    q2 :: Bool -> Bool -> Bool-  q2 False False = False-  q2 _     _     = True +  q2 False True = True +  q2 _     _    = False Solution #27:   q1 :: Bool -> Bool   q1 True = True    q1 _    = False    q2 :: Bool -> Bool -> Bool-  q2 False True  = True -  q2 True  False = True -  q2 _     _     = False+  q2 True True = True +  q2 _    _    = False Solution #28:   q1 :: Bool -> Bool   q1 _ = False    q2 :: Bool -> Bool -> Bool-  q2 True  False = False   q2 False False = False   q2 _     _     = True  Solution #29:@@ -2285,41 +2321,33 @@   q1 _    = False    q2 :: Bool -> Bool -> Bool-  q2 True  False = False-  q2 False False = False-  q2 _     _     = True +  q2 False True  = True +  q2 True  False = True +  q2 _     _     = False Solution #30:   q1 :: Bool -> Bool   q1 _ = False    q2 :: Bool -> Bool -> Bool-  q2 False True  = False-  q2 False False = False-  q2 _     _     = True +  q2 True False = True +  q2 True True  = True +  q2 _    _     = False Solution #31:   q1 :: Bool -> Bool-  q1 _ = False--  q2 :: Bool -> Bool -> Bool-  q2 False True = True -  q2 _     _    = False-Solution #32:-  q1 :: Bool -> Bool   q1 True = True    q1 _    = False    q2 :: Bool -> Bool -> Bool   q2 True False = True    q2 _    _     = False-Solution #33:+Solution #32:   q1 :: Bool -> Bool-  q1 True = True -  q1 _    = False+  q1 _ = False    q2 :: Bool -> Bool -> Bool   q2 True True = True    q2 _    _    = False-Solution #34:+Solution #33:   q1 :: Bool -> Bool   q1 True = True    q1 _    = False@@ -2327,6 +2355,15 @@   q2 :: Bool -> Bool -> Bool   q2 False False = False   q2 _     _     = True +Solution #34:+  q1 :: Bool -> Bool+  q1 True = True +  q1 _    = False++  q2 :: Bool -> Bool -> Bool+  q2 False True = True +  q2 True  True = True +  q2 _     _    = False Solution #35:   q1 :: Bool -> Bool   q1 True = True 
SBVTestSuite/GoldFiles/unint-axioms-query.gold view
@@ -20,7 +20,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (declare-fun AND (B B) B) [GOOD] (declare-fun NOT (B) B) [GOOD] (declare-fun OR (B B) B)
SBVTestSuite/GoldFiles/uninterpreted-3.gold view
@@ -18,10 +18,16 @@ [GOOD] (declare-fun p () Bool) [GOOD] (declare-fun q () Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool p) [GOOD] (define-fun s1 () Bool q) [GOOD] (define-fun s2 () Bool (or s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/uninterpreted-3a.gold view
@@ -18,10 +18,16 @@ [GOOD] (declare-fun p () Bool) [GOOD] (declare-fun q () Bool) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Bool p) [GOOD] (define-fun s1 () Bool q) [GOOD] (define-fun s2 () Bool (or s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) *** Checking Satisfiability, all solutions.. Fast allSat, Looking for solution 1
SBVTestSuite/GoldFiles/uninterpreted-4.gold view
@@ -19,10 +19,16 @@ [GOOD] (declare-fun c () Q) [GOOD] (declare-fun d () Q) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Q c) [GOOD] (define-fun s1 () Q d) [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/uninterpreted-4a.gold view
@@ -19,10 +19,16 @@ [GOOD] (declare-fun c () Q) [GOOD] (declare-fun d () Q) [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s0 () Q c) [GOOD] (define-fun s1 () Q d) [GOOD] (define-fun s2 () Bool (distinct s0 s1))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) *** Checking Satisfiability, all solutions.. *** SBV.allSat: Uninterpreted function: c :: Q
SBVTestSuite/GoldFiles/validate_0.gold view
@@ -18,8 +18,14 @@ [ISSUE] ; --- arrays --- [ISSUE] ; --- uninterpreted constants --- [ISSUE] ; --- user given axioms ----[ISSUE] ; --- formula ---+[ISSUE] ; --- preQuantifier assignments --- [ISSUE] (define-fun s2 () Bool (bvult s0 s1))+[ISSUE] ; --- arrayDelayeds ---+[ISSUE] ; --- arraySetups ---+[ISSUE] ; --- formula ---+[ISSUE] ; --- postQuantifier assignments ---+[ISSUE] ; --- delayedEqualities ---+[ISSUE] ; -- finalAssert --- [ISSUE] (assert s2) [SEND] (check-sat) [RECV] sat
SBVTestSuite/GoldFiles/validate_1.gold view
@@ -18,18 +18,24 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (_ FloatingPoint  8 24) (fp.add s1 s0 s0)) [GOOD] (define-fun s3 () Bool (fp.eq s0 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))-[RECV] ((s0 (_ +zero 8 24)))+[RECV] ((s0 (fp #b0 #xfe #b11111111111111111111111))) *** Solver   : Z3 *** Exit code: ExitSuccess [VALIDATE] Validating the model. Assignment:-[VALIDATE]       x = 0.0 :: Float+[VALIDATE]       x = 3.4028235e38 :: Float [VALIDATE] There are no constraints to check. [VALIDATE] Validating outputs. @@ -38,7 +44,7 @@ ***  *** Assignment: *** -***       x = 0.0 :: Float+***       x = 3.4028235e38 :: Float ***  *** Not all floating point operations are supported concretely. *** @@ -48,4 +54,4 @@ *** Alleged model: *** *** Satisfiable. Model:-***   x = 0.0 :: Float+***   x = 3.4028235e38 :: Float
SBVTestSuite/GoldFiles/validate_2.gold view
@@ -18,18 +18,24 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () (_ FloatingPoint  8 24) (fp.fma s1 s0 s0 s0)) [GOOD] (define-fun s3 () Bool (fp.eq s0 s2))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s3) [SEND] (check-sat) [RECV] sat [SEND] (get-value (s0))-[RECV] ((s0 (_ -zero 8 24)))+[RECV] ((s0 (fp #b0 #x33 #b11111010111011111101111))) *** Solver   : Z3 *** Exit code: ExitSuccess [VALIDATE] Validating the model. Assignment:-[VALIDATE]       x = -0.0 :: Float+[VALIDATE]       x = 2.6208028e-23 :: Float [VALIDATE] There are no constraints to check. [VALIDATE] Validating outputs. @@ -38,7 +44,7 @@ ***  *** Assignment: *** -***       x = -0.0 :: Float+***       x = 2.6208028e-23 :: Float ***  *** Floating point FMA operation is not supported concretely. *** @@ -48,4 +54,4 @@ *** Alleged model: *** *** Satisfiable. Model:-***   x = -0.0 :: Float+***   x = 2.6208028e-23 :: Float
SBVTestSuite/GoldFiles/validate_3.gold view
@@ -17,7 +17,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert false) [SEND] (check-sat) [RECV] unsat
SBVTestSuite/GoldFiles/validate_4.gold view
@@ -17,7 +17,13 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert false) [GOOD] (assert false) [SEND] (check-sat)
SBVTestSuite/GoldFiles/validate_5.gold view
@@ -20,11 +20,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (> s0 s1)) [GOOD] (define-fun s4 () Bool (> s0 s3)) [GOOD] (define-fun s6 () Int (+ s1 s5)) [GOOD] (define-fun s7 () Bool (= s0 s6))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s4) [GOOD] (assert s7)
SBVTestSuite/GoldFiles/validate_6.gold view
@@ -20,11 +20,17 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ----[GOOD] ; --- formula ---+[GOOD] ; --- preQuantifier assignments --- [GOOD] (define-fun s2 () Bool (> s0 s1)) [GOOD] (define-fun s4 () Bool (> s0 s3)) [GOOD] (define-fun s6 () Int (+ s1 s5)) [GOOD] (define-fun s7 () Bool (= s0 s6))+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups ---+[GOOD] ; --- formula ---+[GOOD] ; --- postQuantifier assignments ---+[GOOD] ; --- delayedEqualities ---+[GOOD] ; -- finalAssert --- [GOOD] (assert s2) [GOOD] (assert s4) [GOOD] (assert (not s7))
SBVTestSuite/GoldFiles/validate_7.gold view
@@ -17,8 +17,12 @@ [GOOD] ; --- arrays --- [GOOD] ; --- uninterpreted constants --- [GOOD] ; --- user given axioms ---+[GOOD] ; --- preQuantifier assignments ---+[GOOD] ; --- arrayDelayeds ---+[GOOD] ; --- arraySetups --- [GOOD] ; --- formula --- [GOOD] (assert (forall ((s1 (_ FloatingPoint  8 24)))+       ; --- postQuantifier assignments ---                    (let ((s2 (fp.isNaN s1)))                    (let ((s3 (fp.isInfinite s1)))                    (let ((s4 (or s2 s3)))@@ -26,6 +30,8 @@                    (let ((s6 (not s5)))                    (let ((s7 (fp.leq s0 s1)))                    (let ((s8 (or s6 s7)))+       ; --- delayedEqualities ---+       ; -- finalAssert ---                    s8))))))))) [SEND] (check-sat) [RECV] sat
SBVTestSuite/TestSuite/Arrays/Caching.hs view
@@ -28,7 +28,7 @@  test :: Bool -> Symbolic SBool test swap = do-    arr :: SFunArray Integer Integer <- newArray "items" (Just 0)+    arr :: SArray Integer Integer <- newArray "items" (Just 0)     x   <- sInteger "x"      let ys = writeArray arr 0 2
SBVTestSuite/TestSuite/Arrays/InitVals.hs view
@@ -59,16 +59,10 @@ tests =   testGroup "Arrays.InitVals"     [ testCase "readDef_SArray"              $ assertIsThm (readDef (undefined :: SArray    Integer Integer))-    , testCase "readDef_SFunArray"           $ assertIsThm (readDef (undefined :: SFunArray Integer Integer))-     , testCase "readDef2_SArray2"            $ assertIsSat (readNoDef (undefined :: SArray    Integer Integer))-    , testCase "readDef2_SFunArray"          $ assertIsSat (readNoDef (undefined :: SFunArray Integer Integer))-     , goldenCapturedIO "constArr_SArray"     $ t  (undefined :: SArray    Integer Integer)-    , goldenCapturedIO "constArr_SFunArray"  $ t  (undefined :: SFunArray Integer Integer)      , goldenCapturedIO "constArr2_SArray"    $ t2 (undefined :: SArray    Integer Integer)-    , goldenCapturedIO "constArr2_SFunArray" $ t2 (undefined :: SFunArray Integer Integer)     ]     where t p goldFile = do r <- satWith defaultSMTCfg{verbose=True, redirectVerbose = Just goldFile} (constArr p)                             appendFile goldFile ("\nFINAL OUTPUT:\n" ++ show r ++ "\n")
SBVTestSuite/TestSuite/Arrays/Memory.hs view
@@ -21,72 +21,69 @@ type ValueBase   = Word64 type Address     = SBV AddressBase type Value       = SBV ValueBase-type Memory m    = m AddressBase ValueBase+type Memory      = SArray AddressBase ValueBase  -- | read-after-write: If you write a value and read it back, you'll get it-raw :: SymArray m => Address -> Value -> Memory m -> SBool+raw :: Address -> Value -> Memory -> SBool raw a v m = readArray (writeArray m a v) a .== v  -- | if read from a place you didn't write to, the result doesn't change-rawd :: SymArray m => Address -> Address -> Value -> Memory m -> SBool+rawd :: Address -> Address -> Value -> Memory -> SBool rawd a b v m = a ./= b .=> readArray (writeArray m a v) b .== readArray m b  -- | write-after-write: If you write to the same location twice, then the first one is ignored-waw :: SymArray m => Address -> Value -> Value -> Memory m -> Address -> SBool+waw :: Address -> Value -> Value -> Memory -> Address -> SBool waw a v1 v2 m0 i = readArray m2 i .== readArray m3 i   where m1 = writeArray m0 a v1         m2 = writeArray m1 a v2         m3 = writeArray m0 a v2  -- | Two writes to different locations commute, i.e., can be done in any order-wcommutesGood :: SymArray m => (Address, Value) -> (Address, Value) -> Memory m -> Address -> SBool+wcommutesGood :: (Address, Value) -> (Address, Value) -> Memory -> Address -> SBool wcommutesGood (a, x) (b, y) m i = a ./= b .=> wcommutesBad (a, x) (b, y) m i  -- | Two writes do not commute if they can be done to the same location-wcommutesBad :: SymArray m => (Address, Value) -> (Address, Value) -> Memory m -> Address -> SBool+wcommutesBad :: (Address, Value) -> (Address, Value) -> Memory -> Address -> SBool wcommutesBad (a, x) (b, y) m i = readArray m0 i .== readArray m1 i    where m0 = writeArray (writeArray m a x) b y          m1 = writeArray (writeArray m b y) a x --- | Extensionality. Note that we can only check this for SArray, since an SFunArray doesn't allow for--- symbolic equality. (In other words, checking this for SFunArray would be saying "if all reads are the--- same, then all reads are the same," which is useless at best.) Essentially, we need a nested--- quantifier here.-extensionality :: (SymArray m, EqSymbolic (Memory m)) => Memory m -> Memory m -> Predicate+-- | Extensionality+extensionality :: Memory -> Memory -> Predicate extensionality m1 m2 = do i <- exists_                           return $ (readArray m1 i ./= readArray m2 i) .|| m1 .== m2  -- | Extensionality, second variant. Expressible for both kinds of arrays.-extensionality2 :: SymArray m => Memory m -> Memory m -> Address -> Predicate+extensionality2 :: Memory -> Memory -> Address -> Predicate extensionality2 m1 m2 i = do j <- exists_                              return $ (readArray m1 j ./= readArray m2 j) .|| readArray m1 i .== readArray m2 i  -- | Merge, using memory equality to check result-mergeEq :: (SymArray m, Mergeable (Memory m), EqSymbolic (Memory m)) => SBool -> Memory m  -> Memory m -> SBool+mergeEq :: SBool -> Memory -> Memory -> SBool mergeEq b m1 m2 = ite b m1 m2 .== ite (sNot b) m2 m1  -- | Merge, using extensionality to check result-mergeExt :: (SymArray m, Mergeable (Memory m)) => SBool -> Memory m -> Memory m -> Address -> SBool+mergeExt :: SBool -> Memory -> Memory -> Address -> SBool mergeExt b m1 m2 i = readArray (ite b m1 m2) i .== readArray (ite (sNot b) m2 m1) i  -- | Merge semantics-mergeSem :: (SymArray m, Mergeable (Memory m)) => SBool -> Memory m -> Memory m -> Address -> SBool+mergeSem :: SBool -> Memory -> Memory -> Address -> SBool mergeSem b m1 m2 i = readArray (ite b m1 m2) i .== ite b (readArray m1 i) (readArray m2 i)  -- | Merge semantics 2, but make sure to populate the array so merge does something interesting-mergeSem2 :: (SymArray m, Mergeable (Memory m)) => SBool -> Memory m -> Memory m -> (Address, Value) -> (Address, Value) -> Address -> SBool+mergeSem2 :: SBool -> Memory -> Memory -> (Address, Value) -> (Address, Value) -> Address -> SBool mergeSem2 b m1 m2 (a1, v1) (a2, v2) i = readArray (ite b m1' m2') i .== ite b (readArray m1' i) (readArray m2' i)    where m1' = writeArray (writeArray m1 a1 v1) a2 v2          m2' = writeArray (writeArray m2 a1 v1) a2 v2  -- | Merge is done correctly:-mergeSem3 :: (SymArray m, Mergeable (Memory m)) => SBool -> Memory m -> (Address, Value) -> (Address, Value) -> SBool+mergeSem3 :: SBool -> Memory -> (Address, Value) -> (Address, Value) -> SBool mergeSem3 b m (a1, v1) (a2, v2) = readArray (ite b m1 m2) a1 .== ite b (readArray m1 a1) (readArray m2 a1)   where m1 = writeArray m a1 v1         m2 = writeArray m a2 v2  -- | Another merge check-mergeSem4 :: (SymArray m, Mergeable (Memory m)) => SBool -> Memory m -> Address -> Address -> SBool+mergeSem4 :: SBool -> Memory -> Address -> Address -> SBool mergeSem4 b m a1 a2 = readArray m3 a2 .== ite b (readArray m a2) 3   where m1 = writeArray m a1 1         m2 = writeArray (writeArray m a1 2) a2 3@@ -95,40 +92,17 @@ tests :: TestTree tests =   testGroup "Arrays.Memory"-    [ testCase "raw_SArray"              $ assertIsThm   (raw :: Address -> Value -> Memory SArray    -> SBool)-    , testCase "raw_SFunArray"           $ assertIsThm   (raw :: Address -> Value -> Memory SFunArray -> SBool)--    , testCase "rawd_SArray"             $ assertIsThm   (rawd :: Address -> Address -> Value -> Memory SArray    -> SBool)-    , testCase "rawd_SFunArray"          $ assertIsThm   (rawd :: Address -> Address -> Value -> Memory SFunArray -> SBool)--    , testCase "waw_SArray"              $ assertIsThm   (waw :: Address -> Value -> Value -> Memory SArray    -> Address -> SBool)-    , testCase "waw_SFunArray"           $ assertIsThm   (waw :: Address -> Value -> Value -> Memory SFunArray -> Address -> SBool)--    , testCase "wcommute-good_SArray"    $ assertIsThm   (wcommutesGood :: (Address, Value) -> (Address, Value) -> Memory SArray    -> Address -> SBool)-    , testCase "wcommute-good_SFunArray" $ assertIsThm   (wcommutesGood :: (Address, Value) -> (Address, Value) -> Memory SFunArray -> Address -> SBool)--    , testCase "wcommute-bad_SArray"     $ assertIsntThm (wcommutesBad  :: (Address, Value) -> (Address, Value) -> Memory SArray    -> Address -> SBool)-    , testCase "wcommute-bad_SFunArray"  $ assertIsntThm (wcommutesBad  :: (Address, Value) -> (Address, Value) -> Memory SFunArray -> Address -> SBool)--    , testCase "ext_SArray"              $ assertIsThm   (extensionality :: Memory SArray -> Memory SArray -> Predicate)--    , testCase "ext2_SArray"             $ assertIsThm   (extensionality2 :: Memory SArray    -> Memory SArray    -> Address -> Predicate)-    , testCase "ext2_SFunArray"          $ assertIsThm   (extensionality2 :: Memory SFunArray -> Memory SFunArray -> Address -> Predicate)--    , testCase "mergeEq_SArray"          $ assertIsThm   (mergeEq :: SBool -> Memory SArray -> Memory SArray -> SBool)--    , testCase "mergeExt_SArray"         $ assertIsThm   (mergeExt :: SBool -> Memory SArray    -> Memory SArray    -> Address -> SBool)-    , testCase "mergeExt_SFunArray"      $ assertIsThm   (mergeExt :: SBool -> Memory SFunArray -> Memory SFunArray -> Address -> SBool)--    , testCase "mergeSem_SArray"         $ assertIsThm   (mergeSem :: SBool -> Memory SArray    -> Memory SArray    -> Address -> SBool)-    , testCase "mergeSem_SFunArray"      $ assertIsThm   (mergeSem :: SBool -> Memory SFunArray -> Memory SFunArray -> Address -> SBool)--    , testCase "mergeSem2_SArray"        $ assertIsThm   (mergeSem2 :: SBool -> Memory SArray    -> Memory SArray    -> (Address, Value) -> (Address, Value) -> Address -> SBool)-    , testCase "mergeSem2_SFunArray"     $ assertIsThm   (mergeSem2 :: SBool -> Memory SFunArray -> Memory SFunArray -> (Address, Value) -> (Address, Value) -> Address -> SBool)--    , testCase "mergeSem3_SArray"        $ assertIsThm   (mergeSem3 :: SBool -> Memory SArray    -> (Address, Value) -> (Address, Value) -> SBool)-    , testCase "mergeSem3_SFunArray"     $ assertIsThm   (mergeSem3 :: SBool -> Memory SFunArray -> (Address, Value) -> (Address, Value) -> SBool)--    , testCase "mergeSem4_SArray"        $ assertIsntThm (mergeSem4 :: SBool -> Memory SArray    -> Address -> Address -> SBool)-    , testCase "mergeSem4_SFunArray"     $ assertIsntThm (mergeSem4 :: SBool -> Memory SFunArray -> Address -> Address -> SBool)+    [ testCase "raw_SArray"              $ assertIsThm   (raw             :: Address -> Value -> Memory -> SBool)+    , testCase "rawd_SArray"             $ assertIsThm   (rawd            :: Address -> Address -> Value -> Memory -> SBool)+    , testCase "waw_SArray"              $ assertIsThm   (waw             :: Address -> Value -> Value -> Memory -> Address -> SBool)+    , testCase "wcommute-good_SArray"    $ assertIsThm   (wcommutesGood   :: (Address, Value) -> (Address, Value) -> Memory -> Address -> SBool)+    , testCase "wcommute-bad_SArray"     $ assertIsntThm (wcommutesBad    :: (Address, Value) -> (Address, Value) -> Memory -> Address -> SBool)+    , testCase "ext_SArray"              $ assertIsThm   (extensionality  :: Memory -> Memory -> Predicate)+    , testCase "ext2_SArray"             $ assertIsThm   (extensionality2 :: Memory -> Memory -> Address -> Predicate)+    , testCase "mergeEq_SArray"          $ assertIsThm   (mergeEq         :: SBool -> Memory -> Memory -> SBool)+    , testCase "mergeExt_SArray"         $ assertIsThm   (mergeExt        :: SBool -> Memory -> Memory -> Address -> SBool)+    , testCase "mergeSem_SArray"         $ assertIsThm   (mergeSem        :: SBool -> Memory -> Memory -> Address -> SBool)+    , testCase "mergeSem2_SArray"        $ assertIsThm   (mergeSem2       :: SBool -> Memory -> Memory -> (Address, Value) -> (Address, Value) -> Address -> SBool)+    , testCase "mergeSem3_SArray"        $ assertIsThm   (mergeSem3       :: SBool -> Memory -> (Address, Value) -> (Address, Value) -> SBool)+    , testCase "mergeSem4_SArray"        $ assertIsntThm (mergeSem4       :: SBool -> Memory -> Address -> Address -> SBool)     ]
SBVTestSuite/TestSuite/Optimization/Combined.hs view
@@ -24,7 +24,6 @@     , goldenVsStringShow "pareto1"   (optimize (Pareto Nothing)   pareto1)     , goldenVsStringShow "pareto2"   (optimize (Pareto (Just 30)) pareto2)     , goldenVsStringShow "pareto3"   (optimize (Pareto Nothing)   pareto3)-    , goldenVsStringShow "boxed1"    (optimize Independent        boxed1)     ]  combined1 :: Goal@@ -84,19 +83,5 @@               minimize "min_x"            x              maximize "max_x_plus_x"   $ x + x--boxed1 :: Goal-boxed1 = do x <- sReal "x"-            y <- sReal "y"--            constrain $ 5 .>= x-y-            constrain $ x .>= 0-            constrain $ 4 .>= y-            constrain $ y .> 0--            minimize "min_x"        x-            maximize "max_x_plus_y" (x + y)-            minimize "min_y"        y-            maximize "max_y"        y  {-# ANN module ("HLint: ignore Reduce duplication" :: String) #-}
SBVTestSuite/TestSuite/Optimization/ExtensionField.hs view
@@ -47,8 +47,8 @@ optExtField3 = do x <- sReal "x"                   y <- sReal "y" -                  constrain $ x .< 4-                  constrain $ y .< 5+                  constrain $ x .<= 4+                  constrain $ y .<= 5                    maximize "x_plus_y" $ x + y 
SBVTestSuite/TestSuite/Queries/FreshVars.hs view
@@ -87,19 +87,14 @@                    constrain $ fpIsPositive vQuad                     vSArray  :: SArray    Integer Integer <- freshArray "vSArray" Nothing-                   vFArray  :: SFunArray Bool    Char    <- freshArray "vFArray" Nothing                    vi1                                   <- freshVar "i1"                    vi2                                   <- freshVar "i2"                    constrain $ readArray vSArray vi1 .== 2-                   constrain $ readArray vFArray vi2 .== literal 'a'                     viSArray  :: SArray    Integer Integer <- freshArray "viSArray" (Just (literal 42))-                   viFArray  :: SFunArray Bool    Char    <- freshArray "viFArray" (Just (literal 'X'))                    mustBe42                               <- freshVar "mustBe42"-                   mustBeX                                <- freshVar "mustBeX"                     constrain $ readArray viSArray 96     .== mustBe42-                   constrain $ readArray viFArray sFalse .== mustBeX                    constrain $ vi1 .== 1                    constrain $ sNot vi2 @@ -135,7 +130,6 @@                                vi1Val      <- getValue vi1                                vi2Val      <- getValue vi2                                mustBe42Val <- getValue mustBe42-                               mustBeXVal  <- getValue mustBeX                                vStringVal  <- getValue vString                                vList1Val   <- getValue vList1                                vList2Val   <- getValue vList2@@ -162,7 +156,6 @@                                            , vi1        |-> vi1Val                                            , vi2        |-> vi2Val                                            , mustBe42   |-> mustBe42Val-                                           , mustBeX    |-> mustBeXVal                                            , vString    |-> vStringVal                                            , vList1     |-> vList1Val                                            , vList2     |-> vList2Val
SBVTestSuite/TestSuite/Uninterpreted/AUF.hs view
@@ -21,8 +21,6 @@ tests :: TestTree tests =   testGroup "Uninterpreted.AUF"-    [ goldenVsStringShow "auf-0" $ runSAT      $ newArray "a" Nothing >>= \a -> free "x" >>= \x -> free "y" >>= \y -> output (thm x y (a :: SFunArray  Word32 Word32))-    , goldenVsStringShow "auf-1" $ runSAT      $ newArray "a" Nothing >>= \a -> free "x" >>= \x -> free "y" >>= \y -> output (thm x y (a :: SArray     Word32 Word32))+    [ goldenVsStringShow "auf-1" $ runSAT      $ newArray "a" Nothing >>= \a -> free "x" >>= \x -> free "y" >>= \y -> output (thm x y (a :: SArray     Word32 Word32))     , testCase "tc_auf-0"        $ assertIsThm $ newArray "a" Nothing >>= \a -> free "x" >>= \x -> free "y" >>= \y -> return (thm x y (a :: SArray     Word32 Word32))-    , testCase "tc_auf-1"        $ assertIsThm $ newArray "a" Nothing >>= \a -> free "x" >>= \x -> free "y" >>= \y -> return (thm x y (a :: SFunArray  Word32 Word32))     ]
sbv.cabal view
@@ -1,20 +1,20 @@ Cabal-Version: 2.2  Name        : sbv-Version     : 8.14+Version     : 8.15 Category    : Formal Methods, Theorem Provers, Bit vectors, Symbolic Computation, Math, SMT Synopsis    : SMT Based Verification: Symbolic Haskell theorem prover using SMT solving. Description : Express properties about Haskell programs and automatically prove them using SMT                (Satisfiability Modulo Theories) solvers.                .-               For details, please see: <http://leventerkok.github.com/sbv/>+               For details, please see: <http://leventerkok.github.io/sbv/>  Copyright          : Levent Erkok, 2010-2021 License            : BSD-3-Clause License-file       : LICENSE Stability          : Experimental Author             : Levent Erkok-Homepage           : http://leventerkok.github.com/sbv/+Homepage           : http://leventerkok.github.io/sbv/ Bug-reports        : http://github.com/LeventErkok/sbv/issues Maintainer         : Levent Erkok (erkokl@gmail.com) Build-Type         : Simple