Stud.IP Uni Oldenburg
University of Oldenburg
12.12.2019 04:11:11
inf400 - Theoretical Computer Science: Logic (Complete module description)
Original version English Download as PDF
Module label Theoretical Computer Science: Logic
Module code inf400
Credit points 6.0 KP
Workload 180 h
Faculty/Institute Department of Computing Science
Used in course of study
  • Bachelor's Programme Computing Science (Bachelor) >
  • Dual-Subject Bachelor's Programme Computing Science (Bachelor) >
Contact person
Module responsibility
Authorized examiners
Entry requirements
Skills to be acquired in this module
Introduction to propositional logic, predicate logic, logic programming, and temporal logic

Professional competence
The students:
  • Know syntax, semantics and applications of propositional logic, predicate logic, logic programming, and temporal logic
  • Specify problems by using logical formulas
  • Solve questions concerning propositional formulas with truth tables
  • Draw conclusions in the field of propositional logic and predicate logic by means of natural deduction
  • Answer queries to logic programs by using SLD resolution
  • Perform model checking of Kripke structures with regard to CTL formulas algorithmically

Methodological competence
The students:
  • Recognize logic as a versatile tool in computer science

Social competence
The students:
  • Work together in small groups to solve problems
  • Present solutions to problems to groups of other students

Self-competence
The students:
  • Learn persistence in pursuing difficult tasks
  • Learn precision in writing down solutions
Module contents
The course introduces propositional, predicate and temporal logic. In computer science it is essential to have a good understanding of logic because the language of logical formulas is widely used in the field of computer science. For example, Boolean expressions appear in every programming language and in circuit design; Horn clauses are used in knowledge representation; predicate logic and temporal logic are used for specifying software and hardware. More recent applications such as interactive and automatic proving as well as the logic programming language PROLOG emphasize the tool character of logic in computer science.

The course introduces syntax, semantics, procedures, and calculi to prove the validity of formulas of propositional, predicate, and temporal logic. This is illustrated by many examples.
Central is the concept of logical consequence.

Topics:
  • Propositional logic: syntax and semantics, truth tables, natural deduction
  • Predicate logic: syntax and semantics, natural deduction
  • Logic programming: declarative and procedural semantics, unification algorithm (Robinson), SLD resolution, PROLOG
-Temporal logic CTL: syntax and semantics of Kripke structures, CTL model checking algorithm
Reader's advisory
Essential:
  • Script "Logik" (in German), in its current edition

Recommended:
  • D. van Dalen: "Logic and Structure", Fourth Edition. Springer-Verlag, 2004.

Good secondary reading:
  • U. Schöning: "Logic for Computer Scientists“, Birkhäuser, 1994.
Links
Language of instruction German
Duration (semesters) 1 Semester
Module frequency jährlich
Module capacity unlimited
Modullevel BC (Basiscurriculum / Base curriculum)
Modulart Pflicht / Mandatory
Lern-/Lehrform / Type of program V & Ü
Vorkenntnisse / Previous knowledge
Course type Comment SWS Frequency Workload attendance
Lecture 3.00 SuSe 42 h
Exercise or tutorial 1.00 SuSe 14 h
Total time of attendance for the module 56 h
Examination Time of examination Type of examination
Final exam of module
At the end of the lecture period
written exam or oral exam