trait
Groupoid[A] extends Semigroupoid[A]
Abstract Value Members
-
abstract
def
getClass(): Class[_]
-
abstract
def
inverse(a: A): A
-
abstract
def
partialOp(x: A, y: A): Opt[A]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
equals(arg0: Any): Boolean
-
def
hashCode(): Int
-
def
isId(a: A)(implicit ev: Eq[A]): Boolean
-
final
def
isInstanceOf[T0]: Boolean
-
def
leftId(a: A): A
-
def
opInverseIsDefined(x: A, y: A): Boolean
-
def
opIsDefined(x: A, y: A): Boolean
-
def
partialOpInverse(x: A, y: A): Opt[A]
-
def
rightId(a: A): A
-
def
toString(): String
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
anda |+|? a.inverse
are always defined (iv) ifa |+|? b
, then((a |+|? b).get |+|? b.inverse).get === a
and((a.inverse |+|? a).get |+|? b) === b