_R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None    None !"&'(=?JK !"#$% !"#$% !"#$ !"#$%None+24&'()*+,-./0123456789:;&'()*+,-./01234567/43210;:5.-,98+*67&)('&)('*+,-./4321056789:;NoneHM=GMonomorphise an arbitrary property by defaulting all type variables to .For example, if f has type  a => [a] -> [a] then $(= 'f) has type [] -> [].If you want to use =Z in the same file where you defined the property, the same scoping problems pop up as in  quickCheckAll: see the note there about  return [].<=>?@<=>?@<=>?@<=>?@NoneBHM \Twhether to keep going after finding a counter-example, useful for checking coverage]_whether to stop after a certain number of successful tests, or enumerate the whole input space^+whether to use SmallCheck's notion of depth_extra options to pass to GHCl,Find the refined type of a data constructor.mGiven a data constructor d. and an action, create a new choice variable cG and execute the action while guarding any generated constraints with c . Returns (action-result, c).n'Generate a fresh variable of the given .oGiven a data constructor d1, create a new choice variable corresponding to d.pAsk the SMT solver for the , of the given variable.8ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop0ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop0efghijklmnobp`aABCDEFGHIJKLMNOPQRSTUdVWXYZ[\]^_cABCDEFGHIJKLMNOPQRSTUV WXYZ[\]^_`abcdefghijklmnopNoneTqTEvaluate a refinement with the given expression substituted for the value variable.r~Evaluate a refinement with the given expression substituted for the value variable, in the given environment of free symbols. qrqrqr qrNone 1234=JKMT siA class of datatypes for which we can efficiently generate constrained values by querying an SMT solver.kIf possible, instances should not be written by hand, but rather by using the default implementations via  GHC.Generics, e.g. jimport GHC.Generics import Test.Target.Targetable data Foo = ... deriving Generic instance Targetable FootPConstruct an SMT query describing all values of the given type up to the given .u/Reconstruct a Haskell value from the SMT model.v}Check whether a Haskell value inhabits the given type. Also returns a logical expression corresponding to the Haskell value.w4Translate a Haskell value into a logical expression.xOWhat is the Haskell type? (Mainly used to make the SMT queries more readable).yGiven a data constuctor d and a refined type for dFs output, return a list of types representing suitable arguments for d.zGiven a data constructor d and a list of expressions xs/, construct a new expression corresponding to d xs.{Split a symbolic variable representing the application of a data constructor into a pair of the data constructor and the sub-variables.|(Given a symbolic variable and a list of  (choice, var) pairs, oneOf x choices asserts that x must equal one of the vars in choices.}Given a symbolic variable x, figure out which of x-s choice varaibles was picked and return it.~CAssert a logical predicate, guarded by the current choice variable.Given a refinement {v | p} and an expression e, construct the predicate p[e/v].Wstu<the symbolic variable corresponding to the root of the valueBthe type of values we're generating (you can probably ignore this)vwxyz{|}~ stuvwxyz{|}~ stuvwxyz{|}~Gstuvwxyz{|}~None &(234=KMT9A class of functions that Target can test. A function is Testable iff! all of its component types are s$ and all of its argument types are able. You should never have to define a new  instance.|Test that a function inhabits the given refinement type by enumerating valid inputs and calling the function on the inputs.  None  234=KM   None :HMkTest whether a function inhabits its refinement type by enumerating valid inputs and calling the function.Like , but returns the &% instead of printing to standard out.Like O, but accepts options to control the enumeration depth, solver, and verbosity.Like , but returns the &% instead of printing to standard out.  the functionthe name of the function0the path to the module that defines the function!&'()=VWXYZ[\]^_cstuvwx!&)('stuvwxVWXYZ[\]^_c=     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}~   i           target-0.1.3.0Test.Target.ExprTest.Target.UtilTest.Target.TypesTest.Target.THTest.Target.MonadTest.Target.EvalTest.Target.TargetableTest.Target.Testable Test.TargetTest.Target.Targetable.Functioneqgelegtltiffimpappvarprop$fIntegralExpr $fEnumExpr $fRealExpr $fNumExprResArgsAllHave ConstraintsMapHList:::NilDepthiomyTracereftsmt2SortmakeDecl safeFromJust applyPreds propPsToProp propPToProp stripQualsfourth4getSpecrunGhc loadModule $fShowHListResultErroredFailedPassed MeasureEnv DataConEnvValueVariable ConstraintTargetException EvalErrorPreconditionCheckFailedExpectedValuesSmtErrorSmtFailedToProduceOutput ensureValuesboolsort choicesort $fSMTLIB2[] $fSymbolic(,)$fExceptionTargetException$fShowTargetExceptionError monomorphicinfoTypedeconstructTypemonomorphiseType TargetState variableschoices constraintsdepsrealizeddconEnvctorEnvmeasEnvembEnv tyconInfofreesyms constructorssigschosensortsmodNamefilePathmakingTy smtContext TargetOptsdepthsolververboselogging keepGoing maxSuccessscDepthghcOptsTarget runTargetfreshInt defaultOpts initState whenVerbosenoteUsedaddDep addConstraintaddConstructorinModulemaking lookupCtorguardedfresh freshChoicegetValueevalevalWith TargetablequerydecodechecktoExprgetTypeunfoldapplyunapplyoneOfwhichOf constrainofReftTestabletestTestTtargettargetTH targetResulttargetResultTH targetWith targetWithTHtargetResultWithtargetResultWithTHTFCo:R:Constraints:TFCo:R:Constraints[] integer-gmpGHC.Integer.TypeIntegerghc-prim GHC.ClassesOrdliquid-fixpoint-0.3.0.1Language.Fixpoint.TypesSortseedsortTysarrowizeunObj$fMonadThrowTarget$fSymbolicText$fLiftSMTSolverevalPredevalBrel applyMeasuresetSymnubSortmkSetevalSetevalBodyevalRelevalExprevalBop GCheckFields gcheckFields GDecodeFields gdecodeFields GQueryFields gqueryFields GRecursive gconArgTys GToExprFields gtoExprFields GQueryCtors gqueryCtors GToExprCtor gtoExprCtorGCheckgcheckGDecodegdecodeGQuerygqueryGToExprgtoExprreproxy reproxyRep reproxyGElemqualifyqualifiedDatatypeName reproxyLeft reproxyRight gisRecursive gqueryCtor$fGCheckFieldsU1$fGDecodeFieldsU1$fGQueryFieldsU1$fGRecursiveU1$fGToExprFieldsU1$fGCheckFieldsM1$fGDecodeFieldsM1$fGQueryFieldsM1$fGRecursiveM1$fGToExprFieldsM1$fGCheckFields:*:$fGDecodeFields:*:$fGQueryFields:*:$fGRecursive:*:$fGToExprFields:*: $fGCheckM1 $fGDecodeM1$fGQueryCtorsM1$fGToExprCtorM1 $fGCheck:+: $fGDecode:+:$fGQueryCtors:+:$fGToExprCtor:+:$fGCheckFieldsK1$fGDecodeFieldsK1 $fGQueryK1 $fGToExprK1 $fGCheckM10 $fGDecodeM10 $fGQueryM1 $fGToExprM1$fTargetable(,,,)$fTargetable(,,)$fTargetable(,)$fTargetableEither$fTargetableMaybe$fTargetable[]$fTargetableBool$fTargetableWord8$fTargetableChar$fTargetableInteger$fTargetableInt$fTargetable()baseGHC.ShowShow queryArgs decodeArgsmkExprsprocessfuncsetup $fTestablea$fTestable(->)getCtorsdataConSymbol_noUniquegenFun stitchFungenExprevalTypefreshen evalTypes$fTargetable(->)$fTargetable(->)0$fTargetable(->)1