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 seven exercies of prlog 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 : Boolean algebras, normal form | 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 1 | Write a Prolog code that implements a given creative task. |
Class 15 | Creative task 2 | Write a Prolog code that implements a given creative task. |
Handouts are distributed
Logic and Structure, D. van Dalen, Springer-Verlag, 1983
Report is 40%, and the final exam is 60%.
Students are required to be able to submit reports through OCW.
We will use room W323 in the former half.
In the latter half, we will use the computers in the VLSI room for the prolog exercise.
You may bring a personal note PC instead of using them.