# “Time-Space Tradeoffs for Branching Programs Contrasted with Those for StraightLine Programs,”

Relations

A subset R of the Cartesian product of sets is called a relation. A binary relation R is a

subset of the Cartesian product of two sets. Three examples of binary relations are R0 =

{(0, 0),(1, 1),(2, 4),(3, 9),(4, 16)}, R1 = {(red, 0), (green, 1), (blue, 2)}, and R2 =

{(small, short), (medium, middle), (medium, average), (large, tall)}. The relation R0 is a

function because for each first component of a pair there is a unique second component. R1

is also a function, but R2 is not a function.

A binary relation R over a set A is a subset of A × A; that is, both components of each

pair are drawn from the same set. We use two notations to denote membership of a pair (a, b)

in a binary relation R over A, namely (a, b) ∈ R and the new notation aRb. Often it is more

convenient to say aRb than to say (a, b) ∈ R.

10 Chapter 1 The Role of Theory in Computer Science Models of Computation

A binary relation R is reflexive if for all a ∈ A, aRa. It is symmetric if for all a, b ∈ A,

aRb if and only if bRa. It is transitive if for all a, b, c ∈ A, if aRb and bRc, then aRc.

A binary relation R is an equivalence relation if it is reflexive, symmetric, and transitive.

For example, the pairs (a, b), a, b ∈ , for which both a and b have the same remainder on

division by 3, is an equivalence relation. (See Problem 1.3.)

If R is an equivalence relation and aRb, then a and b are said to be equivalent elements.

We let E[a] be the set of elements in A that are equivalent to a under the relation R and

call it the equivalence class of elements equivalent to a. It is not difficult to show that for all

a, b ∈ A, E[a] and E[b] are either equal or disjoint. (See Problem 1.4.) Thus, the equivalence

classes of an equivalence relation over a set A partition the elements of A into disjoint sets.

For example, the partition {0∗, 0(0∗10∗)+, 1(0 + 1)∗} of the set (0 + 1)∗ of binary strings

defines an equivalence relation R. The equivalence classes consist of strings containing zero or

more 0’s, strings starting with 0 and containing at least one 1, an