Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- prop_namelabel :: Name String -> String -> Bool
- prop_twonames :: Name () -> Name () -> Property
- prop_singleswap :: Name String -> Name String -> [Name String] -> Property
- prop_freshswap :: Name String -> Name String -> (Name String, Name String, Name String) -> Property
- prop_doubleswap :: Name String -> Name String -> [Name String] -> Bool
- prop_doubleswap_fresh' :: Name String -> Name String -> Name String -> Name String -> Property
- prop_doubleswap_fresh :: Name String -> Name String -> Name String -> [Name String] -> Property
- prop_swap_symm :: Name String -> Name String -> [Name String] -> Bool
Documentation
>>>
:set -XScopedTypeVariables
>>>
import Test.QuickCheck
>>>
import Language.Nominal.Properties.SpecUtilities
prop_namelabel :: Name String -> String -> Bool Source #
does indeed overwrite the label.withLabel
\(n :: Name String) t -> nameLabel (n `withLabel` t) == t
prop_twonames :: Name () -> Name () -> Property Source #
Not all names are equal (even with trivial labels)
prop_singleswap :: Name String -> Name String -> [Name String] -> Property Source #
(n' n).x = x (we expect this to fail)
prop_freshswap :: Name String -> Name String -> (Name String, Name String, Name String) -> Property Source #
n',n#x => (n' n).x = x. Test on x a tuple.
prop_doubleswap_fresh' :: Name String -> Name String -> Name String -> Name String -> Property Source #
n'',n'#x => (n'' n').(n' n).m = (n'' n).m