1. 首页
2. 在线课程
3. Mathematical Logic and Algorithms Theory

# 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:

Chapter 1 - Mission of mathematical logic

Goals, objectives, methods.

Relation between mathematics and mathematical logic.

Examples of logical errors, sophisms and paradoxes.

Brief history of mathematical logic, discussing how problems mathematical logic faced and solved in its development, and how mathematical logic integrates further and further into programming.

Chapter 2 - Foundations of the set theory

Set theory is the basis for development of languages.

Chapter 3 - Propositional logic

Propositional logic studies the simplest yet the most important formal language.

Chapter 4 - First-order languages

The language of propositional logic has limited tools, so we talk about more complex languages based on predicate logic. The language of predicate logic offers tools for full and exact description of any formal notions and statements.

Chapter 5 - Axiomatic method

The axiomatic method makes it possible to solve many logical problems, errors and paradoxes. It is widely used in today's mathematics and the knowledge of it is vital for anyone using functional and logical programming languages.

Chapter 6 - Mathematical proof

Discussion of the types of mathematical proof and how proof can be aided with a computer.

Chapter 7 - Algorithm theory

To learn about the possibilities of the algorithmic approach and the limitations of calculations, one must know the rigorous definition of algorithms and computability. The module offers these definitions and defines algorithmically unsolvable problems. The module introduces the concept of algorithm complexity, which is an important factor when selecting algorithms to solve problems. The module also compares problems by complexity - this knowledge makes it possible to use any search algorithm to solve problem instead of search for the good algorithm.

• Teacher:
Prof. Valentin M. Zyuzkov
• 大学:
俄罗斯
托木斯克州立控制系统与无线电电子大学