sbv 8.14 → 8.15
raw patch · 325 files changed
+2673/−1548 lines, 325 files
Files
- CHANGES.md +28/−7
- Data/SBV.hs +4/−4
- Data/SBV/Control/Utils.hs +4/−2
- Data/SBV/Core/Data.hs +10/−93
- Data/SBV/Core/Floating.hs +9/−9
- Data/SBV/Core/Model.hs +2/−7
- Data/SBV/Core/Operations.hs +3/−251
- Data/SBV/Core/Symbolic.hs +3/−17
- Data/SBV/Dynamic.hs +0/−3
- Data/SBV/Provers/Boolector.hs +1/−1
- Data/SBV/Provers/Prover.hs +1/−10
- Data/SBV/SMT/SMT.hs +2/−2
- Data/SBV/SMT/SMTLib2.hs +12/−11
- Data/SBV/Tools/Range.hs +15/−9
- Data/SBV/Trans.hs +1/−1
- Data/SBV/Tuple.hs +1/−1
- Data/SBV/Utils/PrettyNum.hs +1/−1
- Documentation/SBV/Examples/Crypto/AES.hs +1/−1
- Documentation/SBV/Examples/Existentials/Diophantine.hs +3/−3
- Documentation/SBV/Examples/Misc/Floating.hs +22/−22
- Documentation/SBV/Examples/Optimization/ExtField.hs +10/−10
- Documentation/SBV/Examples/ProofTools/BMC.hs +1/−1
- Documentation/SBV/Examples/Puzzles/HexPuzzle.hs +1/−1
- Documentation/SBV/Examples/Queries/FourFours.hs +1/−1
- Documentation/SBV/Examples/Strings/SQLInjection.hs +3/−3
- Documentation/SBV/Examples/Uninterpreted/AUF.hs +0/−11
- SBVBenchSuite/BenchSuite/Bench/Bench.hs +1/−1
- SBVBenchSuite/BenchSuite/Uninterpreted/AUF.hs +0/−5
- SBVTestSuite/GoldFiles/allSat6.gold +2/−2
- SBVTestSuite/GoldFiles/allSat7.gold +7/−1
- SBVTestSuite/GoldFiles/array_caching_01.gold +29/−9
- SBVTestSuite/GoldFiles/array_caching_02.gold +30/−10
- SBVTestSuite/GoldFiles/auf-0.gold +0/−32
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int16_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int32_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int64_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Int8_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word16_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word32_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word64_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Left_Word8_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int16_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int32_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int64_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Int8_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word16_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word32_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word64_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word16.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word32.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word64.gold +7/−1
- SBVTestSuite/GoldFiles/barrelRotate_Right_Word8_Word8.gold +7/−1
- SBVTestSuite/GoldFiles/boxed1.gold +0/−20
- SBVTestSuite/GoldFiles/charConstr00.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr01.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr02.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr03.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr04.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr05.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr06.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr07.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr08.gold +8/−14
- SBVTestSuite/GoldFiles/charConstr09.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr10.gold +7/−1
- SBVTestSuite/GoldFiles/charConstr11.gold +7/−1
- SBVTestSuite/GoldFiles/concreteFoldl.gold +6/−0
- SBVTestSuite/GoldFiles/concreteFoldr.gold +6/−0
- SBVTestSuite/GoldFiles/concreteReverse.gold +6/−0
- SBVTestSuite/GoldFiles/concreteSort.gold +6/−0
- SBVTestSuite/GoldFiles/constArr2_SArray.gold +8/−2
- SBVTestSuite/GoldFiles/constArr2_SFunArray.gold +0/−67
- SBVTestSuite/GoldFiles/constArr_SArray.gold +8/−2
- SBVTestSuite/GoldFiles/constArr_SFunArray.gold +0/−68
- SBVTestSuite/GoldFiles/dsat01.gold +7/−1
- SBVTestSuite/GoldFiles/exceptionLocal1.gold +1/−1
- SBVTestSuite/GoldFiles/foldlABC1.gold +7/−1
- SBVTestSuite/GoldFiles/foldlABC2.gold +7/−1
- SBVTestSuite/GoldFiles/foldlABC3.gold +7/−1
- SBVTestSuite/GoldFiles/foldrAB1.gold +7/−1
- SBVTestSuite/GoldFiles/foldrAB2.gold +7/−1
- SBVTestSuite/GoldFiles/foldrAB3.gold +7/−1
- SBVTestSuite/GoldFiles/freshVars.gold +50/−61
- SBVTestSuite/GoldFiles/genBenchMark1.gold +7/−1
- SBVTestSuite/GoldFiles/genBenchMark2.gold +7/−1
- SBVTestSuite/GoldFiles/mapNoFailure.gold +7/−1
- SBVTestSuite/GoldFiles/mapWithFailure.gold +7/−1
- SBVTestSuite/GoldFiles/maxlWithFailure.gold +7/−1
- SBVTestSuite/GoldFiles/maxrWithFailure.gold +7/−1
- SBVTestSuite/GoldFiles/noOpt1.gold +6/−0
- SBVTestSuite/GoldFiles/noOpt2.gold +6/−0
- SBVTestSuite/GoldFiles/optExtField3.gold +4/−2
- SBVTestSuite/GoldFiles/pareto1.gold +90/−90
- SBVTestSuite/GoldFiles/pareto2.gold +90/−90
- SBVTestSuite/GoldFiles/pbAtLeast.gold +7/−1
- SBVTestSuite/GoldFiles/pbAtMost.gold +7/−1
- SBVTestSuite/GoldFiles/pbEq.gold +7/−1
- SBVTestSuite/GoldFiles/pbEq2.gold +7/−1
- SBVTestSuite/GoldFiles/pbExactly.gold +7/−1
- SBVTestSuite/GoldFiles/pbGe.gold +7/−1
- SBVTestSuite/GoldFiles/pbLe.gold +7/−1
- SBVTestSuite/GoldFiles/pbMutexed.gold +7/−1
- SBVTestSuite/GoldFiles/pbStronglyMutexed.gold +7/−1
- SBVTestSuite/GoldFiles/qEnum1.gold +7/−1
- SBVTestSuite/GoldFiles/qUninterp1.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsexists_contradiction_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsexists_contradiction_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsexists_satisfiable_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsexists_satisfiable_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsexists_thm_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsexists_thm_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsforall_contradiction_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsforall_contradiction_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsforall_satisfiable_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsforall_satisfiable_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsforall_thm_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_existsforall_thm_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallexists_contradiction_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallexists_contradiction_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallexists_satisfiable_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallexists_satisfiable_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallexists_thm_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallexists_thm_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_prove_forallforall_contradiction_c.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_prove_forallforall_contradiction_p.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_prove_forallforall_satisfiable_c.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_prove_forallforall_satisfiable_p.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_prove_forallforall_thm_c.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_prove_forallforall_thm_p.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsexists_contradiction_c.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsexists_contradiction_p.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsexists_satisfiable_c.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsexists_satisfiable_p.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsexists_thm_c.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsexists_thm_p.gold +7/−1
- SBVTestSuite/GoldFiles/quantified_sat_existsforall_contradiction_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_existsforall_contradiction_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_existsforall_satisfiable_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_existsforall_satisfiable_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_existsforall_thm_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_existsforall_thm_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallexists_contradiction_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallexists_contradiction_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallexists_satisfiable_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallexists_satisfiable_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallexists_thm_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallexists_thm_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallforall_contradiction_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallforall_contradiction_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallforall_satisfiable_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallforall_satisfiable_p.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallforall_thm_c.gold +6/−0
- SBVTestSuite/GoldFiles/quantified_sat_forallforall_thm_p.gold +6/−0
- SBVTestSuite/GoldFiles/query1.gold +7/−1
- SBVTestSuite/GoldFiles/queryArrays1.gold +8/−2
- SBVTestSuite/GoldFiles/queryArrays2.gold +6/−0
- SBVTestSuite/GoldFiles/queryArrays3.gold +6/−0
- SBVTestSuite/GoldFiles/queryArrays4.gold +6/−0
- SBVTestSuite/GoldFiles/queryArrays5.gold +7/−1
- SBVTestSuite/GoldFiles/queryArrays6.gold +7/−1
- SBVTestSuite/GoldFiles/queryArrays7.gold +7/−1
- SBVTestSuite/GoldFiles/queryArrays8.gold +7/−1
- SBVTestSuite/GoldFiles/queryTables.gold +6/−0
- SBVTestSuite/GoldFiles/query_Chars1.gold +7/−1
- SBVTestSuite/GoldFiles/query_Interpolant1.gold +7/−1
- SBVTestSuite/GoldFiles/query_Interpolant2.gold +7/−1
- SBVTestSuite/GoldFiles/query_Interpolant3.gold +6/−0
- SBVTestSuite/GoldFiles/query_Interpolant4.gold +6/−0
- SBVTestSuite/GoldFiles/query_ListOfMaybe.gold +7/−1
- SBVTestSuite/GoldFiles/query_ListOfSum.gold +7/−1
- SBVTestSuite/GoldFiles/query_Lists1.gold +7/−1
- SBVTestSuite/GoldFiles/query_Maybe.gold +7/−1
- SBVTestSuite/GoldFiles/query_Strings1.gold +7/−1
- SBVTestSuite/GoldFiles/query_SumMaybeBoth.gold +6/−0
- SBVTestSuite/GoldFiles/query_Sums.gold +7/−1
- SBVTestSuite/GoldFiles/query_Tuples1.gold +7/−1
- SBVTestSuite/GoldFiles/query_Tuples2.gold +7/−1
- SBVTestSuite/GoldFiles/query_abc.gold +7/−1
- SBVTestSuite/GoldFiles/query_boolector.gold +12/−2
- SBVTestSuite/GoldFiles/query_cvc4.gold +7/−1
- SBVTestSuite/GoldFiles/query_mathsat.gold +7/−1
- SBVTestSuite/GoldFiles/query_sumMergeEither1.gold +6/−0
- SBVTestSuite/GoldFiles/query_sumMergeEither2.gold +6/−0
- SBVTestSuite/GoldFiles/query_sumMergeMaybe1.gold +6/−0
- SBVTestSuite/GoldFiles/query_sumMergeMaybe2.gold +6/−0
- SBVTestSuite/GoldFiles/query_uiSat_test1.gold +7/−1
- SBVTestSuite/GoldFiles/query_uiSat_test2.gold +7/−1
- SBVTestSuite/GoldFiles/query_uisatex1.gold +7/−1
- SBVTestSuite/GoldFiles/query_uisatex2.gold +7/−1
- SBVTestSuite/GoldFiles/query_yices.gold +7/−1
- SBVTestSuite/GoldFiles/query_z3.gold +7/−1
- SBVTestSuite/GoldFiles/reverse.gold +7/−1
- SBVTestSuite/GoldFiles/reverseAlt10.gold +7/−1
- SBVTestSuite/GoldFiles/safe1.gold +7/−1
- SBVTestSuite/GoldFiles/safe2.gold +7/−1
- SBVTestSuite/GoldFiles/seqConcat.gold +6/−0
- SBVTestSuite/GoldFiles/seqConcatBad.gold +6/−0
- SBVTestSuite/GoldFiles/seqExamples1.gold +6/−0
- SBVTestSuite/GoldFiles/seqExamples2.gold +7/−1
- SBVTestSuite/GoldFiles/seqExamples3.gold +7/−1
- SBVTestSuite/GoldFiles/seqExamples4.gold +7/−1
- SBVTestSuite/GoldFiles/seqExamples5.gold +7/−1
- SBVTestSuite/GoldFiles/seqExamples6.gold +7/−1
- SBVTestSuite/GoldFiles/seqExamples7.gold +7/−1
- SBVTestSuite/GoldFiles/seqExamples8.gold +7/−1
- SBVTestSuite/GoldFiles/seqIndexOf.gold +6/−0
- SBVTestSuite/GoldFiles/seqIndexOfBad.gold +6/−0
- SBVTestSuite/GoldFiles/set_compl1.gold +7/−1
- SBVTestSuite/GoldFiles/set_delete1.gold +7/−1
- SBVTestSuite/GoldFiles/set_diff1.gold +7/−1
- SBVTestSuite/GoldFiles/set_disj1.gold +7/−1
- SBVTestSuite/GoldFiles/set_empty1.gold +7/−1
- SBVTestSuite/GoldFiles/set_full1.gold +7/−1
- SBVTestSuite/GoldFiles/set_insert1.gold +7/−1
- SBVTestSuite/GoldFiles/set_intersect1.gold +7/−1
- SBVTestSuite/GoldFiles/set_member1.gold +7/−1
- SBVTestSuite/GoldFiles/set_notMember1.gold +7/−1
- SBVTestSuite/GoldFiles/set_psubset1.gold +7/−1
- SBVTestSuite/GoldFiles/set_subset1.gold +7/−1
- SBVTestSuite/GoldFiles/set_tupleSet.gold +7/−1
- SBVTestSuite/GoldFiles/set_uninterp1.gold +12/−6
- SBVTestSuite/GoldFiles/set_uninterp2.gold +7/−1
- SBVTestSuite/GoldFiles/set_union1.gold +7/−1
- SBVTestSuite/GoldFiles/sort.gold +7/−1
- SBVTestSuite/GoldFiles/strConcat.gold +6/−0
- SBVTestSuite/GoldFiles/strConcatBad.gold +6/−0
- SBVTestSuite/GoldFiles/strExamples1.gold +6/−0
- SBVTestSuite/GoldFiles/strExamples10.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples11.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples12.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples13.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples2.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples3.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples4.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples5.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples6.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples7.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples8.gold +7/−1
- SBVTestSuite/GoldFiles/strExamples9.gold +7/−1
- SBVTestSuite/GoldFiles/strIndexOf.gold +6/−0
- SBVTestSuite/GoldFiles/strIndexOfBad.gold +6/−0
- SBVTestSuite/GoldFiles/sumBimapPlus.gold +7/−1
- SBVTestSuite/GoldFiles/sumEitherSat.gold +7/−1
- SBVTestSuite/GoldFiles/sumLiftEither.gold +7/−1
- SBVTestSuite/GoldFiles/sumLiftMaybe.gold +7/−1
- SBVTestSuite/GoldFiles/sumMaybe.gold +7/−1
- SBVTestSuite/GoldFiles/sumMaybeBoth.gold +7/−1
- SBVTestSuite/GoldFiles/sumMergeEither1.gold +7/−1
- SBVTestSuite/GoldFiles/sumMergeEither2.gold +7/−1
- SBVTestSuite/GoldFiles/sumMergeMaybe1.gold +7/−1
- SBVTestSuite/GoldFiles/sumMergeMaybe2.gold +7/−1
- SBVTestSuite/GoldFiles/tuple_enum.gold +7/−1
- SBVTestSuite/GoldFiles/tuple_list.gold +7/−1
- SBVTestSuite/GoldFiles/tuple_nested.gold +7/−1
- SBVTestSuite/GoldFiles/tuple_swap.gold +7/−1
- SBVTestSuite/GoldFiles/tuple_twoTwo.gold +7/−1
- SBVTestSuite/GoldFiles/tuple_unequal.gold +7/−1
- SBVTestSuite/GoldFiles/uiSat_test1.gold +7/−1
- SBVTestSuite/GoldFiles/uiSat_test2.gold +9/−3
- SBVTestSuite/GoldFiles/uiSat_test3.gold +314/−277
- SBVTestSuite/GoldFiles/unint-axioms-query.gold +6/−0
- SBVTestSuite/GoldFiles/uninterpreted-3.gold +7/−1
- SBVTestSuite/GoldFiles/uninterpreted-3a.gold +7/−1
- SBVTestSuite/GoldFiles/uninterpreted-4.gold +7/−1
- SBVTestSuite/GoldFiles/uninterpreted-4a.gold +7/−1
- SBVTestSuite/GoldFiles/validate_0.gold +7/−1
- SBVTestSuite/GoldFiles/validate_1.gold +11/−5
- SBVTestSuite/GoldFiles/validate_2.gold +11/−5
- SBVTestSuite/GoldFiles/validate_3.gold +6/−0
- SBVTestSuite/GoldFiles/validate_4.gold +6/−0
- SBVTestSuite/GoldFiles/validate_5.gold +7/−1
- SBVTestSuite/GoldFiles/validate_6.gold +7/−1
- SBVTestSuite/GoldFiles/validate_7.gold +6/−0
- SBVTestSuite/TestSuite/Arrays/Caching.hs +1/−1
- SBVTestSuite/TestSuite/Arrays/InitVals.hs +0/−6
- SBVTestSuite/TestSuite/Arrays/Memory.hs +28/−54
- SBVTestSuite/TestSuite/Optimization/Combined.hs +0/−15
- SBVTestSuite/TestSuite/Optimization/ExtensionField.hs +2/−2
- SBVTestSuite/TestSuite/Queries/FreshVars.hs +0/−7
- SBVTestSuite/TestSuite/Uninterpreted/AUF.hs +1/−3
- sbv.cabal +3/−3
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