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

Czech

Completion

Examination (written)

Time span

  • 10 hrs lectures
  • 2 hrs seminar
  • 10 hrs exercises
  • 2 hrs projects

Assessment points

  • 82 pts final exam
  • 18 pts projects

Department

Lecturer

Instructor

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

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

  1. Introduction, syntax and semantics of propositional logic, satisfiability, validity, truth tables, conjunctive and disjunctive normal form, algebraic manipulations with formulas, complete systems of connectives.
  2. Syntax and semantics of predicate logic.
  3. Normal forms and algebraic manipulation with predicate formulas. Theories in predicate logic.
  4. Formal proof. Proof from axioms by inference rules. The relation between syntax and semantics. Efficient, correct, complete proof systems.
  5. 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

  1. SAT and SMT solving.

Syllabus of exercises

  1. Propositional logic: formalization of statements, formula satisfaction, truth tables, conversions to CNF and DNF.
  2. Predicate logic: quantifiers and variables. Formalizing and understanding formulas 1.
  3. Predicate logic: language interpretation, models of formulas. Formalization and understanding formulas 2.
  4. Algebraic modifications and conversions to normal forms.
  5. Formal proof.

Syllabus - others, projects and individual work of students

  1. Use of SAT solvers
  2. 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.

Schedule

DayTypeWeeksRoomStartEndCapacityLect.grpGroupsInfo
Mon exercise 1., 2., 3., 4., 5., 6., 7. of lectures A113 09:0010:5052 1BIA 1BIB 2BIA 2BIB xx Holík
Mon exercise 2., 3., 4., 5., 6., 7. of lectures A112 09:0010:5052 1BIA 1BIB 2BIA 2BIB xx Lengál
Mon exercise 1., 2., 3., 4., 5., 6., 7. of lectures A112 15:0016:5052 1BIA 1BIB 2BIA 2BIB xx Holík
Mon lecture 1., 2., 3. of lectures D0206 D105 17:0018:50470 1BIA 2BIA 2BIB xx 10 - 29 Lengál
Mon lecture 4., 5., 6. of lectures D0206 D105 17:0018:50470 1BIA 2BIA 2BIB xx 10 - 29 Holík
Tue exercise 2., 3., 4., 5., 6., 7. of lectures A113 08:0009:5052 1BIA 1BIB 2BIA 2BIB xx Lengál
Tue exam 2024-06-04 D0206 D0207 D105 E112 09:0010:50 3. termín
Tue exercise 2., 3., 4., 5., 6., 7. of lectures D0207 12:0013:5052 1BIA 1BIB 2BIA 2BIB xx Holík
Tue exam 2024-05-28 D0206 D0207 D105 E104 E105 E112 G202 13:0014:50 2. termín
Wed exercise 2., 3., 4., 5., 6., 7. of lectures A112 14:0015:5052 1BIA 1BIB 2BIA 2BIB xx Dacík
Wed exercise 2., 3., 4., 5., 6., 7. of lectures A112 16:0017:5052 1BIA 1BIB 2BIA 2BIB xx Dacík
Thu exercise 2., 3., 4., 5., 6., 7. of lectures A112 08:0009:5052 1BIA 1BIB 2BIA 2BIB xx Síč
Thu exercise 2., 3., 4., 5., 6., 7. of lectures A112 10:0011:5052 1BIA 1BIB 2BIA 2BIB xx Síč
Thu exam 2024-05-16 A112 A113 D0206 D0207 D105 E104 E105 E112 G202 13:0014:50 1. termín
Thu exercise 2., 3., 4., 5., 6., 7. of lectures A113 16:0017:5052 1BIA 1BIB 2BIA 2BIB xx Lengál
Fri exercise 2., 3., 4., 5., 6., 7. of lectures A112 08:0009:5052 1BIA 1BIB 2BIA 2BIB xx Síč
Fri lecture 1., 2., 3. of lectures D0206 D105 10:0011:50470 1BIB 2BIA 2BIB xx 30 - 49 Lengál
Fri lecture 4., 5. of lectures D0206 D105 10:0011:50470 1BIB 2BIA 2BIB xx 30 - 49 Holík
Fri exercise 2., 3., 4., 5., 6., 7. of lectures A112 12:0013:5052 1BIA 1BIB 2BIA 2BIB xx Síč
Fri exercise 2., 3., 4., 5., 6., 7. of lectures A113 12:0013:5052 1BIA 1BIB 2BIA 2BIB xx Dacík
Fri exam 2024-04-12 D0206 D0207 D105 E112 15:0016:50 předtermín

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
Back to top