h$4/[      !"#$%&'()* + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredGNone\genvalidity-property is idempotent for any type:(idempotentOnArbitrary (id :: Int -> Int)6, given any input, is idempotent for any type as well:7\int -> idempotentOnArbitrary (const int :: Int -> Int)Nonegenvalidity-property Associative(\star) \quad\equiv\quad \forall a, b, c: (a \star b) \star c = a \star (b \star c) genvalidity-property&associative ((*) :: Int -> Int -> Int)&associative ((+) :: Int -> Int -> Int)genvalidity-property1associativeOnArbitrary ((*) :: Int -> Int -> Int)1associativeOnArbitrary ((+) :: Int -> Int -> Int)Nonegenvalidity-property Commutative(\star) \quad\equiv\quad \forall a, b: a \star b = b \star a genvalidity-property&commutative ((+) :: Int -> Int -> Int)&commutative ((*) :: Int -> Int -> Int)genvalidity-property1commutativeOnArbitrary ((+) :: Int -> Int -> Int)1commutativeOnArbitrary ((*) :: Int -> Int -> Int)commutativeOnArbitrary :: (Show a, Eq a, Arbitrary a) => (a -> a -> a) -> PropertyNone genvalidity-property LeftIdentity(\star, \doteq, b) \quad\equiv\quad \forall a: (b \star a) \doteq a genvalidity-property0leftIdentity (flip ((^) :: Int -> Int -> Int)) 1 genvalidity-property;leftIdentityOnArbitrary (flip ((^) :: Int -> Int -> Int)) 1genvalidity-property RightIdentity(\star, \doteq, b) \quad\equiv\quad \forall a: (a \star b) \doteq a genvalidity-property*rightIdentity ((^) :: Int -> Int -> Int) 1genvalidity-property5rightIdentityOnArbitrary ((^) :: Int -> Int -> Int) 1genvalidity-property Identity(\star, \doteq, b) \quad\equiv\quad LeftIdentity(\star, \doteq, b) \wedge RightIdentity(\star, \doteq, b) genvalidity-property%identity ((*) :: Int -> Int -> Int) 1%identity ((+) :: Int -> Int -> Int) 0genvalidity-property0identityOnArbitrary ((*) :: Int -> Int -> Int) 10identityOnArbitrary ((+) :: Int -> Int -> Int) 0 genvalidity-propertyA binary operationgenvalidity-property An equalitygenvalidity-propertyA candidate left-identitygenvalidity-property An element genvalidity-propertyA binary operationgenvalidity-property An equalitygenvalidity-propertyA candidate left-identity genvalidity-propertyA binary operationgenvalidity-propertyA candidate left-identitygenvalidity-propertyA binary operationgenvalidity-property An equalitygenvalidity-propertyA candidate right-identitygenvalidity-property An elementgenvalidity-propertyA binary operationgenvalidity-property An equalitygenvalidity-propertyA candidate right-identitygenvalidity-propertyA binary operationgenvalidity-propertyA candidate right-identity  None' NoneWNone&genvalidity-property4The given generator generates only valid data pointsgenvalidity-property6The given generator generates only invalid data pointsNonegenvalidity-propertyThe function produces valid output when the input is generated as specified by the given generator.genvalidity-propertyThe function produces valid output when the input is generated by genValidgenvalidity-propertyThe function produces valid output when the input is generated by  arbitrary  !"#$%  !"#$%None&genvalidity-property Antireflexive(\prec) \quad\equiv\quad \forall a: \neg (a \prec a) (genvalidity-property+antireflexivity ((<) :: Int -> Int -> Bool),antireflexivity ((/=) :: Int -> Int -> Bool)+antireflexivity ((>) :: Int -> Int -> Bool))genvalidity-property6antireflexivityOnArbitrary ((<) :: Int -> Int -> Bool)7antireflexivityOnArbitrary ((/=) :: Int -> Int -> Bool)6antireflexivityOnArbitrary ((>) :: Int -> Int -> Bool)&genvalidity-property A relationgenvalidity-property An element&'()&'() None$*genvalidity-property Antisymmetric(\prec, \doteq) \quad\equiv\quad \forall a, b: ((a \prec b) \wedge (b \prec a)) \Rightarrow (a \doteq b) -genvalidity-property(antisymmetry ((>) :: Int -> Int -> Bool))antisymmetry ((>=) :: Int -> Int -> Bool))antisymmetry ((<=) :: Int -> Int -> Bool)(antisymmetry ((<) :: Int -> Int -> Bool)=antisymmetry (Data.List.isPrefixOf :: [Int] -> [Int] -> Bool)=antisymmetry (Data.List.isSuffixOf :: [Int] -> [Int] -> Bool) [Int] -> Bool)>antisymmetry ((\x y -> even x && odd y) :: Int -> Int -> Bool).genvalidity-property3antisymmetryOnArbitrary ((>) :: Int -> Int -> Bool)4antisymmetryOnArbitrary ((>=) :: Int -> Int -> Bool)4antisymmetryOnArbitrary ((<=) :: Int -> Int -> Bool)3antisymmetryOnArbitrary ((<) :: Int -> Int -> Bool)antisymmetryOnArbitrary (Data.List.isPrefixOf :: [Int] -> [Int] -> Bool)antisymmetryOnArbitrary (Data.List.isSuffixOf :: [Int] -> [Int] -> Bool)antisymmetryOnArbitrary (Data.List.isInfixOf :: [Int] -> [Int] -> Bool)antisymmetryOnArbitrary ((\x y -> even x && odd y) :: Int -> Int -> Bool)*genvalidity-property A relationgenvalidity-propertyAn equivalence relationgenvalidity-property Two elements*+,-.*+,-. None/genvalidity-property Reflexive(\prec) \quad\equiv\quad \forall a: (a \prec a) 1genvalidity-property(reflexivity ((<=) :: Int -> Int -> Bool)(reflexivity ((==) :: Int -> Int -> Bool)(reflexivity ((>=) :: Int -> Int -> Bool) [Int] -> Bool) [Int] -> Bool);reflexivity (Data.List.isInfixOf :: [Int] -> [Int] -> Bool)2genvalidity-property3reflexivityOnArbitrary ((<=) :: Int -> Int -> Bool)3reflexivityOnArbitrary ((==) :: Int -> Int -> Bool)3reflexivityOnArbitrary ((>=) :: Int -> Int -> Bool)reflexivityOnArbitrary (Data.List.isPrefixOf :: [Int] -> [Int] -> Bool)reflexivityOnArbitrary (Data.List.isSuffixOf :: [Int] -> [Int] -> Bool)reflexivityOnArbitrary (Data.List.isInfixOf :: [Int] -> [Int] -> Bool)/genvalidity-property A relationgenvalidity-property An element/012/012 None3genvalidity-property Symmetric(\prec) \quad\equiv\quad \forall a, b: (a \prec b) \Leftrightarrow (b \prec a) 5genvalidity-property%symmetry ((==) :: Int -> Int -> Bool)%symmetry ((/=) :: Int -> Int -> Bool)6genvalidity-property0symmetryOnArbitrary ((==) :: Int -> Int -> Bool)0symmetryOnArbitrary ((/=) :: Int -> Int -> Bool)3genvalidity-property A relationgenvalidity-property Two elements34563456 None"7genvalidity-property Transitive(\prec) \quad\equiv\quad \forall a, b, c: ((a \prec b) \wedge (b \prec c)) \Rightarrow (a \prec c) 9genvalidity-property(transitivity ((>) :: Int -> Int -> Bool))transitivity ((>=) :: Int -> Int -> Bool))transitivity ((==) :: Int -> Int -> Bool))transitivity ((<=) :: Int -> Int -> Bool)(transitivity ((<) :: Int -> Int -> Bool)=transitivity (Data.List.isPrefixOf :: [Int] -> [Int] -> Bool)=transitivity (Data.List.isSuffixOf :: [Int] -> [Int] -> Bool) [Int] -> Bool):genvalidity-property3transitivityOnArbitrary ((>) :: Int -> Int -> Bool)4transitivityOnArbitrary ((>=) :: Int -> Int -> Bool)4transitivityOnArbitrary ((==) :: Int -> Int -> Bool)4transitivityOnArbitrary ((<=) :: Int -> Int -> Bool)3transitivityOnArbitrary ((<) :: Int -> Int -> Bool)transitivityOnArbitrary (Data.List.isPrefixOf :: [Int] -> [Int] -> Bool)transitivityOnArbitrary (Data.List.isSuffixOf :: [Int] -> [Int] -> Bool)transitivityOnArbitrary (Data.List.isInfixOf :: [Int] -> [Int] -> Bool)7genvalidity-property A relationgenvalidity-propertyThree elements789:789:None"&'()*+,-./0123456789: None'C ;genvalidity-property6shrinkPreservesValidOnGenValid ((:[]) :: Int -> [Int])<genvalidity-property2shrinkValidPreservesValid (pure 5 :: Gen Rational)=genvalidity-propertyshrinkingStaysValid (pure 5 :: Gen Double) (\d -> [d - 1, d - 2])>genvalidity-propertyshrinkingStaysValidWithLimit (pure 5 :: Gen Double) (\d -> [d - 1, read "NaN"]) 1?genvalidity-property3shrinkingPreserves (pure 5 :: Gen Int) (:[]) (== 5)@genvalidity-property5shrinkingPreservesWithLimit (pure 4) (:[]) 100 (== 4)Agenvalidity-property?shrinkDoesNotShrinkToItself (shrinkValid :: Double -> [Double])Bgenvalidity-propertyshrinkDoesNotShrinkToItselfWithLimit (shrinkValid :: Double -> [Double]) 100Cgenvalidity-propertyshrinkDoesNotShrinkToItselfOnValid (shrinkValid :: Rational -> [Rational])Dgenvalidity-propertyshrinkDoesNotShrinkToItselfOnValidWithLimit (shrinkValid :: Rational -> [Rational]) 100Egenvalidity-property8doesNotShrinkToItself (pure 5 :: Gen Double) shrinkValidFgenvalidity-propertydoesNotShrinkToItselfWithLimit (pure 5 :: Gen Double) shrinkValid 100 ;<=>?@ABCDEF ;<=>?@ABCDEF Safe-Inferred'Ggenvalidity-property?A class of types that are the result of functions that can failGHIGHINone(Ngenvalidity-property is its own inverse function for every type: prop> inverseFunctionsOnArbitrary id (id :: Int -> Int) LMNOPQRSTUVW LMNOPQRSTUVWNone){Zgenvalidity-propertyequivalentOnArbitrary ((* 2) . (+ 1)) ((+ 2) . (* 2) :: Int -> Int)]genvalidity-property5equivalentOnArbitrary2 (+) ((+) :: Int -> Int -> Int)XYZ[\]^_`abcdefghijklmnopqrXYZ[\]^`_acbdfegihjklmonpqrNone-sgenvalidity-propertyThe function succeeds if the input is generated by the given generatortgenvalidity-property3The function succeeds if the input is generated by genValidugenvalidity-property3The function succeeds if the input is generated by  arbitraryvgenvalidity-propertyThe function fails if the input is generated by the given generatorwgenvalidity-property,The function produces output that satisfies isValid if it is given input that is generated by the given generator.xgenvalidity-property,The function produces output that satisfies isValid, if it is given input that is generated by  arbitrary.ygenvalidity-property,The function produces output that satisfies isValid, if it is given input that is generated by genValid.stuvwxyz{|}~stuz{|v}wxy~None-R !"#$%LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None-  !"#$%&'()*+,-./0123456789:GHILMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%GHIstuz{|v}wxy~XYZ[\]pqr^`_acbdfegihjklmonLMNOPQRSTUVW/012789:*+,-.&'()3456  !"#$%&'()*+,-./0123456789:;<=>?@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]^_`abcdefghijklmnopqrstuvwxyz{|}~3genvalidity-property-1.0.0.0-7c5ow8m24ig3leyUxrceH6#Test.Validity.Functions.Idempotence&Test.Validity.Operations.Associativity&Test.Validity.Operations.Commutativity!Test.Validity.Operations.IdentityTest.Validity.Property.Utils"Test.Validity.GenValidity.Property Test.Validity.Functions.Validity'Test.Validity.Relations.Antireflexivity$Test.Validity.Relations.Antisymmetry#Test.Validity.Relations.Reflexivity Test.Validity.Relations.Symmetry$Test.Validity.Relations.Transitivity Test.Validity.Shrinking.PropertyTest.Validity.TypesTest.Validity.Functions.Inverse#Test.Validity.Functions.EquivalenceTest.Validity.Functions.CanFailPaths_genvalidity_propertyTest.Validity.OperationsTest.Validity.RelationsTest.Validity.FunctionsTest.Validity.PropertyidempotentOnGen idempotentidempotentOnArbitraryassociativeOnGens associativeassociativeOnArbitrarycommutativeOnGens commutativecommutativeOnArbitraryleftIdentityOnElemWithEqualityleftIdentityOnGenWithEqualityleftIdentityOnGen leftIdentityleftIdentityOnArbitraryrightIdentityOnElemWithEqualityrightIdentityOnGenWithEqualityrightIdentityOnGen rightIdentityrightIdentityOnArbitrary identityOnGenidentityidentityOnArbitrary forAllValid===><==> shouldBeValidshouldBeInvalidgenGeneratesValidgenGeneratesInvalidproducesValidsOnGen producesValidproducesValidsOnArbitraryproducesValidsOnGens2producesValid2producesValidsOnArbitrary2producesValidsOnGens3producesValid3producesValidsOnArbitrary3antireflexiveOnElemantireflexivityOnGenantireflexivityantireflexivityOnArbitrary antisymmetricOnElemsWithEqualityantisymmetryOnGensWithEqualityantisymmetryOnGens antisymmetryantisymmetryOnArbitraryreflexiveOnElemreflexivityOnGen reflexivityreflexivityOnArbitrarysymmetricOnElemssymmetryOnGenssymmetrysymmetryOnArbitrarytransitiveOnElemstransitivityOnGens transitivitytransitivityOnArbitraryshrinkPreservesValidOnGenValidshrinkValidPreservesValidshrinkingStaysValidshrinkingStaysValidWithLimitshrinkingPreservesshrinkingPreservesWithLimitshrinkDoesNotShrinkToItself$shrinkDoesNotShrinkToItselfWithLimit"shrinkDoesNotShrinkToItselfOnValid+shrinkDoesNotShrinkToItselfOnValidWithLimitdoesNotShrinkToItselfdoesNotShrinkToItselfWithLimitCanFail hasFailedresultIfSucceeded$fCanFailEither$fCanFailMaybeinverseFunctionsOnGeninverseFunctionsinverseFunctionsOnArbitrary$inverseFunctionsIfFirstSucceedsOnGeninverseFunctionsIfFirstSucceeds*inverseFunctionsIfFirstSucceedsOnArbitrary%inverseFunctionsIfSecondSucceedsOnGen inverseFunctionsIfSecondSucceeds+inverseFunctionsIfSecondSucceedsOnArbitraryinverseFunctionsIfSucceedOnGeninverseFunctionsIfSucceed$inverseFunctionsIfSucceedOnArbitraryequivalentOnGen equivalentequivalentOnArbitraryequivalentOnGens2 equivalent2equivalentOnArbitrary2 equivalentWhenFirstSucceedsOnGen&equivalentWhenFirstSucceedsOnArbitraryequivalentWhenFirstSucceeds"equivalentWhenFirstSucceedsOnGens2'equivalentWhenFirstSucceedsOnArbitrary2equivalentWhenFirstSucceeds2!equivalentWhenSecondSucceedsOnGen'equivalentWhenSecondSucceedsOnArbitraryequivalentWhenSecondSucceeds#equivalentWhenSecondSucceedsOnGens2(equivalentWhenSecondSucceedsOnArbitrary2equivalentWhenSecondSucceeds2equivalentWhenSucceedOnGenequivalentWhenSucceed equivalentWhenSucceedOnArbitraryequivalentWhenSucceedOnGens2!equivalentWhenSucceedOnArbitrary2equivalentWhenSucceed2equivalentOnGens3 equivalent3equivalentOnArbitrary3 succeedsOnGensucceedssucceedsOnArbitrary failsOnGenvalidIfSucceedsOnGenvalidIfSucceedsOnArbitraryvalidIfSucceedssucceedsOnGens2 succeeds2succeedsOnArbitrary2 failsOnGens2validIfSucceedsOnGens2validIfSucceeds2validIfSucceedsOnArbitrary2validIfSucceedsOnGens3validIfSucceeds3validIfSucceedsOnArbitrary3version getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebaseGHC.Baseidconst Semigroup<>Monoidmconcatmemptymappend'QuickCheck-2.14.2-6vGnep5JveBx6Bsl9Nf1tTest.QuickCheck.Genshuffle&validity-0.12.0.0-8pcXZEZB5GOCNzvnhVOk Data.Validity Validation unValidationValidationChainLocationViolatedgenericValidatetrivialValidationcheckdeclareannotatedelvedecorate decorateListinvalidvalid&validateCharNotUtf16SurrogateCodePointisUtf16SurrogateCodePointvalidateCharNotLineSeparatorisLineSeparatorvalidateStringSingleLine isSingleLinevalidateNotNaNvalidateNotInfinitevalidateRatioNotNaNvalidateRatioNotInfinitevalidateRatioNormalisedisValid isInvalidconstructValidconstructValidUnsafe checkValidityvalidationIsValidprettyValidateprettyValidationValidityvalidate*genvalidity-1.0.0.0-EB3kL4AIVeN9lyRspl20TuData.GenValiditystructurallyValidSubterms,shrinkValidStructurallyWithoutExtraFilteringshrinkValidStructurally(genValidStructurallyWithoutExtraCheckinggenValidStructurallygenSingleLineStringgenNonLineSeparatorgenLineSeparatorgenUtf16SurrogateCodePointGenValidgenValid shrinkValid GGenValid gGenValidGValidRecursivelyShrinkgValidRecursivelyShrinkGValidSubtermsgValidSubtermsGValidSubtermsInclgValidSubtermsInclData.GenValidity.Utils genInteger genFloatX genDoublegenFloatgenWordXgenIntXshrinkT4shrinkT3shrinkT2 shrinkTuple genListOf genListLength genNonEmptyOf arbPartition genSplit8 genSplit7 genSplit6 genSplit5 genSplit4 genSplit3genSplitupTo