### 2022　Logic and Reasoning

Font size  SML

Undergraduate major in Information and Communications Engineering
Instructor(s)
Shinozaki Takahiro  Funakoshi Kotaro
Class Format
Lecture / Exercise    (Face-to-face)
Media-enhanced courses
Day/Period(Room No.)
Tue5-6(W323)  Fri5-6(W323)
Group
-
Course number
ICT.H217
Credits
2
2022
Offered quarter
4Q
Syllabus updated
2022/9/11
Lecture notes updated
-
Language used
Japanese
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

### Keywords

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 : 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.

### 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.

### Textbook(s)

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 T2SCHOLA.

### 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.