Lecture 30: relations and start of finite automata

More on Relations

Equivalence relations

(review) if R is a relation on a set S then

A relation satisfying all three properties is called an equivalence relation. Equivalence relations "act like" the  =  relation.

If you ever write a function as part of a program and call it something like "equals" or "equiv", you should check that it actually defines an equivalence relation!

Equivalence classes

Recall when discussing number theory, we defined the equivalence class of x (written [x]m) as $\{Y \in \N | x \equiv y (mod~m)\}$.

This construction generalizes to any equivalence relation. If R is an equivalence relation on S, and if x ∈ S, then we can define the equivalence class of x ([x]R) as {y ∈ SxRy}.

The set of all equivalence classes of S (using the relation R) is called the quotient of S by R, or simply S / R (read "S mod R").

If you think of R as a graph, it must consist of a collection of a collection of subgraphs, each of which is completely connected; these subgraphs are the equivalence classes of S / R.


For the last portion of the lecture we started discussing finite automata. Finite automata are a very simple way to model certain computations that take strings as input and output yes or no.

Key definitions: