Module

Control.Algebra.Properties

#absorbtion

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

#leftAlternativeIdentity

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

#rightAlternativeIdentity

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

#alternativeIdentity

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

#anticommutative

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

#antireflexive

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

#asymmetric

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

#antisymmetric

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

#antitransitive

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

#associative

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

#leftCancellative

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

#rightCancellative

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

#cancellative

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

#commutative

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

#congruent

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

#elasticIdentity

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

#leftDistributive

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

#rightDistributive

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

#distributive

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

#falsehoodPreserving

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

#flexibleIdentity

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

#idempotent

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

#idempotent'

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

#identity

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

#intransitive

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

#involution

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

#jacobiIdentity

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

#jordanIdentity

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

#medial

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

#monotonic

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

#powerAssociative

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

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

#leftSemimedial

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

#rightSemimedial

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

#semimedial

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

#transitive

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

#truthPreserving

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

#leftUnar

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

#rightUnar

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

#unipotent

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

#zeropotent

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

Modules