All Downloads are FREE. Search and download functionalities are using the official Maven repository.

poly.algebra.CSemigroup.scala Maven / Gradle / Ivy

package poly.algebra

import poly.algebra.factory._

/**
 *
 * Represents a commutative semigroup.
 *
 * An instance of this typeclass should satisfy the following axioms:
 *  - $lawAssociativity
 *  - $lawCommutativity
 * @define lawCommutativity '''Commutativity''': \(\forall a, b \in X, ab = ba\).
 * @author Tongfei Chen
 * @since 0.2.6
 */
trait CSemigroup[X] extends Semigroup[X]

object CSemigroup extends ImplicitGetter[CSemigroup]





© 2015 - 2024 Weber Informatics LLC | Privacy Policy