Mobile menu icon
Skip to navigation | Skip to main content | Skip to footer
Mobile menu icon Search iconSearch
Search type

Department of Computer Science

Trustworthy Certificates for Automated Theorem Provers

Primary supervisor

Additional supervisors

  • Giles Reger

Contact admissions office

Other projects with the same supervisor


  • Competition Funded Project (Students Worldwide)

This research project is one of a number of projects at this institution. It is in competition for funding with one or more of these projects. Usually the project which receives the best applicant will be awarded the funding. Applications for this project are welcome from suitably qualified candidates worldwide. Funding may only be available to a limited set of nationalities and you should read the full department and project details for further information.

Project description

Help me making soft- and hardware verification more trustworthy by verifying the proofs produced by automated theorem provers!

An automated theorem prover (ATP) is a software that automatically proves (mathematical) theorems.
ATPs play a crucial role in hardware and software verification.

ATPs are so called trust multipliers: the trust in a single ATP justifies the trust in all systems it verifies.
A bug in the ATP can have costly consequences: hardware designs may be costly to change, and incorrect software
can put lives at risk in critical areas like aviation or automotive. Even in less critical areas, incorrect software regularly
leads to costly security vulnerabilities.

Modern ATPs are highly optimized implementations of sophisticated algorithms.
This makes them prone to errors being overlooked.
One way to increase the trust in ATPs is to make them output an actual proof of the theorem, which can then be independently checked by
a simpler program, which is easier to get right.

This project aims at developing techniques for checking proofs of ATPs,
with a focus on the Vampire ATP that is also developed at Manchester.

In a first step, Vampire has to be modified to output proofs for its basic first-order logic,
and a proof-checker has to be implemented. Next steps are to extend the proofs to support more
advanced features of Vampire like reasoning modulo theories, or to formally verify the certification algorithms and their implementations,
to increase the trustworthiness even more.

If you are interested in using state-of-the-art formal methods to increase the trustworthiness of hard- and software systems,

Person specification

For information


Applicants will be required to evidence the following skills and qualifications.

  • This project requires mathematical engagement and ability substantially greater than for a typical Computer Science PhD. Give evidence for appropriate competence, as relevant to the project description.
  • You must be capable of performing at a very high level.
  • You must have a self-driven interest in uncovering and solving unknown problems and be able to work hard and creatively without constant supervision.


Applicants will be required to evidence the following skills and qualifications.

  • You will have good time management.
  • You will possess determination (which is often more important than qualifications) although you'll need a good amount of both.


Applicants will be required to address the following.

  • Comment on your transcript/predicted degree marks, outlining both strong and weak points.
  • Discuss your final year Undergraduate project work - and if appropriate your MSc project work.
  • How well does your previous study prepare you for undertaking Postgraduate Research?
  • Why do you believe you are suitable for doing Postgraduate Research?