Course details
Introduction to Logic for Computer Science
IZLO Acad. year 2023/2024 Summer semester 2 credits
Formal propositional and predicate logic. Syntax and semantics of formulae. Normal forms and algebraic manipulation with formulae. Formal proof as a sequence of applications of syntactic rules originating in axioms. First order theories, models. Notions of correctness, soundness, completeness. Usage of SAT and SMT solvers. Connections of proving and computation, existence of their limits following from Gödel's theorems.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 10 hrs lectures
- 2 hrs seminar
- 10 hrs exercises
- 2 hrs projects
Assessment points
- 82 pts final exam (written part)
- 18 pts projects
Department
Lecturer
Instructor
Holík Lukáš, doc. Mgr., Ph.D. (DITS)
Lengál Ondřej, Ing., Ph.D. (DITS)
Síč Juraj, Mgr. (DITS)
Learning objectives
Introduction to most basic concepts, terminology, and results of classical mathematical logic (syntax, semantics, formal proof in propositional and predicate logic); training of formal expression using the apparatus of mathematical logic; introduction to the connection with computing, formal reasoning, and their limits; introduction to the technology of automated logical reasoning—SAT and SMT solving.
Orientation in the notions of mathematical logic such as term, formula, axiom, proof, syntax, semantics, satisfiability, validity, correctness, soundness, axiom, proof. Familiarity with the language of propositional and predicate logic: thorough understanding of the meaning and usage of their symbols: connectives, quantifiers, logical variables. Ability to write and read texts with elements of formal notation. Improvement of overall ability to express oneself and to think formally and accurately. Basic knowledge of the most fundamental results in mathematical logic, Gödel's theorems, and their relevance to computer science. Awareness of the practical use of SAT and SMT solvers.
Why is the course taught
The basic notions and concepts of mathematical logic were at the very beginning of computer science and permeate it at every step. They underlie logic circuits, processors, and almost every formal system or language, including programming languages, specification, and modeling. Becoming thoroughly familiar with basic notions of logic in their original form will help to navigate the derivative concepts of modern computer science.
Studying mathematical logic, the science of formal expression and reasoning, is also a unique opportunity to thoroughly practice precise expression and reasoning, a critical skill in any field of IT. A computer scientist constantly needs to assimilate, create, and communicate complex algorithms, models, systems, specifications, ...
SAT and SMT solving is an example of practical use of the theory taught. It is a versatile technology applicable in planning, arithmetic problem solving, graph problems, program analysis, testing, and verification, and other areas.
Finally, the basic facts about the connection between computing, formal reasoning, and mathematical proof, and the existence of their limits arising from Gödel's theorems, are among the most fundamental theoretical insights in computer science.
Recommended prerequisites
- Discrete Mathematics (IDM)
Prerequisite knowledge and skills
Basics of discrete mathematics and its notation, sets, relations, functions.
Study literature
- Herbert B. Enderton. A Mathematical Introduction to Logic. Academic Press, 2001. ISBN 978-0122384523
Fundamental literature
- Herbert B. Enderton. A Mathematical Introduction to Logic. Academic Press, 2001. ISBN 978-0122384523
- Michael Huth and Mark Ryan. Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press, 2004. ISBN 978-0521543101
- Peter Smith. An Introduction to Formal Logic. ISBN 978-1916906327 https://www.logicmatters.net/ifl/
- Peter Smith. Gödel Without (Too Many) Tears. ISBN 979-8673862131 https://www.logicmatters.net/igt/
- Doxiadis A, Papadimitriou C. LOGICOMIX: an epic search for truth. Bloomsbury Publishing USA; 2015 Jul 28. ISBN 978-1596914520
Syllabus of lectures
- Introduction, syntax and semantics of propositional logic, satisfiability, validity, truth tables, conjunctive and disjunctive normal form, algebraic manipulations with formulas, complete systems of connectives.
- Syntax and semantics of predicate logic.
- Normal forms and algebraic manipulation with predicate formulas. Theories in predicate logic.
- Formal proof. Proof from axioms by inference rules. The relation between syntax and semantics. Efficient, correct, complete proof systems.
- Soundness and completeness of first-order theories. The relation between computation and proof, mechanization of mathematics and PL theories, Gödel's incompleteness theorems.
Syllabus of seminars
- SAT and SMT solving.
Syllabus of exercises
- Propositional logic: formalization of statements, formula satisfaction, truth tables, conversions to CNF and DNF.
- Predicate logic: quantifiers and variables. Formalizing and understanding formulas 1.
- Predicate logic: language interpretation, models of formulas. Formalization and understanding formulas 2.
- Algebraic modifications and conversions to normal forms.
- Formal proof.
Syllabus - others, projects and individual work of students
- Use of SAT solvers
- Use of SMT solvers
Progress assessment
Evaluation of the project, which will consist of two homeworks: 1) use of SAT solver, 2) use of SMT solver.
The project is evaluated with a maximum of 18 points, the written exam with a maximum of 82 points. For successful completion of the course, you must obtain at least 50 points out of the 100 and also 40 points from the final exam.
Course inclusion in study plans
- Programme BIT, 1st year of study, Compulsory
- Programme BIT (in English), 1st year of study, Compulsory
- Programme IT-BC-3, field BIT, 1st year of study, Compulsory