Postgraduate Course: Automated Reasoning (Level 11) (INFR11074)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | The 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-requisites | Prior 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 - 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
|
Contacts
Course organiser | Dr Jacques Fleuriot
Tel: (0131 6)50 9342
Email: |
Course secretary | Ms Sarah Larios
Tel: (0131 6)51 4164
Email: |
|
|