A Verified Theorem Prover for Higher-Order Logic
Doktorsavhandling, 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

Författare

Oskar Abrahamsson

Chalmers, Data- och informationsteknik, Formella metoder

Proof-Producing Synthesis of CakeML from Monadic HOL Functions

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

Artikel i vetenskaplig tidskrift

A verified proof checker for higher-order logic

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

Artikel i vetenskaplig tidskrift

Candle: A Verified Implementation of HOL Light

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

Paper i proceeding

Fast, Verified Computation for Candle

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

Paper i 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

Stiftelsen för Strategisk forskning (SSF) (FFL15-0191), 2017-01-01 -- 2021-12-31.

Ämneskategorier

Data- och informationsvetenskap

Datavetenskap (datalogi)

ISBN

978-91-7905-735-0

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

Utgivare

Chalmers

EA, Rännvägen 6B

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

Mer information

Senast uppdaterat

2023-11-08