トップページへ

2025 (Current Year) Faculty Courses School of Engineering Undergraduate major in Information and Communications Engineering

Logic and Reasoning

Academic unit or major
Undergraduate major in Information and Communications Engineering
Instructor(s)
Ryutaroh Matsumoto / Kotaro Funakoshi
Class Format
Lecture/Exercise (Face-to-face)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
5-6 Tue (W5-106) / 5-6 Fri (W5-106)
Class
-
Course Code
ICT.H217
Number of credits
110
Course offered
2025
Offered quarter
4Q
Syllabus updated
Sep 22, 2025
Language
Japanese

Syllabus

Course overview and goals

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.

Course description and aims

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

Keywords

propositional logic, predicate logic, resolution principle, logic Programming, Prolog

Competencies

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

Class flow

The first two sessions will be a basic lecture on logic, and the next five sessions will involve Prolog programming exercises, familiarizing students with the concept of logic programming through graphs and automata.
The next six sessions will deepen students' mathematical understanding of propositional logic and predicate logic, and reaffirm the relationship with the logic programming language Prolog.

Course schedule/Objectives

Course schedule Objectives
Class 1

Introduction

Explain the background of logic

Class 2

Basics of propositional & predicate logic : proposition, connectives, truth value, predicate

Explain proposition, connectives, truth value, and predicate

Class 3

Basics of Prolog: program execution and basic operations

Setup Prolog programming environment and run sample programs

Class 4

List and recursion

Write Prolog code that handles list and recursion

Class 5

Graph search

Write Prolog code that implement graph search

Class 6

Automaton

Write Prolog code that implement automaton

Class 7

Syntax analysis

Write Prolog code that implement syntax analysis

Class 8

Propositional logic 1: syntax, semantics, tautology

Explain syntax, semantics, and tautology

Class 9

Propositional logic 2: normal form, Boolean algebras

Explain Boolean algebras and normal form

Class 10

Proofs in natural deduction: inconsistent, reductio ad absurdum, derivation

Explain inconsistent, reductio ad absurdum, and derivation

Class 11

Predicate logic: quantifiers, term, formula

Explain quantifiers, term, and formula

Class 12

Resolution principle

Explain resolution principle

Class 13

Logic programming language Prolog

Explain the syntax and semantics of the Prolog programming language

Class 14

Term-end paper test & programming

Solve questions and a programming problem

Study advice (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.

Textbook(s)

Handouts are distributed

Reference books, course materials, etc.

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

Evaluation methods and criteria

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

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

Other

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.