Proof Of Program Transformations

A simple programming language is use8d to demonstrate the feasibility of mechanical proof of the validity of program transformation rules. The language is formally defined using natural semantics and the system relies on a knowledge base that captures the properties of environments, memories and predicates that are suitable for expressing applicability conditions. The verification system used is HOL. The proofs that were developed in this study were aided by high level tactics described in the paper. This project is a pilot study for proving the rules which underpin the implementation of the executable specification, language REFINE.