h&;>4ϗ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        Safe-Inferred()*/5689:;= prob otherwise True* (and we know such an x can be generated). Safe-Inferred()*/5689:; 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.Gquickcheck-dynamicDisplay name for F. This is useful to provide sensible statistics about the distribution of F s run when checking a property.Default implementation uses a poor-man's string manipulation method to extract the constructor name from the value.Hquickcheck-dynamicGenerator for F depending on .Iquickcheck-dynamic Shrinker for F. Defaults to no-op but as usual, defining a good shrinker greatly enhances the usefulness of property-based testing.Jquickcheck-dynamic"Initial state of generated traces.Kquickcheck-dynamicTransition function for the model. The `Var a` parameter is useful to keep reference to actual value of type a produced by Aing the F 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.Lquickcheck-dynamic%Precondition for filtering generated F. This function is applied before the action is performed, it is useful to refine generators that can produce more values than are useful.8 23546789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW'EFGHIJKL@ABC:;235489?67M<=N>DVWPOQSRTU95=5 Safe-Inferred()*/5689:;Choose from a weighted list of quantifications. Treated as an / choice if no quantification has weight > 0.rquickcheck-dynamic/Choose from a list of quantifications. Same as q( with all weights the same (and > 0).squickcheck-dynamicg 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.tquickcheck-dynamic'Restrict the range of a quantification.cdefghijklmnopqrstughfijkmnprqstolucde Safe-Inferred()*/5689:; 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 F.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. c 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()*/5689:;?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]H^_`abcdefghijklmnopqrstuvwxyz{|}~                       /quickcheck-dynamic-3.0.2-4HSBAZfO7x7FJErHbNq7M1Test.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 RegistryModel"Plutus.Contract.Test.ContractModelforAllQControl.ApplicativeemptyQuantifybase GHC.GenericsGeneric canGenerate shrinkSmartwithSizerunPropertyStateTrunPropertyReaderT VarContextAnySomeHasNoVariables HasVariablesgetAllVariablesVarmkVar isWellTyped extendContext allVariables ctxAtType arbitraryVar shrinkVarunsafeCoerceVarunsafeNextVarIndex $fShowVar$fOrdAny$fEqAny$fShowVarContext$fGenericHasVariables:+:$fGenericHasVariables:*:$fGenericHasVariablesU1$fGenericHasVariablesM1$fGenericHasVariablesK1$fHasVariablesa$fHasVariablesHasNoVariables$fHasVariablesSet$fHasVariablesMap$fHasVariablesVar$fHasVariablesSmart$fSemigroupVarContext$fMonoidVarContext$fEqVar$fOrdVar $fDataVar$fHasVariablesWord64$fHasVariablesWord32$fHasVariablesWord16$fHasVariablesWord8$fHasVariablesChar$fHasVariablesInt$fHasVariablesInteger AnnotatedMetadatavarsunderlyingStateActionsActions_Step:= WithUsedVarsEnvEntry:==EnvLookUpRunModelperform postcondition monitoringRealized StateModelAction actionNamearbitraryAction shrinkAction initialState nextState precondition:=?lookUpVarMaybe lookUpVarinitialAnnotatedStatecomputePreconditioncomputeNextStatecomputeArbitraryActioncomputeShrinkAction stateAfter runActions$fEqStep$fShowWithUsedVars $fShowStep$fHasVariablesStep $fShowActions $fEqActions$fSemigroupActions$fShowAnnotated$fArbitraryActions$fGenericActions $fShowAny Quantifiable QuantifiesquantifyQuantifyConstraintsQuantificationisaQisEmptyQ generateQshrinkQwithGenQ arbitraryQexactlyQchooseQ elementsQ frequencyQoneofQmapQwhereQvalidQuantification$fQuantifiable[]$fQuantifiable(,,,,)$fQuantifiable(,,,)$fQuantifiable(,,)$fQuantifiable(,)$fQuantifiableQuantificationNextStep StoppingStepSteppingNoStep BadAction DynLogicModel restrictedTestContinuationContStepContStop TestSequenceTestSeqTestStep WitnessesDoWitness DynLogicTestBadPreconditionLoopingStuckDLScript FailingAction ErrorFail ActionFailDynPred ChoiceTypeAngelicDemonicDynLogic EmptySpecStopAfterAnyAltStoppingAfterErrorWeightForAllMonitor DynFormula unDynFormula:> TestSeqStopWTestSeqWitness TestSeqStep TestSeqStopignorepassTestafterAnyafter|||weighttoStopdoneerrorDL monitorDLalwaysdiscardWitnessesconsSeq unconsSeq unstopSeqnullSeqdropSeqgetContinuationunlines'prettyTestSequenceprettyWitnesses usedVariables 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$fShowTestSequence$fEqTestSequence$fEqChoiceType$fShowChoiceType$fEqTestContinuation$fShowTestContinuation$fTraversableWitnesses$fFoldableWitnesses$fFunctorWitnessesDLaction anyAction anyActions anyActions_getSizegetModelStateDLgetVarContextDL forAllVarassert assertModelforAllUniqueDLforAllDLforAllMappedDL $fMonadFailDL $fMonadDL$fAlternativeDL$fApplicativeDL $fFunctorDL mtl-2.2.2Control.Monad.State.ClassstateGHC.BaseMonad(QuickCheck-2.14.2-9EAFA6afNUqGbN355JryFuTest.QuickCheck.Monadicghc-prim GHC.TypesFalseTest.QuickCheck.PropertyPropertyTest.QuickCheck.Arbitrary ArbitraryFunctortabulatecollectTruelabel