| | |
Summary: Context-Moving Transformations
for Function Verication ?
Jurgen Giesl
Computer Science Dept., University of New Mexico, Albuquerque, NM 87131, USA,
E-mail: giesl@cs.unm.edu
Abstract. Several induction theorem provers have been developed
which support mechanized verication of functional programs. Unfor-
tunately, a major problem is that they often fail in verifying tail recur-
sive functions (which correspond to imperative programs). However, in
practice imperative programs are used almost exclusively.
We present an automatic transformation to tackle this problem. It trans-
forms functions which are hard to verify into functions whose correctness
can be shown by the existing provers. In contrast to classical program
transformations, the aim of our technique is not to increase eÆciency, but
to increase veriability. Therefore, this paper introduces a novel applica-
tion area for program transformations and it shows that such techniques
can in fact solve some of the most urgent current challenge problems in
automated verication and induction theorem proving.
1 Introduction
To guarantee the correctness of programs, a formal verication is required. How-
|