A Versatile, Sound Tool for Simplifying Definitions

05/03/2017
by   Alessandro Coglio, et al.
0

We present a tool, simplify-defun, that transforms the definition of a given function into a simplified definition of a new function, providing a proof checked by ACL2 that the old and new functions are equivalent. When appropriate it also generates termination and guard proofs for the new function. We explain how the tool is engineered so that these proofs will succeed. Examples illustrate its utility, in particular for program transformation in synthesis and verification.

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
10/31/2019

Reductions for Safety Proofs (Extended Version)

Program reductions are used widely to simplify reasoning about the corre...
research
08/31/2019

VST-A: A Foundationally Sound Annotation Verifier

An interactive program verification tool usually requires users to write...
research
01/15/2021

The Coq Proof Script Visualiser (coq-psv)

In this work, we present a visualisation tool that is able to process Co...
research
06/13/2018

TTT2 with Termination Templates for Teaching

On the one hand, checking specific termination proofs by hand, say using...
research
07/23/2019

Resource Analysis driven by (Conditional) Termination Proofs

When programs feature a complex control flow, existing techniques for re...
research
03/09/2018

Clocked Definitions in HOL

Many potentially non-terminating functions cannot be directly defined in...

Please sign up or login with your details

Forgot password? Click here to reset