ILAS Seminar-E2 :Introduction to Logic, Proofs and Programs

Numbering Code U-LAS70 10002 SE50 Year/Term 2022 ・ First semester
Number of Credits 2 Course Type seminar
Target Year Mainly 1st year students Target Student For all majors
Language English Day/Period Mon.5
Instructor name THIES, Holger (Graduate School of Human and Environmental Studies Program-Specific Senior Lecturer)
Outline and Purpose of the Course This course is an introduction to basic logical principles and formal methods in computer science.
Students will learn fundamental concepts and techniques of mathematical logic and their applications to computer science and other areas.
The emphasis is on the computational aspects of logic and the topics will be introduced through hands-on use of the Coq proof assistant, a tool for machine-checked mathematical proofs.
The software assists students in constructing formal proofs and automatically checks their correctness.
Course Goals Students will become familiar with logical reasoning and formal proofs.
They will also get some practical experience in the use of a proof assistant.
The course will help students develop skills that are important in any field of research, such as critical thinking and the ability to construct rigorous arguments.
Schedule and Contents Below are some possible topics that we will cover during the course. We will spend one or two weeks on each topic. The topics we cover may change depending on the interests and abilities of the students.

1) Propositional logic
2) First-order Predicate logic
3) Computer assisted theorem proving
4) Basics of functional programming
5) Natural deduction
6) Type Theory
7) Constructive Logic
8) The relationship between proofs and programs

Total: 15 sessions (14 class sessions and 1 feedback session)
Evaluation Methods and Policy Students are expected to actively participate in discussion, read material, and solve exercises in class. Evaluation will be based on the following: written and oral assignments (50%), final report (50%)
Course Requirements No prior knowledge is required, however some familiarity with rigorous mathematical proofs and interest in computer programming will be helpful.
The course will include some practical exercises. It is recommended that students have access to a computer where they can install software.
Study outside of Class (preparation and review) Students should review the course material after each class and solve the homework assignments.
Textbooks Textbooks/References No textbook. Relevant materials will be distributed in class.
References, etc. The following books might be useful as references and background reading, but are not required.

1) "Logic in Computer Science" by Michael Huth and Mark Ryan
Publisher: Cambridge University Press (2004), ISBN: 978-0521543101

2) "A Beginner's Guide to Mathematical Logic" by Raymond Smullyan.
Publisher: Dover Publications (2014), ISBN: 978-0486492377

3) "Software Foundations" by Benjamin C. Pierce et al., Volume 1: Logical Foundations, available online: https://softwarefoundations.cis.upenn.edu/


4) “Interactive Theorem Proving and Program Development”, by Yves Bertot and Pierre Castéran, Publisher: Springer (2004), ISBN: 978-3662079645.
PAGE TOP