Module

Control.Algebra.Properties

Package
purescript-properties
Repository
Risto-Stevcev/purescript-properties

#absorbtion Source

absorbtion :: forall a. Eq a => (a -> a -> a) -> (a -> a -> a) -> a -> a -> Boolean

#leftAlternativeIdentity Source

leftAlternativeIdentity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#rightAlternativeIdentity Source

rightAlternativeIdentity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#alternativeIdentity Source

alternativeIdentity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#anticommutative Source

anticommutative :: forall a b. Eq b => (a -> a -> b) -> a -> a -> Boolean

#antireflexive Source

antireflexive :: forall a b. HeytingAlgebra b => Eq b => (a -> a -> b) -> a -> b

#asymmetric Source

asymmetric :: forall a. Eq a => (a -> a -> Boolean) -> a -> a -> Boolean

#antisymmetric Source

antisymmetric :: forall a. Eq a => (a -> a -> Boolean) -> a -> a -> Boolean

#antitransitive Source

antitransitive :: forall a b. HeytingAlgebra b => (a -> a -> b) -> a -> a -> a -> b

#associative Source

associative :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

#leftCancellative Source

leftCancellative :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

#rightCancellative Source

rightCancellative :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

#cancellative Source

cancellative :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

#commutative Source

commutative :: forall a b. Eq b => (a -> a -> b) -> a -> a -> Boolean

#congruent Source

congruent :: forall a. Eq a => (a -> a) -> a -> a -> Boolean

#elasticIdentity Source

elasticIdentity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#leftDistributive Source

leftDistributive :: forall a. Eq a => (a -> a -> a) -> (a -> a -> a) -> a -> a -> a -> Boolean

#rightDistributive Source

rightDistributive :: forall a. Eq a => (a -> a -> a) -> (a -> a -> a) -> a -> a -> a -> Boolean

#distributive Source

distributive :: forall a. Eq a => (a -> a -> a) -> (a -> a -> a) -> a -> a -> a -> Boolean

#falsehoodPreserving Source

falsehoodPreserving :: forall a. HeytingAlgebra a => Eq a => (a -> a -> a) -> a -> a -> a

#flexibleIdentity Source

flexibleIdentity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#idempotent Source

idempotent :: forall a. Eq a => (a -> a) -> a -> Boolean

#idempotent' Source

idempotent' :: forall a. Eq a => (a -> a -> a) -> a -> Boolean

#identity Source

identity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#intransitive Source

intransitive :: forall a b. HeytingAlgebra b => (a -> a -> b) -> a -> a -> a -> b

#involution Source

involution :: forall a. Eq a => (a -> a) -> a -> Boolean

#jacobiIdentity Source

jacobiIdentity :: forall a. Eq a => (a -> a -> a) -> (a -> a -> a) -> a -> a -> a -> a -> Boolean

#jordanIdentity Source

jordanIdentity :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#medial Source

medial :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> a -> Boolean

#monotonic Source

monotonic :: forall a. HeytingAlgebra a => Eq a => (a -> a -> a) -> a -> a -> a -> a

#powerAssociative Source

powerAssociative :: forall a. Eq a => (a -> a -> a) -> a -> Boolean

A magma M is power-associative if the subalgebra generated by any element is associative.

∀ m n. m,n ∈ ℤ+ x^m • x^n = x^(m + n) where x^m • x^n is defined recursively via x^1 = x, x^(n + 1) = x^n • x

#reflexive Source

reflexive :: forall a b. HeytingAlgebra b => Eq b => (a -> a -> b) -> a -> b

#leftSemimedial Source

leftSemimedial :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> a -> Boolean

#rightSemimedial Source

rightSemimedial :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> a -> Boolean

#semimedial Source

semimedial :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> a -> Boolean

#transitive Source

transitive :: forall a b. HeytingAlgebra b => (a -> a -> b) -> a -> a -> a -> b

#truthPreserving Source

truthPreserving :: forall a. HeytingAlgebra a => Eq a => (a -> a -> a) -> a -> a -> a

#leftUnar Source

leftUnar :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

#rightUnar Source

rightUnar :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

#unipotent Source

unipotent :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

#zeropotent Source

zeropotent :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean