!}@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Safe@ABCDEFG-(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)Safe0CV4   !"#$%&'()*+,-./01234 !"#$%  &'()*+,-./0123 321)5*5+5,5-5.5/50514Safe,7<FQSTV 789:;<=>?@ ;<=>9:?78@(C) 2017, Jacob Stanley BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)None &'06;<=KVWXYZ[\]^_`abc_`]^[\YZabcVWX-(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)None quickcheck-state-machineSAn operation packs up an invocation event with its corresponding response event.quickcheck-state-machinegGiven a history, return all possible interleavings of invocations and corresponding response events.(C) 2018, HERE Europe B.V. BSD-style (see the file LICENSE)0Stevan Andjelkovic <stevan.andjelkovic@here.com> provisionalnon-portable (GHC extensions)NoneK#(C) 2017, Jacob Stanley BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)NoneKQV.quickcheck-state-machineEnvironment errors.quickcheck-state-machine0A mapping of symbolic values to concrete values.quickcheck-state-machineCreate an empty environment.quickcheck-state-machine;Insert a symbolic / concrete pairing in to the environment.quickcheck-state-machineCast a H in to a concrete value.quickcheck-state-machine]Turns an environment in to a function for looking up a concrete value from a symbolic one.quickcheck-state-machineRConvert a symbolic structure to a concrete one, using the provided environment. -(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)None 0345<KQV2vRVWXYZ[\]^_`abc%None ,;<=FSTVi4 -(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)5Mats Daniel Gustafsson <daniel@advancedtelematic.com> provisionalnon-portable (GHC extensions)None3:Kquickcheck-state-machineEvent invocation or response.quickcheck-state-machineBGiven a history, and output from processes generate Doc with boxes 9(C) 2017, ATS Advanced Telematic Systems GmbH, Li-yao Xia BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)SafeDquickcheck-state-machine/Lifts a plain property into a monadic property.quickcheck-state-machineLifts I to J.quickcheck-state-machine A variant of # with an explicit show function.quickcheck-state-machineLifts K to properties.quickcheck-state-machineDGiven shrinkers for the components of a pair we can shrink the pair.quickcheck-state-machine&Same above, but for homogeneous pairs.Lquickcheck-state-machineLike M, but retries n times. -(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)None $,<>?FV]Q quickcheck-state-machine<Shrink commands in a pre-condition and scope respecting way. quickcheck-state-machineSPrint distribution of commands and fail if some commands have not been executed.quickcheck-state-machineMinimum number of commands.quickcheck-state-machine Predicate.quickcheck-state-machineMinimum number of commands.quickcheck-state-machineMinimum number of commands.quickcheck-state-machineMinimum number of commands.quickcheck-state-machineMaximum number of commands. quickcheck-state-machine#Check invariant and post-condition?           -(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)None$<QVeUNquickcheck-state-machinesA list of commands is parallel safe if the pre-conditions for all commands hold in all permutations of the list.Oquickcheck-state-machine1Apply the transition of some commands to a model.quickcheck-state-machineIShrink a parallel program in a pre-condition and scope respecting way.quickcheck-state-machineTry to linearise a history of a parallel program execution using a sequential model. See the *Linearizability: a correctness condition for concurrent objects* paper linked to from the README for more info.quickcheck-state-machinehTakes the output of parallel program runs and pretty prints a counterexample if any of the runs fail.quickcheck-state-machineyDraw an ASCII diagram of the history of a parallel program. Useful for seeing how a race condition might have occured.quickcheck-state-machine Predicate.Oquickcheck-state-machine The model.quickcheck-state-machine The commands.quickcheck-state-machine/How many times to execute the parallel program.quickcheck-state-machine Output of .  -(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalnon-portable (GHC extensions)NonehxS   !"#$%&'()*+,-./0123VWXY[]abc      []YbaVWXc -(C) 2017, ATS Advanced Telematic Systems GmbH BSD-style (see the file LICENSE)1Stevan Andjelkovic <stevan@advancedtelematic.com> provisionalportableSafe{ quickcheck-state-machine(Partial) functions.quickcheck-state-machine Relations.*quickcheck-state-machineDomain restriction.(['a'] <| [ ('a', "apa"), ('b', "bepa") ] [('a',"apa")]+quickcheck-state-machineCodomain restriction.*[ ('a', "apa"), ('b', "bepa") ] |> ["apa"] [('a',"apa")],quickcheck-state-machineDomain substraction.)['a'] <-| [ ('a', "apa"), ('b', "bepa") ][('b',"bepa")]-quickcheck-state-machineCodomain substraction.+[ ('a', "apa"), ('b', "bepa") ] |-> ["apa"][('b',"bepa")].quickcheck-state-machineThe image of a relation./quickcheck-state-machine Overriding.![('a', "apa")] <+ [('a', "bepa")][('a',"bepa")]![('a', "apa")] <+ [('b', "bepa")][('a',"apa"),('b',"bepa")]0quickcheck-state-machineDirect product.1quickcheck-state-machineParallel product.<quickcheck-state-machine Application.?quickcheck-state-machine Assignment.$singleton 'a' "apa" .! 'a' .= "bepa"[('a',"bepa")]$singleton 'a' "apa" .! 'b' .= "bepa"[('a',"apa"),('b',"bepa")]& !"#$%&'()*+,-./0123456789:;<=>?& !"#$%&'()*+,-./0123456789:;<=>?P !"#$%&'()*+,-./0!123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgghiijjkkllmnopqrstuvwxyz{|}~                                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ABCDEFGHIJKLMNOMPJQR SMTU V WX5quickcheck-state-machine-0.4.0-LCNcOu7FGqH6wuUxD0jkCHTest.StateMachine.LogicTest.StateMachine.Types.Rank2"Test.StateMachine.Types.ReferencesTest.StateMachine.Types.HistoryTest.StateMachine.Types.GenSym#Test.StateMachine.Types.EnvironmentTest.StateMachine.Types!Test.StateMachine.ConstructorNameTest.StateMachine.BoxDrawerTest.StateMachine.UtilsTest.StateMachine.SequentialTest.StateMachine.ParallelTest.StateMachine.ZPaths_quickcheck_state_machineTest.QuickCheck.Monadic forAllShrinkTest.StateMachineValueVFalseVTrueCounterexampleBotCFstSndEitherCImpliesCNotC PredicateCForallCExistsCBooleanC AnnotateC Predicate:==:/=:<:<=:>:>=ElemNotElemLogicBotTop:&&:||:=>NotForallExistsBooleanAnnotatedual strongNegbooleanlogic predicate.==./=.<.<=.>.>=elemnotElem.//forallexists $fShowValue$fShowCounterexample$fShowPredicate TraversabletraverseFoldablefoldMapFunctorfmapgfmap<$>gfoldMap gtraverse$fFunctorkRec1 $fFunctorkM1 $fFunctork:.: $fFunctork:*: $fFunctork:+: $fFunctorkK1 $fFunctorkU1$fFoldablekRec1 $fFoldablekM1$fFoldablek:.:$fFoldablek:*:$fFoldablek:+: $fFoldablekK1 $fFoldablekU1$fTraversablekRec1$fTraversablekM1$fTraversablek:.:$fTraversablek:*:$fTraversablek:+:$fTraversablekK1$fTraversablekU1OpaqueunOpaque ReferenceConcreteSymbolicVar referenceconcreteopaque$fOrd1Symbolic $fEq1Symbolic$fToExprSymbolic$fShow1Symbolic$fToExprConcrete$fOrd1Concrete $fEq1Concrete$fShow1Concrete$fShowReference$fOrdReference $fEqReference$fTraversableTYPEReference$fFoldableTYPEReference$fFunctorTYPEReference$fToExprReference$fToExprOpaque $fShowOpaque$fEqVar$fOrdVar $fShowVar $fGenericVar $fToExprVar$fGenericReference $fEqOpaque $fOrdOpaque$fShowConcrete $fOrdSymbolic $fEqSymbolic$fShowSymbolic Operation HistoryEvent InvocationResponsePidunPidHistory'History unHistorymakeOperations interleavings$fEqPid $fShowPidCounterGenSym runGenSymgenSym newCounter$fFunctorGenSym$fApplicativeGenSym $fMonadGenSymEnvironmentErrorEnvironmentValueNotFoundEnvironmentTypeError Environment unEnvironmentemptyEnvironmentinsertConcreteinsertConcretes reifyDynamicreifyEnvironmentreify$fSemigroupEnvironment$fMonoidEnvironment$fShowEnvironment$fEqEnvironmentError$fOrdEnvironmentError$fShowEnvironmentErrorParallelCommandsPairproj1proj2ParallelCommandsFprefixsuffixesReasonOkPreconditionFailedPostconditionFailedInvariantBrokenExceptionThrownCommands unCommandsCommand StateMachine initModel transition precondition postconditionspostcondition invariant generator distributionshrinker semanticsrunnermocklengthCommandsfromPairtoPair$fSemigroupCommands$fMonoidCommands $fEqReason $fShowReason$fEqPair $fOrdPair $fShowPair $fFunctorPair$fFoldablePair$fTraversablePair$fShowParallelCommandsF$fShowCommands $fShowCommand GConName1 gconName1 gconNames1GConNamegconName gconNames$fGConNameCommand$fGConName1(->)Reference$fGConName1kRec1$fGConName1k:*:$fGConName1k:+:$fGConName1kM1$fGConName1kM10$fGConName1kM11$fGConName1kK1$fGConName1kU1Fork EventTypeOpenCloseexec$fShowEventType $fFunctorFork liftProperty whenFailMforAllShrinkShowanyP shrinkPair' shrinkPair suchThatOneOfforAllCommandsgenerateCommandsgenerateCommandsStatemeasureFrequencycalculateFrequency getUsedVarsshrinkCommandsliftShrinkCommand filterMaybe validCommands modelCheck runCommandsgetChanContentsexecuteCommandsprettyPrintHistoryprettyCommandscheckCommandNames commandNamescommandNamesInOrdertransitionMatrixforAllParallelCommandsgenerateParallelCommandsshrinkParallelCommandsvalidParallelCommandsprop_splitCombinerunParallelCommandsrunParallelCommandsNTimes lineariseprettyParallelCommands toBoxDrawingsFunRelunion intersect isSubsetOf~=emptyidentity singletondomaincodomaincomposefcomposeinverse lookupDom lookupCod<||><-||->image<+<**><||> isTotalRel isSurjRelisTotalSurjRel isPartialFun isTotalFun isPartialInj isTotalInj isPartialSurj isTotalSurj isBijection!.%.!.=version getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebase Data.DynamicDynamic(QuickCheck-2.11.3-58QsvdIMmwDDNaUIIDmLArTest.QuickCheck.PropertywhenFail PropertyM Data.FoldableanysuchThatMaybeNTest.QuickCheck.Gen suchThatMaybe parallelSafe advanceModel