# Mathematical Logic and Algorithms Theory

Mathematical logic arose almost 100 years ago in connection with the internal needs of mathematics. But over time, it has also found application in theoretical and practical programming, and today it helps to overcome the shortcomings of natural languages - their imprecision, ambiguity and complexity.

When solving applied problems, it is often necessary to translate information from a meaningful language into a mathematical language, from there into the language of numerical methods and algorithms, and from it into a specific programming language, and vice versa. Knowing the powerful and easy ways to transform mathematical sentences provided by mathematical logic will be needed by anyone looking to get started in research or create effective programs.

Along with addressing complex issues at a fairly rigorous level, the course contains many examples and explanations that will help you learn difficult concepts and problems.

We present a course developed by the team of Tomsk State University of Control Systems and Radioelectronics. This course offers basic knowledge in mathematical logic.

The goals of mathematical logic are:

- To provide a formal language for mathematical statements that is easily translatable into the natural language and that allows compact and convenient notation.
- To offer clear and unambiguous interpretation of such statements that is at the same time simple and close to the natural mathematical concepts.

Most of the course content will be understandable for students with only a high school level of education. Some minor sections of the course will require knowledge of imperative programming and elements of mathematical analysis.

We made sure to make this course informative and interesting for everyone!

## Learning outcomes

Upon completion of the course, students will have acquired fundamental knowledge that is valuable in itself and will serve as the foundation for other studies. For example, software engineers strongly rely on logic-mathematical theories in their work.

- Natural languages possess a number of flaws - inaccuracy, polysemy, complexity.
- Knowledge of the simple yet powerful methods of mathematical statement transformations made possible by the language of logic is just as vital as is the knowledge of elementary algebra. No need to reinvent the wheel.
- Invented almost a century ago to address the needs of mathematics, mathematical logic has found application in theoretical and practical programming.
- When dealing with applied problems, a researcher has to switch between the descriptive language, mathematical language, the language of numerical methods and algorithms, and specific programming languages. The language of mathematical logic offers a great opportunity to practice this translation between languages and is used as a powerful formalised tool for transmission of information between distant languages.

## Course structure

The course consists of 7 chapters: