package algebraic
- Alphabetic
- Public
- Protected
Type Members
- trait NonDecreasingMonoid[A] extends NonDecreasingSemigroup[A] with Monoid[A]
Monoid with a property that the result of the monoid operation is greater than or equal to any of the operands:
Monoid with a property that the result of the monoid operation is greater than or equal to any of the operands:
∀ a,b: a ≤ a⊕b b ≤ a⊕b
This property implies that zero is the minimum element:
∀a: 0 ≤ a
- trait NonDecreasingSemigroup[A] extends SemigroupWithOrder[A]
Semigroup with a property that the result of the semigroup operation is greater than or equal to any of the operands:
Semigroup with a property that the result of the semigroup operation is greater than or equal to any of the operands:
∀ a,b: a ≤ a⊕b b ≤ a⊕b
- trait NonIncreasingMonoid[A] extends NonIncreasingSemigroup[A] with Monoid[A]
Monoid with a property that the result of the monoid operation is less than or equal to any of the operands:
Monoid with a property that the result of the monoid operation is less than or equal to any of the operands:
∀ a,b: a⊕b ≤ a a⊕b ≤ b
This property implies that zero is the maximum element:
∀a: a ≤ 0
- trait NonIncreasingSemigroup[A] extends SemigroupWithOrder[A]
Semigroup with a property that the result of the semigroup operation is less than or equal to any of the operands:
Semigroup with a property that the result of the semigroup operation is less than or equal to any of the operands:
∀ a,b: a⊕b ≤ a a⊕b ≤ b
- trait OrderPreservingMonoid[A] extends OrderPreservingSemigroup[A] with Monoid[A]
Monoid whose operation preserves the Order:
Monoid whose operation preserves the Order:
∀ a,b,c: (a ≤ b) → (a⊕c ≤ b⊕c) (a ≤ b) → (c⊕a ≤ c⊕b)
- trait OrderPreservingSemigroup[A] extends SemigroupWithOrder[A]
Semigroup whose operation preserves the Order:
Semigroup whose operation preserves the Order:
∀ a,b,c: (a ≤ b) → (a⊕c ≤ b⊕c) (a ≤ b) → (c⊕a ≤ c⊕b)
- trait SemigroupWithOrder[A] extends Semigroup[A] with Order[A]
An auxiliary trait that extends both Semigroup and Order, but does not add any new laws.
Value Members
- object NonDecreasingMonoid
- object NonDecreasingSemigroup
- object NonIncreasingMonoid
- object NonIncreasingSemigroup
- object OrderPreservingMonoid
- object OrderPreservingSemigroup
- object SemigroupWithOrder