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%.
Bringing a personal note PC, Tablet, or some substitute for it is needed in the prolog exercise.
Students are required to be able to submit reports through OCW.