Categorical UML
Posted on March 1, 2020
Tags: typetheory
*
in uml means0..*
- zero or more
1 1 to 1
\[A\xlongequal{isomorphism}B\]
2 0..1 to 1
\[A\xrightarrow{injective}B\]
3 0..* to 1
\[A\xrightarrow{function}B\]
4 1..* to 1
\[A\xtwoheadrightarrow{surjective}B\]
5 0..1 to 0..1
\[A \xleftarrow{injective} R\xrightarrow{injective}B\]
6 0..1 to 0..*
\[A \xleftarrow{function} R\xrightarrow{injective}B\]
7 0..1 to 1..*
\[A \xtwoheadleftarrow{surjective} R\xrightarrow{injective}B\]
8 0..* to 0..*
\[A \xleftarrow{function} R\xrightarrow{function}B\]
9 0..* to 1..*
\[A \xtwoheadleftarrow{surjective} R\xrightarrow{function}B\]
10 1..* to 1..*
\[A \xtwoheadleftarrow{surjective} R\xtwoheadrightarrow{surjective}B\]