h&HrA=      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                          Safe-Inferred"()*/15689:;= prob otherwise True* (and we know such an x can be generated). Safe-Inferred"()*/15689:; Var ThreadId -> Action RegState (Either ErrorCall ()) KillThread :: Var ThreadId -> Action RegState () The Spawn action should produce a ThreadId, whereas the  KillThread" action does not return anything.Tquickcheck-dynamicDisplay name for S. This is useful to provide sensible statistics about the distribution of S s run when checking a property.Default implementation uses a poor-man's string manipulation method to extract the constructor name from the value.Uquickcheck-dynamicGenerator for S depending on .Vquickcheck-dynamic Shrinker for S. Defaults to no-op but as usual, defining a good shrinker greatly enhances the usefulness of property-based testing.Wquickcheck-dynamic"Initial state of generated traces.Xquickcheck-dynamicTransition function for the model. The `Var a` parameter is useful to keep reference to actual value of type a produced by Jing the S inside the ! so that further actions can use Lookup to retrieve that data. This allows the model to be ignorant of those values yet maintain some references that can be compared and looked for.Yquickcheck-dynamicTransition function for negative actions. Note that most negative testing applications should not require an implementation of this function!Zquickcheck-dynamic%Precondition for filtering generated S. This function is applied before the action is performed, it is useful to refine generators that can produce more values than are useful.[quickcheck-dynamicPrecondition for filtering an S that can meaningfully run but is supposed to fail. An action will run as a _negative_ action if the Z fails and [ succeeds. A negative action should have _no effect_ on the model state. This may not be desierable in all situations - in which case one can override this semantics for book-keeping in Y.^quickcheck-dynamicApply the property transformation to the property after evaluating the postcondition. Useful for collecting statistics while avoiding duplication between M and K._quickcheck-dynamicActs as   if the postcondition fails.`quickcheck-dynamic*Indicate that the result of an action (in J) should not be inspected by the postcondition or appear in a positive test. Useful when we want to give a type for an S like `SomeAct :: Action SomeState SomeType` instead of `SomeAct :: Action SomeState (Either SomeError SomeType)` but still need to return something in J in the failure case. 457689:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi7RSTUVWXYZ[IJKLMNOPCD4576:;@AB<=>?H89\EF]GQ^_hibacedfg`;5F5 Safe-Inferred"()*/15689:;Choose from a weighted list of quantifications. Treated as an / choice if no quantification has weight > 0.quickcheck-dynamic/Choose from a list of quantifications. Same as ( with all weights the same (and > 0).quickcheck-dynamic is not a , since it also keeps track of the range of the generators. However, if you have two functions " to :: a -> b from :: b -> a  satisfying from . to = id' you can go from a quantification over a to one over b. Note that the from/ function need only be defined on the image of to.quickcheck-dynamic'Restrict the range of a quantification.quickcheck-dynamicWrap a Quantification in   to indicate that you know what you're doing and there are no symbolic variables in the thing you are quantifying over. WARNING: use this function carefully as there is no guarantee that you won't get bitten by very strange failures if you were in fact not honest about the lack of variables.~~ Safe-Inferred"()*/15689:; True).quickcheck-dynamic for DL formulae.quickcheck-dynamicGiven f must be  given any state.quickcheck-dynamicGiven f must be  after some action. f2 is passed the state resulting from executing the S.quickcheck-dynamicGiven f must be  after some negative action. f2 is passed the state resulting from executing the S as a negative action.quickcheck-dynamic!Disjunction for DL formulae. Is  if either formula is . The choice is angelic, ie. it is always made by the "caller". This is mostly important in case a test is .quickcheck-dynamic2First-order quantification of variables. Formula f is  iff. it is  for all possible values of q4. The underlying framework will generate values of q0 and check the formula holds for those values. ~ values are thus values that can be generated and checked and the   module defines basic combinators to build those from building blocks.quickcheck-dynamicAdjust weight for selecting formula. This is mostly useful in relation with  combinator, in order to tweak the priority for generating the next step(s) of the test that matches the formula.quickcheck-dynamic*Get the current QuickCheck size parameter.quickcheck-dynamic;Prioritise doing this if we are trying to stop generation.quickcheck-dynamicSuccessfully ends the test.quickcheck-dynamic#Ends test with given error message.quickcheck-dynamic-Embed QuickCheck's monitoring functions (eg. , ) in a formula. This is useful to improve the reporting from test execution, esp. in the case of failures.quickcheck-dynamicFormula should hold at any state. In effect this leads to exploring alternatives from a given state s1 and ensuring formula holds in all those states.quickcheck-dynamic"Simplest "execution" function for . Turns a given a  paired with an interpreter function to produce some result from anquickcheck-dynamic/ function suitable for formulae without choice.quickcheck-dynamic Creates a  from 9 with some specialised isomorphism for shrinking purpose.quickcheck-dynamicIf failed, return the prefix up to the failure. Also prunes the test in case the model has changed.  Safe-Inferred"()*/15689:;?@ABCDEFGHIJKLMNOPPQRSTUVVWXYZ[\]^_``abcdefghijklLmnopqrstuvwxyz{|}~                         /quickcheck-dynamic-3.3.0-4JwMznEBkKz7Y8BAcjFV5PTest.QuickCheck.StateModel(Test.QuickCheck.DynamicLogic.CanGenerate+Test.QuickCheck.DynamicLogic.SmartShrinking"Test.QuickCheck.DynamicLogic.UtilsTest.QuickCheck.Extras$Test.QuickCheck.StateModel.Variables%Test.QuickCheck.DynamicLogic.Quantify%Test.QuickCheck.DynamicLogic.InternalTest.QuickCheck.DynamicLogic Spec.Dynamic RegistryModelTest.QuickCheckcounterexample"Plutus.Contract.Test.ContractModelforAllQControl.ApplicativeemptyQuantifybase GHC.GenericsGeneric canGenerate shrinkSmartwithSizerunPropertyStateTrunPropertyReaderT VarContextAnySomeHasNoVariables HasVariablesgetAllVariablesVarmkVar isWellTyped extendContext allVariables ctxAtType arbitraryVar shrinkVarunsafeCoerceVarunsafeNextVarIndex $fShowVar$fOrdAny$fEqAny$fHasVariablesHasNoVariables$fHasVariablesSet$fHasVariablesMap$fHasVariablesVar$fHasVariablesSmart$fShowVarContext$fGenericHasVariables:+:$fGenericHasVariables:*:$fGenericHasVariablesU1$fGenericHasVariablesK1$fGenericHasVariablesM1$fHasVariablesa$fSemigroupVarContext$fMonoidVarContext$fEqVar$fOrdVar $fDataVar$fHasVariablesWord64$fHasVariablesWord32$fHasVariablesWord16$fHasVariablesWord8$fHasVariablesChar$fHasVariablesInt$fHasVariablesInteger$fEqHasNoVariables$fShowHasNoVariables AnnotatedMetadatavarsunderlyingStateActionsActions_Step:=ActionWithPolarity polarActionpolarityPolarity PosPolarity NegPolarity WithUsedVarsEnvEntry:==EnvLookUpRunModelperform postconditionpostconditionOnFailure monitoringPostconditionMrunPostRealized StateModelAction actionNamearbitraryAction shrinkAction initialState nextStatefailureNextState preconditionvalidFailingAction:=? monitorPostcounterexamplePost failureResultlookUpVarMaybe lookUpVarinitialAnnotatedStatecomputePreconditioncomputeNextStatecomputeArbitraryActioncomputeShrinkAction stateAfter runActions$fShowPolarity $fHasVariablesActionWithPolarity$fEqStep$fShowWithUsedVars $fShowStep$fHasVariablesStep $fShowActions $fEqActions$fSemigroupActions$fShowAnnotated$fArbitraryActions$fGenericActions $fOrdPolarity $fEqPolarity$fFunctorPostconditionM$fApplicativePostconditionM$fMonadPostconditionM$fMonadTransPostconditionM$fEqActionWithPolarity $fShowAny Quantifiable QuantifiesquantifyQuantifyConstraintsQuantificationisaQisEmptyQ generateQshrinkQwithGenQ arbitraryQexactlyQchooseQ elementsQ frequencyQoneofQmapQwhereQhasNoVariablesQvalidQuantification$fQuantifiable[]$fQuantifiable(,,,,)$fQuantifiable(,,,)$fQuantifiable(,,)$fQuantifiable(,)$fQuantifiableQuantificationNextStep StoppingStepSteppingNoStep BadAction DynLogicModel restrictedTestContinuationContStepContStop TestSequenceTestSeqTestStep WitnessesDoWitness DynLogicTestBadPreconditionLoopingStuckDLScript FailingAction ErrorFail ActionFailDynPred ChoiceTypeAngelicDemonicDynLogic EmptySpecStopAfterAnyAltStoppingAfterErrorWeightForAllMonitor DynFormula unDynFormula:> TestSeqStopWTestSeqWitness TestSeqStep TestSeqStopignorepassTestafterAny afterPolarafter afterNegative|||weighttoStopdoneerrorDL monitorDLalwaysdiscardWitnessesconsSeq unconsSeq unstopSeqnullSeqdropSeqgetContinuationunlines'prettyTestSequenceprettyWitnesses usedVariablesrestrictedPolar forAllScriptsforAllUniqueScriptsforAllMappedScripts withDLScriptwithDLScriptPrefixgenerateDLTest onDLTestSeq consDLTest consDLTestWgenerate sizeLimitinitialStateForstopping noStoppingnoAny nextSteps nextSteps' chooseOneOfneverchooseNextStepchooseUniqueNextStepkeepTryingUntil shrinkDLTest nextStateStep shrinkScript shrinkWitness pruneDLTeststepDLstepDLW stepDLSeq stepDLWitness stepDLStep demonicAlt propPruningGeneratedScriptIsNoop getScriptmakeTestFromPruned unfailDLTeststuck validDLTest scriptFromDL sequenceStepsbadActionsGiven badActionsapplyMonitoringfindMonitoring$fShowFailingAction$fEqFailingAction$fHasVariablesFailingAction$fShowWitnesses $fEqWitnesses$fShowDynLogicTest$fEqChoiceType$fShowChoiceType$fEqTestContinuation$fShowTestContinuation$fEqTestSequence$fShowTestSequence$fTraversableWitnesses$fFoldableWitnesses$fFunctorWitnessesDLaction failingAction anyAction anyActions anyActions_getSizegetModelStateDLgetVarContextDL forAllVarassert assertModelforAllNonVariableQforAllUniqueDLforAllDLforAllMappedDL $fMonadFailDL $fMonadDL$fAlternativeDL$fApplicativeDL $fFunctorDL mtl-2.2.2Control.Monad.State.ClassstateGHC.BaseMonad(QuickCheck-2.14.3-2ZlD5s41ttb557C1ruU8WiTest.QuickCheck.Monadicghc-prim GHC.TypesFalseTest.QuickCheck.PropertyPropertyTest.QuickCheck.Arbitrary ArbitraryFunctortabulatecollectTruelabel