#### A.1 Essential Mathematical Background

In this section, we consider the mathematical background needed generally in computer science and specifically in study of Formal Languages and Theory of Automata, for those students who do not have it or who want to revise.

Why do we need mathematics at all in computer science?

- To present information in an easily assimilated form;
- To provide a convenient method for solving a problem;
- To predict the behaviour of a real system.

In short, we use mathematics to model the real-world, see Fig. A .1.

**Fig. A.1** Mathematics used for modeling

#### A.1.1 Formal Logic: A Language for Mathematics

In many situations, ...