Clocked Definitions in HOL

03/09/2018
by   Ramana Kumar, et al.
0

Many potentially non-terminating functions cannot be directly defined in a logic of total functions, such as HOL. A well-known solution to this is to define non-terminating functions using a clock that forces termination at a certain depth of evaluation. Such clocked definitions are often frowned upon and avoided, since the clock is perceived as extra clutter. In this short paper, we explain that there are different ways to add a clock, some less intrusive than others. Our contribution is a technique by which termination proofs are kept simple even when minimising the use of the clock mechanism. Our examples are definitions of semantic interpreters for programming languages, so called functional big-step semantics.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/10/2018

DefunT: A Tool for Automating Termination Proofs by Using the Community Books (Extended Abstract)

We present a tool that automates termination proofs for recursive defini...
research
09/22/2020

Research Summary on Implementing Functional Patterns by Synthesizing Inverse Functions

In this research summary we present our recent work on implementing func...
research
10/10/2022

Classifying topoi in synthetic guarded domain theory

Several different topoi have played an important role in the development...
research
07/21/2023

Binary Non-Termination in Term Rewriting and Logic Programming

We present a new syntactic criterion for the automatic detection of non-...
research
04/24/2018

Guarded Computational Type Theory

Nakano's later modality can be used to specify and define recursive func...
research
05/03/2017

A Versatile, Sound Tool for Simplifying Definitions

We present a tool, simplify-defun, that transforms the definition of a g...
research
02/06/2018

Büchi-Kamp Theorems for 1-clock ATA

This paper investigates Kamp-like and Büchi-like theorems for 1-clock Al...

Please sign up or login with your details

Forgot password? Click here to reset