# Relations

• Ordered pair/tuple: $(a, b)$ pair of two objects where order matters
• Product set (cartesian product): $A \times B$, the set of all combinations of pairs from $A$ and $B$
• Example:
• $A$ = $\{ 1, 2, 3 \}$
• $B$ = $\{ a, b, c \}$
• $A \times B$ = $\{ (1, a), (1, b), (1, c), (2, a), (2, b), (2, c), (3, a), (3, b), (3, c)\}$
• Binary relation: a binary relation $R$ from $S$ to $T$ is a subset $R \subseteq S \times T$ of the product set $S \times T$
• $(a, b) \subseteq R$: $a$ is related to $b$ by $R$ or $a\ R\ b$
• R-relative set: the $R$-related set of $x$ is set of all elements that are related to $x$
• Of an element: $R(x)= \{ y \in T \mid x\ R\ y \}$
• Of a subset: $S_1$ $R(S_1)= \{ y \in T \mid \exists x \in S_1 (x\ R\ y) \}$
• Domain $Dom(R)$: set of all elements that are $R$-related with an element from $T$
• Range $Ran(R)$: set of all elements that are $R^{-1}$-related with an element from $S$
• Inverse relation $R^{-1}$: $(s, t) \in R^{-1} \Leftrightarrow (t, s) \in R$
• In/out degree: count of related to/from elements
• Digraph: arrows pointing to a vertex / pointing away from a vertex
• Restriction: a relation in which all of the pairs are in a specific set
• Digraph: in the directed graph of $R \subseteq A \times A$:
• Each element of $A$ is a vertex
• Each pair $(a, b) \subseteq R$ is an edge

## Paths #

Path: a path from $a$ to $b$ is a sequence of legth $n+1$ such that:

$$a\ R\ x_1, x_1\ R\ x_2, ..., x_{n-1}\ R\ b$$

Or just a path in the digraph (easy way).

$R^n(x)$: the set of vertices that can be reached by a path with a length of exactly $n$ from $x$.

Connectivity relation: $R^\infty*x$: set of vertices reached from $x$ via some path.

### Path Composition #

• $\pi_1 = a, x_1, ..., x_{n-1}, b$
• $\pi_2 = b, y_1, ..., y_{m-1}, c$
• $\pi_2 \circ \pi_1 = a, x_1, ..., x_{n-1}, b, y_1, ..., y_{m-1}, c$

($\pi_1$ with $\pi_2$ concatenated without middle overlapping element)

### Cycles #

Cycle: a path that starts and ends at the same vertex

• Simple: a cycle that contains no other cycles
• Loop: a cycle of length 1

## Relation Matrix #

Boolean matrix of a binary relation $R \subset S \times T$: $$M_{ij} = \begin{cases} 1\ \text{if}(s_i, t_j) \in R \newline 0\ \text{if}(s_i, t_j) \notin R \end{cases}$$

$R^n$ can be calculated using the boolean matrix product:

$$M_{R^n} = M_R \circledcirc M_R \circledcirc ... \circledcirc M_R \text{ (n factors)}$$

## Relation Properties #

• Reflexive: $\forall x \in A$: $(x, x) \in R$
• Matrix: 1's on diagonal
• Digraph: self loop on all nodes
• Symmetric: $\forall x, y, \in A$: $(x, y) \in R \Rightarrow (y, x) \in R$
• Matrix: symetric around digagonal
• Digraph: all two-way edges
• Transitive: $\forall x, y, z \in A$: $(x, y) \in R \land (y, z) \in R$
• No clear way of recognising, try to find a contradiction when checking
• Irreflexive: $\forall x \in A$: $(x, x) \notin R$
• Matrix 0's on diagonal
• Digraph: no self-loops
• Asymmetric: $\forall x, y, \in A$: $(x, y) \in R \Rightarrow (y, x) \notin R$
• Implies anti-symetric and irreflexive?
• Matrix: opposites are not both 1 and 0's in matrix diagonal
• Digraph: one-way edges only and no self-loops
• Anti-symmetric: $\forall x, y \in A$: $((x, y) \in R \land (y,x) \in R) \Rightarrow x = y$
• Also defined as: $x \neq y \Rightarrow ((x, y) \notin R \lor (y, x) \notin R)$
• Matrix: opposites are not both 1
• Digraph: one-way edges only (self loops are allowed)
• Connected: $\forall x, y \in A$: $a \neq b \Rightarrow x\ R\ y \lor y\ R\ x$
• Digraph: vertices can be reached by a path from any other vertex
• All elements are comparable which each other

## Relation Equivelances #

$R$ is an equivalence relation on set $A$ if it is:

• Reflexive
• Symmetric
• Transitive

Equivalence classes [a] = R(a): partitions of connected elements of $S$

## Relation Operations #

• Union $R_1 \cup R_2$: pairs in both relations
• $(a, b) \in R_1 \cup R_2 \Leftrightarrow a\ R_1\ b \lor a\ R_2\ b$
• Intersection $R_1 \cup R_2$: pairs in at least one of the ralations
• $(a, b) \in R_1 \cap R_2 \Leftrightarrow a\ R_1\ b \land a\ R_2\ b$
• Complement $\overline{R}$: all pairs that are not in $R$
• $(a, b) \in \overline{R} \Leftrightarrow (a, b) \notin R$
• Matrix: each 0 and 1 flipped
• Inverse $R^{-1}$: all pairs inverted
• $(a, b) \in R^{-1} \Leftrightarrow (b, a) \in R$
• Matrix: transposed (mirror over diagonal)
• Composition $R_2 \circ R_1$: all pairs from $R_1$ to $R_2$
• $R_2 \circ R_1 = \{(a, c) \in A \times C \mid \exists b \in B((a, b) \in R_1 \land (b, c) \in R_2)\}$
• Calculated using boolean matrix product: $M_{R_2 \circ R_1} = M_{R_1} \circledcirc M_{R_2}$
• Associative

### Special relations #

(on set $A$)

• Equalitity relation $\Delta = {(a, a)\mid a \in A}$
• Empty relation $\emptyset \subseteq A \times A$
• Universal relation $A \times A \subseteq A \times A$

### Closure #

Closure: relation with added elements to make a certain property holds

Note: a closure does not always exist, sometimes you need to remove pairs instead of add them to make a property hold.

## Warshall's algorithm #

Used to calculate the transitive closure $R^{\infty}$ of a relation $R$.

1. Create a matrix $W_0$ of the relation.
2. To calculate the matrix $W_k$ for iteration $k$:
1. Copy all 1's from the previuos iteration
2. List all positions of 1's $i$ in column $k$ and positions of 1's $j$ in row $k$
3. Add 1's in all positions $(i, j)$
4. Fill the remaining spaces with 0's