Undergraduate Course: Automated Reasoning (INFR10087)
Course Outline
School  School of Informatics 
College  College of Science and Engineering 
Credit level (Normal year taken)  SCQF Level 10 (Year 3 Undergraduate) 
Availability  Available to all students 
SCQF Credits  10 
ECTS Credits  5 
Summary  **This course replaces the Level 9 Automated Reasoning INFR09042 10 credit course from 202223**
Automated Reasoning covers the theory, implementation and applications of logicbased reasoning via computers. It is one of the oldest subfields of Artificial Intelligence, originating in the mid1950s when it was first used to reason about propositional logic. Since then, it has been applied to domains ranging from the formalisation of advanced mathematics to the formal verification of software and hardware systems.
In this course, we take an interactive approach to automated reasoning and explore how the proof assistant Isabelle can work with the user to establish mathematical correctness via a formal but humanfriendly proof language. This provides a way of turning logic based reasoning into a form of programming that can then be used (among other things) to reason about problems in mathematics, e.g. probability theory and multivariate analysis, and industriallyrelevant areas e.g. the safety of autonomous systems. 
Course description 
The course starts with an introduction to higher order logic, theorem provers and, more specifically, Isabelle / HOL. This will set the context for the rest of the course in which Isabelle will be the framework for getting handson experience about the application of various theoretical concepts.
Through the lectures and weekly exercises that incorporate practical aspects the students will gain the skills needed to get started with Isabelle and progress to more complex concepts involving both representation and reasoning.
The second part will look at representation/modelling of concepts in (higher order) logic in details. Axiomatic versus conservative extensions of theories will be covered and mechanisms such as Isabelle locales will be introduced and used. Recursive definitions and inductive notions will be covered too.
The third part of the course will focus on fundamental notions such as unification and rewriting, within both a first and higher order context. It will look at notions such as termination and use Isabelle's simplifier as the tool for understanding many of the concepts. It will also look at the interplay between (fully) automatic and interactive proofs.
The fourth part will introduce declarative/structured proofs and using the Isar language of Isabelle show how proofs resembling pencil and paper ones can be formalized.
Finally the various strands will be brought together through the discussion of a nontrivial case study. This may involve either formalized mathematics (e.g. looking at a geometric theory) or a formal verification example.
The assignment will be a combination of basic to intermediate representation and reasoning in Isabelle (up to 40%), more advanced proof tackling one particular domain or example (up to 40%) and a final part which, if completed successfully, will clearly demonstrate that the student has a good grasp of the challenges that advanced interactive theorem proving entails.

Entry Requirements (not applicable to Visiting Students)
Prerequisites 

Corequisites  
Prohibited Combinations  
Other requirements  None 
Information for Visiting Students
Prerequisites  Prior familiarity with propositional and predicate logic is recommended.

High Demand Course? 
Yes 
Course Delivery Information

Academic year 2024/25, Available to all students (SV1)

Quota: None 
Course Start 
Semester 1 
Timetable 
Timetable 
Learning and Teaching activities (Further Info) 
Total Hours:
100
(
Lecture Hours 16,
Supervised Practical/Workshop/Studio Hours 16,
Feedback/Feedforward Hours 1,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
63 )

Assessment (Further Info) 
Written Exam
60 %,
Coursework
0 %,
Practical Exam
40 %

Feedback 
The students will receive feedback on a weekly task via the mailing list/AR class forum and during the labs. The tasks will include both penandpaper and Isabellebased exercises. Full solutions will be made available in Learn at the end of each week.
A marking guide, with extensive notes, will be released after the marks for the assignment have been returned. This will provide a breakdown of how marks were allocated, especially for the more challenging parts of the formalization. Common pitfalls will be highlighted and advice provided on how these should have been tackled.
The automated reasoning mailing list will be used (as is currently the case) to provide general feedback and any advice deemed appropriate during the course and before the exams. 
Exam Information 
Exam Diet 
Paper Name 
Hours & Minutes 

Main Exam Diet S1 (December)  Automated Reasoning (INFR10087)  2:120  
Learning Outcomes
On completion of this course, the student will be able to:
 use sophisticated mechanisms available in theorem provers to represent problem
 write interactive proof in procedural and declarative styles
 use interactive and automated methods to carry out proofs in the theorem prover
 represent and reason about mathematical and other less formal knowledge using logic
 understand and compare automated reasoning techniques and apply them using penandpaper

Reading List
Recommended reading list:
1. John Harrison. Handbook of Practical Logic and Automated Reasoning, CUP, 2009.
2. Tobias Nipkow and Gerwin Klein. Concrete Semantics with Isabelle/HOL, Springer, 2014.
3. T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL: A Proof Assistant for Higher Order Logic , Springer, 2002.
4. M.Huth and M.Ryan. Logic in Computer Science, Modelling and and Reasoning about Systems, CUP, 2nd Edition, 2004.
The students will also be asked to read various papers and given links to presentations and websites with materials pertaining to various theorem proving projects and repositories (e.g. The Archive of Formal Proof). 
Additional Information
Graduate Attributes and Skills 
Not entered 
Keywords  Automated Reasoning,Theorem Proving,Formal proof 
Contacts
Course organiser  Dr Jacques Fleuriot
Tel: (0131 6)50 9342
Email: Jacques.Fleuriot@ed.ac.uk 
Course secretary  Miss Rose Hynd
Tel: (0131 6)50 5194
Email: rhynd@ed.ac.uk 

