• Home
  • Search
  • A HOL Basis for Reasoning about Functional Programs
  • Cite Icon37
  • https://doi.org/10.7146/brics.v1i44.21598Copy DOI Icon

A HOL Basis for Reasoning about Functional Programs

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Domain theory is the mathematical theory underlying denotational semantics. This thesis presents a formalization of domain theory in the Higher Order Logic (HOL) theorem proving system along with a mechanization of proof functions and other tools to support reasoning about the denotations of functional programs. By providing a fixed point operator for functions on certain domains which have a special undefined (bottom) element, this extension of HOL supports the definition of recursive functions which are not also primitive recursive. Thus, it provides an approach to the long-standing and important problem of defining non-primitive recursive functions in the HOL system.<br /> <br />Our philosophy is that there must be a direct correspondence between elements of complete partial orders (domains) and elements of HOL types, in order to allow the reuse of higher order logic and proof infrastructure already available in the HOL system. Hence, we are able to mix domain theoretic reasoning with reasoning in the set theoretic HOL world to advantage, exploiting HOL types and tools directly. Moreover, by mixing domain and set theoretic reasoning, we are able to eliminate almost all reasoning about the bottom element of complete partial orders that makes the LCF theorem prover, which supports a first order logic of domain theory, difficult and tedious to use. A thorough comparison with LCF is provided.<br /> <br />The advantages of combining the best of the domain and set theoretic worlds in the same system are demonstrated in a larger example, showing the correctness of a unification algorithm. A major part of the proof is conducted in the set theoretic setting of higher order logic, and only at a late stage of the proof domain theory is introduced to give a recursive definition of the algorithm, which is not primitive recursive. Furthermore, a total well-founded recursive unification function can be defined easily in pure HOL by proving that the unification algorithm (defined in domain theory) always terminates; this proof is conducted by a non-trivial well-founded induction. In such applications, where non-primitive recursive HOL functions are defined via domain theory and a proof of termination, domain theory constructs only appear temporarily.

Similar Papers
  • Research Article
  • Citations127

Resolution in type theory

  • Sep 01, 1971
  • Journal of Symbolic Logic
  • Peter B Andrews
  • Book Chapter
  • Citations24

Probabilistic Functions and Cryptographic Oracles in Higher Order Logic

  • Jan 01, 2016
  • Andreas Lochbihler
  • Research Article
  • Citations3

Proof-producing synthesis of ML from higher-order logic

  • Sep 09, 2012
  • ACM SIGPLAN Notices
  • Magnus O Myreen +1
  • Book Chapter
  • Citations12

Foundational (Co)datatypes and (Co)recursion for Higher-Order Logic

  • Jan 01, 2017
  • Julian Biendarra +13
  • Book Chapter

A Type-Free System of Higher Order Logic for PROLOG

  • Jan 01, 1995
  • Richard Butrick
  • PDF
  • Research Article
  • Citations16

Safety and conservativity of definitions in HOL and Isabelle/HOL

  • Dec 27, 2017
  • Proceedings of the ACM on Programming Languages
  • Ondřej Kunčar +1
  • Book Chapter
  • Citations14

S: A machine readable specification notation based on higher order logic

  • Jan 01, 1994
  • J Joyce +2
  • Book Chapter

Formal Theories and Gödel Theorems

  • Jan 01, 2018
  • Anita Wasilewska
  • Book Chapter
  • Citations168

Step-Indexed Syntactic Logical Relations for Recursive and Quantified Types

  • Jan 01, 2006
  • Amal Ahmed
  • Research Article
  • Citations3

TWO-SORTED FREGE ARITHMETIC IS NOT CONSERVATIVE

  • Apr 18, 2022
  • The Review of Symbolic Logic
  • Stephen Mackereth +1
  • Research Article

The traditional core of DOM (Document Object Model) and its formal representation in fDOM

  • Jan 01, 2023
  • Connectivity
  • V V Zalyva
  • Book Chapter
  • Citations15

Specification and Verification of a Formal System for Structurally Recursive Functions

  • Jan 01, 2000
  • Andreas Abel
  • Research Article
  • Citations2

Automatic parallelization of recursive functions with rewriting rules

  • Feb 01, 2018
  • Science of Computer Programming
  • Rodrigo C.O Rocha +2
  • Research Article
  • Citations4

Verification by Reduction to Functional Programs

  • Jan 01, 2017
  • Infoscience (Ecole Polytechnique Fédérale de Lausanne)
  • Régis Blanc
  • Research Article
  • Citations4

Analytical approach of developing the expression of output of all-optical frequency encoded different logical units and a way-out to implement the logic gates

  • Jun 22, 2010
  • Optical Fiber Technology
  • Sisir Kumar Garai +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.