DAT060 / DIT203 Logic in computer science

Course-PM

DAT060 / DIT203 Logic in Computer Science

LP1 HT25 (7.5 hp)

The course is offered by the department of Computer Science and Engineering.

News

Here we will publish news if there are any...

 

Contact Details

 

Course Purpose

Powerful tools for verifying software and hardware systems have been developed. These tools rely in a crucial way on logical techniques. This course provides a solid basis in logic and a short introduction to some logical frameworks used in modelling, specifying and verifying computer systems. A sound basic knowledge in logic is a welcome prerequisite for courses in program verification, formal methods and artificial intelligence. 

 

Schedule

See TimeEdit and/or course calendar.

Overview of Topics and Reading Material per Week

Week Topics Reading Material/Book Sections
1 Motivation and organisation.
Recap logic, sets, relations, functions, induction
sets relations functions notes on induction Structural induction
Note: There are 2 typos in the second page on set theory; the right most B in the distributive laws (1) and (2) should be an A.
1.4.2
2 Natural deduction for propositional logic 1.1-1.3
3 Semantics of propositional logic, soundness and completeness, normal forms 1.4-1.5 except 1.4.2
4 Natural deduction and semantics for predicate logic 2.1-2.4
5

Undecidability of predicate logic and Post correspondence problem
Expressivity of predicate logic, compactness. SAT-solving.

2.5, 2.6
6

Expressivity of predicate logic, Gödel's incompleteness theorem and compactness.
Guest lecture on applications of propositional and predicate logic.
Linear temporal logic, fixpoint.

2.6, 3.1 and 3.2
7 LTL, CTL 3.2-3.5
8

Guest lecture on temporal logic.
Algorithms, fix-point characterization

Repetition, old exams

3.6-3.7
exam_231026.pdf

 

Exercises

Week 1: exercises1.pdf

Weeks 2--8: exercises2-8.pdf

Obs: We will go through different exercises in each of the exercise classes! So you should attend both of them.
Part of Friday sessions will be used for discussing the solution to the assignment that was submitted the previous Tuesday.

Solutions: There are no solutions to the exercises other than those we link down here under course literature or from the calendar entry on specific exercise classes.

 

Course Literature

Logic in Computer Science by Michael Huth and Mark Ryan, second edition.

Exercises marked with an asterisk ("*") in the text book have solutions.

There is an electronic version of the book available via Chalmers library.

 

Course Design

The course consists of a series of lectures, exercise sessions and non-obligatory weekly individual assignments that give bonus points towards a higher grade. Bonus points are only valid during the current academic year.

The language of instruction is English.

 

Changes Made since the Last Occasion

This is a well-establish and working course so there are no major changes from last year.
We will try to offer the two guest lectures that were offered last year (or similar ones) to better show the applications of the course, but this will depend on the availability of the teachers that could give these lectures.

 

Learning Objectives and Syllabus

Link to the syllabus on

After completing the course the student is expected to be able to:

Knowledge and understanding:

  • explain when a given formula is a tautology,
  • explain the notion of model of a first-order language and of temporal logic,
  • explain when a first-order and a temporal logic formula are semantically valid,
  • explain the meaning of the soundness and completeness theorems for propositional and predicate calculus,
  • explain how to check if a linear-time and a branching-time temporal logic formula are valid in a given model.

Competence and skills:

  • write and check proofs in natural deduction for propositional and predicate calculus,
  • apply the soundness and completeness theorems to argue for the correctness of certain proofs,
  • argue semantically whether a given formula is the valid or not,
  • specify properties of a reactive system using linear-time temporal logic and branching time temporal logic.

Judgement and approach:

  • judge the relevance of logical reasoning in computer science, i.e. for modelling computer systems,
  • analyse the applicability of logical tools to solve problems in computer science, i.e. finding bugs with the use of model checking. 

 

Examination Form

The course is examined by an individual written exam taking place in an examination hall at the end of the course. There are also non-obligatory weekly individual assignments that give bonus points towards a higher grade. Bonus points are only valid during the current academic year.

Note:

When making a natural deduction proof in the assignments and the exam you are allowed to use any of the rules presented in page 27 of the book plus the introduction and elimination rules for equality and for both the universal and existential quantifiers, unless it is stated otherwise in an exercise.

In other words, you are allowed to use all introduction and elimination rules (including those for double negation) and the derived rules MT, PBC and LEM, unless stated otherwise.

No other result can be used unless it is proved. This includes all provable equivalences stated in the slides of the lectures: they cannot be used in the assignments nor in the exam unless their proof is also provided.

Non-obligatory Individual Assignments

There will be 6 non-obligatory individual assignments with a total of 60 to 65 points. The first five assignment have 10 points and the last one has 10 to 15 points. Ca 10% of the total number of points obtained with the assignments count as bonus points towards a higher grade. These bonus points are valid for the whole academic year.
Note:
This 10% figure will be round down to the nearest quarter, so for example 44.5 points in the assignments will give 4.25 bonus points (not 4.45 or 4.5).

Solution to the assignments will be discussed in the Friday exercise session after the submission.

All submissions should be uploaded in Canvas. The solutions must be clear and readable; everything must be carefully motivated!

Exam

It is not allowed to have any help material but dictionaries to/from English during the written exams.

The exam has a maximum of 60 point. You must at least get 27.5 points in the exam (that is, without counting the bonus points) in order to pass the course.

Provided you have at least 27.5 points in the exam, the passing grades when including bonus points are as follows (both Chalmers and GU):

U 0-29
3 30-40
4 41-50
5 51-60+

Exam Dates:

TBA

Cheating

Any suspicious on cheating will be taken seriously and must be reported to the Disciplinary Committee for further investigation. Observe that this applies both to the assignments and to the exam.

 

Course Evaluation

Student Representatives

CTH

NN <nn @ student.chalmers.se>

GU

NN <nn @ student.gu.se>

Meetings

First meeting: TBA

Second meeting: TBA

Course summary:

Date Details Due