Mathematical Foundations of the Theory of Computation
Description

Part one: Logic and proof. A review of Logic of Propositions: Alphabet, syntax and semantics. A review of Logic of Predicates: Alphabet, syntax and semantics. Fundamental methods of roofs: Direct proof, Proof by contraposition, Existence Proof (constructive and non- constructive), Indirect proof, Proof by mathematical induction (weak and strong induction). Formal deductive systems: Hilbert-style systems, Semantic tableaux. Recursion and induction. Validation of programs by using Hoare Logic: Partial correctness of code, Total correctness of code. Relations-Relational databases (elementary presentation of Prolog).
Part two: Formal languages and automata. Alphabets and languages. Regular expressions and regular languages. Deterministic and non-deterministic finite automata. The pumping lemma for regular expressions. Context-free grammars and languages. Regular grammars. Grammar simplification. The pumping lemma for context-free languages. Pushdown automata. Turing machines. Computation using a Turing machine. Context sensitive grammars. Computability. Undecidable languages. Recursively enumerable languages. Ta limits of computability. Rice’s Theorem.

Division: Computational Mathematics and Informatics
Instructors:

Recommended Literature:

Program of Studies:
Undergraduate Studies
Semester: F
ECTS: 6
Hours per week (Lec/Tut/L): 2/2/0
Code: IC233
Course type: Elective
Compulsory course for the specialization
"Informatics and Computational Mathematics"
Erasmus students: No




keyboard_arrow_up