InversiveMonoidalCategory

libretto.lambda.InversiveMonoidalCategory
trait InversiveMonoidalCategory[->[_, _], |*|[_, _], One, -[_]] extends InversiveSemigroupalCategory[->, |*|, -] with SymmetricMonoidalCategory[->, |*|, One]

Attributes

Graph
Supertypes
trait SymmetricMonoidalCategory[->, |*|, One]
trait MonoidalCategory[->, |*|, One]
trait ClosedSymmetricSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]
trait ClosedSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Abstract methods

def backvert[A]: A |*| -[A] -> One
def forevert[A]: One -> -[A] |*| A

Concrete methods

override def contrapositive[A, B](f: A -> B): -[B] -> -[A]

Attributes

Definition Classes
override def die[A]: -[-[A]] -> A

Double inversion elimination.

Double inversion elimination.

Attributes

Definition Classes
override def dii[A]: A -> -[-[A]]

Double inversion introduction.

Double inversion introduction.

Attributes

Definition Classes
override def portLR[A, B, C](f: A |*| B -> C): A -> -[B] |*| C

Attributes

Definition Classes
override def portRL[A, B, C](f: A -> B |*| C): A |*| -[B] -> C

Attributes

Definition Classes

Inherited methods

def andThen[A, B, C](f: A -> B, g: B -> C): A -> C

Attributes

Inherited from:
Semigroupoid
def assocLR[A, B, C]: A |*| B |*| C -> A |*| B |*| C

Attributes

Inherited from:
SemigroupalCategory
def assocRL[A, B, C]: A |*| B |*| C -> A |*| B |*| C

Attributes

Inherited from:
SemigroupalCategory
override def curry[A, B, C](f: A |*| B -> C): A -> -[B] |*| C
def elimFst[A]: One |*| A -> A

Attributes

Inherited from:
MonoidalCategory
def elimSnd[A]: A |*| One -> A

Attributes

Inherited from:
MonoidalCategory
override def eval[A, B]: -[A] |*| B |*| A -> B
def fst[X, Y, Z](f: X -> Y): X |*| Z -> Y |*| Z

Attributes

Inherited from:
SemigroupalCategory
def id[A]: A -> A

Attributes

Inherited from:
Category
def introFst[A]: A -> One |*| A

Attributes

Inherited from:
MonoidalCategory
def introSnd[A]: A -> A |*| One

Attributes

Inherited from:
MonoidalCategory
def ix[A, B, C]: A |*| B |*| C -> A |*| C |*| B

Attributes

Inherited from:
SymmetricSemigroupalCategory
def ixi[A, B, C, D]: A |*| B |*| C |*| D -> A |*| C |*| B |*| D

Attributes

Inherited from:
SymmetricSemigroupalCategory
def par[A1, A2, B1, B2](f1: A1 -> B1, f2: A2 -> B2): A1 |*| A2 -> B1 |*| B2

Attributes

Inherited from:
SemigroupalCategory
def snd[X, Y, Z](f: Y -> Z): X |*| Y -> X |*| Z

Attributes

Inherited from:
SemigroupalCategory
def swap[A, B]: A |*| B -> B |*| A

Attributes

Inherited from:
SymmetricSemigroupalCategory
def uncurry[A, B, C](f: A -> -[B] |*| C): A |*| B -> C

Attributes

Inherited from:
ClosedSemigroupalCategory
def xi[A, B, C]: A |*| B |*| C -> B |*| A |*| C

Attributes

Inherited from:
SymmetricSemigroupalCategory

Extensions

Inherited extensions

extension [A, B, C](f: A -> B)
def >(g: B -> C): A -> C

Attributes

Inherited from:
Semigroupoid