University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Postgraduate Course: Automated Reasoning (Level 11) (INFR11074)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThe overall aim of the course is to describe how reasoning can be automated. Its more specific aim is to provide a route into more advanced uses of theorem proving in automated reasoning and in solving challenging problems of mathematics. Major emphases are on: how knowledge can be represented using logic; how these representations can be used as the basis for reasoning and how these reasoning processes can be guided to a successful conclusion. Students are encouraged to develop a deep understanding of automated reasoning from mathematical "first principles" via theorem proving.
Course description The course combines an exposition of theory with the analysis of particular computer programs for reasoning. Topics will be selected from the following list:

# First Order Logic and Higher Order Logic
* Syntax
* HOL: Types and terms, currying and binders
* Unification algorithm
* Natural Deduction

# Model Checking
* Computation Tree Logic: syntax and semantics
* A model checking algorithm
* Model checker: NuSMV or SPIN
* Fairness
* Alternatives and extensions of CTL: LTL, CTL*

# Interactive Theorem Proving
* Human-oriented methods
* Interactive provers and proof checkers
* LCF style theorem proving
* Proof styles
* Formalized Mathematics

# Decidable Problems and Automation
* Presburger arithmetic
* Geometry theorem proving
* Induction and recursion
* Simplification, proof planning, and rippling

# Program Verification
* Functional programs
* Case studies e.g. sorting algorithms

Relevant QAA Computing Curriculum Sections: Artificial Intelligence
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Automated Reasoning (Level 10) (INFR10041)
Other requirements This course is open to all Informatics students including those on joint degrees. External students should seek special permission from the course organiser. Prior familiarity with propositional and predicate logic is recommended.

This course assumes prior mathematical knowledge of induction.
Information for Visiting Students
Pre-requisitesPrior familiarity with propositional and predicate logic is recommended.
High Demand Course? Yes
Course Delivery Information
Academic year 2015/16, Available to all students (SV1) Quota:  None
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 20, Seminar/Tutorial Hours 16, Summative Assessment Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 60 )
Assessment (Further Info) Written Exam 60 %, Coursework 40 %, Practical Exam 0 %
Additional Information (Assessment) The course consists of 2 practical exercises. Students may be asked to reason about particular domains (e.g. geometry) in a theorem prover such as Isabelle or Coq. They may also be asked to verify a program using the a model checker such as SPIN or NuSMV.

You should expect to spend approximately 30 hours on the coursework for this course.
Feedback Not entered
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S2 (April/May)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. 1 - represent mathematical and other knowledge using logic.
    2 - analyze the behaviour of various reasoning techniques from "first principles" as theorem proving tasks.
    3 - formalize informal knowledge and reason rigorously about it, understanding the role of mathematical proof in this process.
    4 - compare precisely the tradeoffs between some rival techniques for the same reasoning task.
    5 - implement key reasoning techniques in a computer program/theorem prover.
    6 - know how to use more sophisticated reasoning techniques implemented in a computer program/theorem prover.
    7 - organize their own study to manage project development.
    8 - search and read the literature.
    9 - conduct exploratory experiments.
    10 - critically analyze and evaluate other people's work.
    11 - be broadly up-to-date with current research in the field
Reading List
* T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL: A Proof Assistant for Higher-Order Logic , Springer-Verlag, 2002.
* Logic in Computer Science, Modelling and and Reasoning about Systems, M.Huth and M.Ryan, Cambridge University Press, 2nd Edition, 2004
* The Computer Modelling of Mathematical Reasoning, A. Bundy, Academic Press 1983
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Jacques Fleuriot
Tel: (0131 6)50 9342
Course secretaryMs Sarah Larios
Tel: (0131 6)51 4164
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information
© Copyright 2015 The University of Edinburgh - 18 January 2016 4:13 am