property-0.0.1: common properties

Safe HaskellSafe
LanguageHaskell2010

Test.Property.Relation.Transitive

Synopsis

Documentation

transitive :: (r -> r -> Bool) -> r -> r -> r -> Bool Source #

\( \forall a, b, c: ((a \# b) \wedge (b \# c)) \Rightarrow (a \# c) \)

For example, "is ancestor of" is a transitive relation, while "is parent of" is not.

euclidean :: (r -> r -> Bool) -> r -> r -> r -> Bool Source #

\( \forall a, b, c: ((a \# b) \wedge (a \# c)) \Rightarrow (b \# c) \)

For example, = is an right Euclidean relation because if x = y and x = z then y = z.

euclidean' :: (r -> r -> Bool) -> r -> r -> r -> Bool Source #

\( \forall a, b, c: ((b \# a) \wedge (c \# a)) \Rightarrow (b \# c) \)

For example, = is a left Euclidean relation because if x = y and x = z then y = z.