Elaborating inductive definitions in the calculus of dependent lambda eliminations
Abstract
Details
- Title: Subtitle
- Elaborating inductive definitions in the calculus of dependent lambda eliminations
- Creators
- Christa Jenkins
- Contributors
- Aaron Stump (Advisor)Brandon Myers (Committee Member)C Tinelli (Committee Member)Garrett Morris (Committee Member)Omar Haider Chowdhury (Committee Member)
- Resource Type
- Dissertation
- Degree Awarded
- Doctor of Philosophy (PhD), University of Iowa
- Degree in
- Computer Science
- Date degree season
- Summer 2023
- Publisher
- University of Iowa
- DOI
- 10.25820/etd.006888
- Number of pages
- xiii, 300 pages
- Copyright
- Copyright 2023 Christa Jenkins
- Language
- English
- Date submitted
- 07/20/2023
- Description illustrations
- illustrations
- Description bibliographic
- Includes bibliographical references (pages 291-299) and index.
- Public Abstract (ETD)
Software is everywhere in modern life, to the extent that sometimes our lives depend upon it! But, how can we trust this software? Famously, computer scientist Edsger Dijkstra once said “Program testing can be used to show the presence of bugs, but never to show their absence!" Machine-checked verification offers the strongest guarantee that software is without bugs, and interactive theorem provers (ITPs) are a popular tool for this purpose. However, this then raises the question: who checks the checker? This is especially vexing as ITPs are themselves complicated pieces of software, with features being added to aid humans in verifying ever more complex software.
One of the ways to handle complexity like this is to translate it into simpler terms. Unlike the natural languages used by people, when dealing with programs and rigorous proof it is vital to ensure that no details are lost in translation. That is the focus of this dissertation: taking the near-ubiquitous feature of inductive definitions, which play a vital role in helping us write programs and reason about them while at the same time introducing complexity into the ITPs that implement them, and translating them in a meaning-preserving way into the much simpler theory of the Calculus of Dependent Lambda Eliminations.
- Academic Unit
- Computer Science
- Record Identifier
- 9984454186902771