Postgraduate Course: Automated Reasoning (Level 11) (INFR11074)
|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
|Summary||***PLEASE NOTE: This course has been replaced with INFR09042 Automated Reasoning***
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.
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
* 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
* 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)
|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?
Course Delivery Information
|Not being delivered|
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
|* 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
|Course organiser||Dr Jacques Fleuriot
Tel: (0131 6)50 9342
|Course secretary||Mr Gregor Hall
Tel: (0131 6)50 5194