trait Groupoid[A] extends Semigroupoid[A]
A groupoid is a semigroupoid where inverse are defined for all elements, and thus left and right identity elements such that:
(i) (leftId(g) |+|? g).get === g
(ii) (g |+|? rightId(g)).get === g
(iii) a.inverse |+|? a and a |+|? a.inverse are always defined
(iv) if a |+|? b, then ((a |+|? b).get |+|? b.inverse).get === a and
((a.inverse |+|? a).get |+|? b) === b
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- Groupoid
- Semigroupoid
- Any
- Hide All
- Show All
Visibility
- Public
- All
Abstract Value Members
-
abstract
def
getClass(): Class[_]
- Definition Classes
- Any
-
abstract
def
inverse(a: A): A
Returns the inverse element of
asuch that(a |+|? a.inverse).getis an identity. -
abstract
def
partialOp(x: A, y: A): Opt[A]
- Definition Classes
- Semigroupoid
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
equals(arg0: Any): Boolean
- Definition Classes
- Any
-
def
hashCode(): Int
- Definition Classes
- Any
-
def
isId(a: A)(implicit ev: Eq[A]): Boolean
Tests if
ais an identity. -
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
leftId(a: A): A
Returns the left identity of
a. - def opInverseIsDefined(x: A, y: A): Boolean
-
def
opIsDefined(x: A, y: A): Boolean
- Definition Classes
- Semigroupoid
- def partialOpInverse(x: A, y: A): Opt[A]
-
def
rightId(a: A): A
Returns the right identity of
a. -
def
toString(): String
- Definition Classes
- Any