Skip to main content
Skip header

Logic for Practice

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2047/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *First Cycle
Year of Study *Third Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
MEN059Mgr. Marek Menšík, Ph.D.
Summary
The course is focused on practical applications of the formal apparatus of propositional as well as first-order predicate logic. This formalism is broadly used in computer science and artificial intelligence for a rigorous specification of intuitive knowledge and of particular theories, for automatic theorem proving, and many other areas. The course is focused in particular on the principles of knowledge specification and a formal specification of a software system, as well as logic programming. The students will also get acquainted with the principles of logic programming, as well as with practical applications of non-classical logics, in particular fuzzy logic.
Learning Outcomes of the Course Unit
The course is an introduction to logical reasoning in computer science and programming. Students learn the principles of formalization of explicit knowledge in the language of propositional and first-order predicate logic. They also learn how to validly infer implicit knowledge from the explicit knowledge base. To this end they are trained to correctly understand the specification of a program, and also to rigorously specify a software process. Such a formal specification is then utilized for verification of a system and automatic code generation.
Course Contents
There are three basic thematic parts of the subject.
a)Thelanguageof propositional and predicate logic; formalisation of explicite knowledge
b)Derivation of inferable/computable knowledge from explicit knowledge base; fuzzy logiky applications
c)Foundamentals of program specification and logic programming

Lectures:
1. Introduction: deductively valid arguments
Topic (a):
2. Language of propositional logic and formalisation in this language
3. Language of predicate logic and formalisation in FOL
4. Equivalent transformations of formulae, negation
Topic (b):
5. Proof methods in propositional logic
6. Proof methods in predicate logic
7. Fuzzy sets and fuzzy logic applications
Topic (c):
8. Declarative vs. imperative program specification.
9. Rezolution method andlogic programming
10.Programming in Prolog
Recommended or Required Reading
Required Reading:
M.Duží: Logic for Practice, VŠB-TU Ostrava, to appear.
M.Duží: Logika pro informatiky. Učební texty, VŠB-TU Ostrava, 2012.
M. Duží: Logika v praxi, http://www.cs.vsb.cz/duzi/Logika_Praxe.pdf
Recommended Reading:
Z. Manna: Mathematical Theory of Computing. McGraw-Hill, 1974.
Williams, JohnK., et. al.: Fuzzy Logic Applications. In Artificial Intelligence Methods in the Environmental Sciences, 2009, pp. 347-377.
Z. Manna: Matematická teorie programů. McGraw-Hill, 1974, SNTL Praha 1981.
V. Novák: Základy fuzzy modelování, BEN - technická literatura, Praha 2000.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Exercises evaluation and ExaminationCredit and Examination100 (100)51
        Exercises evaluationCredit30 (30)15
                Zápočtová písemkaWritten test10 5
                Zpracování úlohy v jazyce Prolog Project20 5
        ExaminationExamination70 (70)30
                Zkouškový testWritten examination30 10
                Ústní zkouškaOral examination40 15