Module
Test.StrongCheck.Laws.Data.HeytingAlgebra
- Package
- purescript-strongcheck-lawsDEPRECATED
- Repository
- garyb/purescript-strongcheck-laws
#checkHeytingAlgebra Source
checkHeytingAlgebra :: forall a. Arbitrary a => HeytingAlgebra a => Eq a => Proxy a -> Effect Unit
- Associativity:
a || (b || c) = (a || b) || c
a && (b && c) = (a && b) && c
- Commutativity:
a || b = b || a
a && b = b && a
- Absorption:
a || (a && b) = a
a && (a || b) = a
- Idempotent:
a || a = a
a && a = a
- Identity:
a || ff = a
a && tt = a
- Implication:
a `implies` a = tt
a && (a `implies` b) = a && b
b && (a `implies` b) = b
a `implies` (b && c) = (a `implies` b) && (a `implies` c)
- Complemented:
not a = a `implies` ff
- Modules
- Test.
StrongCheck. Laws - Test.
StrongCheck. Laws. Control - Test.
StrongCheck. Laws. Control. Alt - Test.
StrongCheck. Laws. Control. Alternative - Test.
StrongCheck. Laws. Control. Applicative - Test.
StrongCheck. Laws. Control. Apply - Test.
StrongCheck. Laws. Control. Bind - Test.
StrongCheck. Laws. Control. Category - Test.
StrongCheck. Laws. Control. Comonad - Test.
StrongCheck. Laws. Control. Extend - Test.
StrongCheck. Laws. Control. Monad - Test.
StrongCheck. Laws. Control. MonadPlus - Test.
StrongCheck. Laws. Control. MonadZero - Test.
StrongCheck. Laws. Control. Plus - Test.
StrongCheck. Laws. Control. Semigroupoid - Test.
StrongCheck. Laws. Data - Test.
StrongCheck. Laws. Data. BooleanAlgebra - Test.
StrongCheck. Laws. Data. Bounded - Test.
StrongCheck. Laws. Data. CommutativeRing - Test.
StrongCheck. Laws. Data. DivisionRing - Test.
StrongCheck. Laws. Data. Eq - Test.
StrongCheck. Laws. Data. EuclideanRing - Test.
StrongCheck. Laws. Data. Field - Test.
StrongCheck. Laws. Data. Functor - Test.
StrongCheck. Laws. Data. HeytingAlgebra - Test.
StrongCheck. Laws. Data. Monoid - Test.
StrongCheck. Laws. Data. Ord - Test.
StrongCheck. Laws. Data. Ring - Test.
StrongCheck. Laws. Data. Semigroup - Test.
StrongCheck. Laws. Data. Semiring