Module
Test.StrongCheck.Laws.Data.Semiring
- Package
- purescript-strongcheck-lawsDEPRECATED
- Repository
- garyb/purescript-strongcheck-laws
#checkSemiring Source
checkSemiring :: forall a. Semiring a => Arbitrary a => Eq a => Proxy a -> Effect Unit
- Commutative monoid under addition:
- Associativity:
(a + b) + c = a + (b + c)
- Identity:
zero + a = a + zero = a
- Commutative:
a + b = b + a
- Associativity:
- Monoid under multiplication:
- Associativity:
(a * b) * c = a * (b * c)
- Identity:
one * a = a * one = a
- Associativity:
- Multiplication distributes over addition:
- Left distributivity:
a * (b + c) = (a * b) + (a * c)
- Right distributivity:
(a + b) * c = (a * c) + (b * c)
- Left distributivity:
- Annihiliation:
zero * a = a * zero = zero
- 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