Sentences expressed by a language have a meaning. In order to process meanings using a computer, we need to consider logical inference itself as a mathematical object. In this lecture, we learn logic as a basic methodology for this purpose, which provides a foundation for knowledge processing by the formal approach. Particularly, we learn propositional logic, predicate logic, resolution principle, and a logic programming language Prolog.
By the end of this course, students will be able to:
1) explain propositional and predicate logic that formalize inference as symbolic operation
2) write program code using a logic programming language Prolog
propositional logic, predicate logic, resolution principle, logic Programming, Prolog
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
Eight lectures about propositional and predicate logic at the first half, and six exercises of Prolog programming at the second half.
Course schedule | Required learning | |
---|---|---|
Class 1 | Introduction | Explain the background of logic |
Class 2 | Propositional logic 1 : syntax, proposition, connectives | Explain syntax, proposition, and connectives |
Class 3 | Propositional logic 2 : semantics, truth value, tautology | Explain semantics, truth value, and tautology |
Class 4 | Propositional logic 3 : normal form, Boolean algebras | Explain Boolean algebras and normal form |
Class 5 | Proofs in natural deduction: inconsistent, reductio ad absurdum, derivation | Explain inconsistent, reductio ad absurdum, and derivation |
Class 6 | Predicate logic: predicate, quantifiers, term, formula | Explain predicate, quantifiers, term, and formula |
Class 7 | Resolution principle | Explain resolution principle |
Class 8 | Logic programming language Prolog | Explain the syntax and semantics of the Prolog programming language |
Class 9 | Program execusion and basic operations | Setup Prolog programming environemnt and run sample programs |
Class 10 | List and recursion | Write Prolog code that handles list and recursion |
Class 11 | Graph search | Write Prolog code that implement graph search |
Class 12 | Automaton | Write Prolog code that implement automaton |
Class 13 | Syntax analysis | Write Prolog code that implement syntax analysis |
Class 14 | Creative task | Write a Prolog code that implements a given creative task. |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Handouts are distributed
Logic and Structure, D. van Dalen, Springer-Verlag, 1983
Exercise is 40%, and the final exam is 60%.
The final exam may be replaced with a report when holding the exam is difficult.
Students are required to be able to submit reports through T2SCHOLA.
Installing a Prolog environment to your PC or setting up a network access software is needed.
The details of the setups are explained in the lecture.