Theory of Computation

What are the fundamental capabilities and limitations of computers?

| Jump Ahead

001 | Automata Theory

Automata theory is the study of mathematical models of computation: how they are defined and what their properties are.

002 | Computability Theory

Computability theory is the study of what can and cannot be computed by mathematical models of computation.

003 | Complexity Theory

Complexity theory is the study of how much time, memory, or other resources mathematical models of computation need to solve problems.

004 | Sets

A SET is an unordered collection of objects called elements or members of the set.

For example,

A={0,1,3,4,5,6}A = \{0, 1, 3, 4, 5, 6\}

is a set. The elements/members of AA are 1,2,3,4,5,1, 2, 3, 4, 5, and 66.


Common Sets:

N\mathbb{N} Natural Numbers: The set of all positive integers sometimes includes 0).

Z\mathbb{Z} Integers: The set of all whole numbers, both positive and negative.

Q\mathbb{Q} Rational Numbers: Numbers that can be expressed as a fraction where .

R\mathbb{R} Real Numbers: All rational and irrational numbers.

{}\{\} or \empty Empty Set: A set that contains no elements.


A SUBSET (\subseteq) of a set is a set whose elements are all contained within a greater/equal set.

For example,

A={0,1,3,4,5,6}A = \{0, 1, 3, 4, 5, 6\}

B={0,1,3}B = \{0, 1, 3\}

C={0,1,3,4,5,6}C = \{0, 1, 3, 4, 5, 6\}

The sets BB and CC are both subsets of AA, because every element in BB and every element in CC is also an element of AA.

We write this as B,CAB, C \subseteq A.


A PROPER SUBSET (\subset) of a set is a set whose elements are all contained within a greater set.

For example,

A={0,1,3,4,5,6}A = \{0, 1, 3, 4, 5, 6\}

B={0,1,3}B = \{0, 1, 3\}

C={0,1,3,4,5,6}C = \{0, 1, 3, 4, 5, 6\}

The sets BB and CC are both subsets of AA, but only BB is a proper subset of AA because it is not equal to AA.

We write this as BAB \subset A.


A SET OPERATION is a rule used to combine, compare, or modify sets in order to form a new set.

These are the most common set operations:

— UNION (\cup)

— INTERSECTION (\cap)

— DIFFERENCE (- or \setminus)

— COMPLEMENT (of a set AA; A\overline{A})

— CARTESIAN/CROSS PRODUCT (×\times)

— POWER SET (of a set II; P(I)\mathcal{P}(I))


The UNION (\cup) of sets is ...

For example,


The INTERSECTION (\cap) of sets is ...

For example,


The DIFFERENCE (- or \setminus) of sets is ...

For example,


The COMPLEMENT (of a set AA; A\overline{A}) of sets is ...

For example,


The CARTESIAN/CROSS PRODUCT (×\times) of sets is ...

For example,


The POWER SET (P(I)\mathcal{P}(I)) of a set II is the set of all subsets of II.

For example,

I={0,1}I = \{0, 1\}

P(I)={{},{0},{1},{0,1}}\mathcal{P}(I) = \{ \{\}, \{0\}, \{1\}, \{0, 1\}\}

005 | Sequences and Tuples

A SEQUENCE is a list of objects, finite or infinite, in some order, and a TUPLE is a finite sequence.

For example,

...

006 | Functions

...

007 | Relations

...

008 | Graphs

...

009 | Strings

...

010 | Proofs

...

011 | Languages

...

012 | Grammars

...

013 | Finite Automata

...