2020 Logic and Reasoning

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Information and Communications Engineering
Shinozaki Takahiro  Funakoshi Kotaro 
Course component(s)
Lecture / Exercise    (ZOOM)
Day/Period(Room No.)
Tue5-6(W323)  Fri5-6(W323)  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
Access Index

Course description and aims

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.

Student learning outcomes

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

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

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

  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 Write a Prolog code that implements a given creative task.

Out-of-Class Study Time (Preparation and Review)

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

Reference books, course materials, etc.

Logic and Structure, D. van Dalen, Springer-Verlag, 1983

Assessment criteria and methods

Exercise is 40%, and the final exam is 60%.
The final exam may be replaced with a report when holding the exam is difficult.

Related courses

  • ICT.H212 : Automata and Languages (ICT)

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Students are required to be able to submit reports through T2SCHOLAR.


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.

Page Top