A Verified Theorem Prover for Higher-Order Logic
Doctoral thesis, 2022

This thesis is about mechanically establishing the correctness of computer programs. In particular, we are interested in establishing the correctness of tools used in computer-aided mathematics. We build on tools for proof-producing program synthesis, and verified compilation, and a verified theorem proving kernel. With these, we have produced an interactive theorem prover for higher-order logic, called Candle, that is verified to accept only true theorems. To the best of our knowledge, Candle is the only interactive theorem prover for higher-order logic that has been verified to this degree.

Candle and all technology that underpins it is developed using the HOL4 theorem prover. We use proof-producing synthesis and the verified CakeML compiler to obtain a machine code executable for the Candle theorem prover. Because the CakeML compiler is verified to preserve program semantics, we are able to obtain a soundness result about the machine code which implements the Candle theorem prover.

formal verification

higher-order logic

interactive theorem provers

EA, Rännvägen 6B
Opponent: Prof. Tobias Nipkow, Technische Universität München, Tyskland

Author

Oskar Abrahamsson

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Proof-Producing Synthesis of CakeML from Monadic HOL Functions

Journal of Automated Reasoning,;Vol. 64(2020)p. 1287-1306

Journal article

A verified proof checker for higher-order logic

Journal of Logical and Algebraic Methods in Programming,;Vol. 112(2020)

Journal article

Candle: A Verified Implementation of HOL Light

Leibniz International Proceedings in Informatics, LIPIcs,;Vol. 237(2022)

Paper in proceeding

Fast, Verified Computation for Candle

Leibniz International Proceedings in Informatics, LIPIcs,;Vol. 268(2023)

Paper in proceeding

Den här avhandlingen presenterar ny datavetenskaplig forskning som syftar till att underlätta utvecklande av felfria datorprogram. I forskningen används matematiska metoder för att säkerställa korrektheten hos datorprogram. När ett datorprograms funktionalitet säkerställts vara korrekt med hjälp av matematik sägs det ha genomgått formell verifikation.

Formell verifikation av datorprogram går ut på att konstruera matematiska bevis som säkerställer att programmet endast utför önskvärda beteenden. För detta krävs en matematisk modell av det programmeringsspråk som använts för att konstruera programmet. Sådana modeller, och sådana matematiska bevis, är som regel mycket komplicerade. Man tar därför hjälp av datorprogram, så kallade bevisassistenter.

Den här avhandlingens huvudsakliga bidrag är en ny bevisassistent, som på matematisk väg har bevisats vara korrekt (med hjälp av en annan bevisassistent). Med korrekthet menas att det är omöjligt för bevisassistenten att bevisa falska påståenden.

Pålitlig mjukvara via programmering och kompilering i logik

Swedish Foundation for Strategic Research (SSF) (FFL15-0191), 2017-01-01 -- 2021-12-31.

Subject Categories

Computer and Information Science

Computer Science

ISBN

978-91-7905-735-0

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 5201

Publisher

Chalmers

EA, Rännvägen 6B

Opponent: Prof. Tobias Nipkow, Technische Universität München, Tyskland

More information

Latest update

11/8/2023