Abstract
Theorem proving for functional programming languages can be made much easier by the availability of a dedicated theorem prover. A theorem prover is dedicated to a specific programming language when it fully supports the syntax and semantics of the language and offers specialized proving support for it. Using a dedicated theorem prover is easy, because one can reason about a developed program without having to translate it. However, no suited dedicated theorem prover for a functional language exists yet. This paper describes a simple prototype of a dedicated theorem prover for the functional language Clean. A description of the possibilities of the prototype is given and an examination is made of the work that needs to be done to extend the prototype to a fully operational and truly useful programming tool. Also example proofs of some basic properties and of a graph transformation are given.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
B. Barras et al. The Coq Proof Assistant Reference Manual (version 6.2), Inria, 1998. http://pauillac.inria.fr/coq/doc/config-eng.html
R. Bird. Introduction to Functional Programming using Haskell, second edition, Prentice Hall Europe, 1998, ISBN 0-13-484346-0.
S. Mintchev. Mechanized reasoning about functional programs, Manchester, 1994. In K. Hammond, D. N. Turner and P. Sansom, editors, Functional Programming, Glasgow 1994, pages 151–167. Springer-Verlag.
M. de Mol. Clean Prover System: a proof tool for interactively and automatically proving properties of functional programs, Master’s Thesis no. 442, Nijmegen, 1998. http://www.cs.kun.nl/~maartenm/public/Afstuderen/Thesis.ps
M. de Mol. Examples of theorems from ‘Introduction to Functional Programming’ proved in the prototype Clean Prover System, Nijmegen, 1998. http://www.cs.kun.nl/~maartenm/public/CleanProverSystem/IFP2Example.ps
M. de Mol, M. van Eekelen. A Prototype Dedicated Theorem Prover for Clean, Nijmegen, 1999. Internal report CSI-R9913.
S. Owre, N. Shankar, J. M. Rushby and D. W. J. Stringer-Calvert. PVS Language Reference (version 2.2), 1998. http://www.csl.sri.com/pvsweb/manuals.html
L. C. Paulson. The Isabelle Reference Manual, Cambridge, 1998. http://www.cl.cam.ac.uk/users/lcp/ml-aftp/doc/ref.pdf
R. Plasmeijer and M. van Eekelen. Concurrent Clean Language Report (version 1.3), Nijmegen, 1998. http://www.cs.kun.nl/~clean/Clean.Cleanbook.html
M. Sleep, R. Plasmeijer and M. van Eekelen. Term Graph Rewriting, Wiley Professional Computing, ISBN 0-471-93567-0.
S. Thompson. Haskell: The Craft of Functional Programming (second edition), Addison-Wesley, 1999, ISBN 0-201-34275-8.
N. Winstanley. Era User Manual, version 2.0, Glasgow, 1998. http://www.dcs.gla.ac.uk/nww/Era/Era.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Mol, M., van Eekelen, M. (2000). A Proof Tool Dedicated to Clean. In: Nagl, M., Schürr, A., Münch, M. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 1999. Lecture Notes in Computer Science, vol 1779. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45104-8_22
Download citation
DOI: https://doi.org/10.1007/3-540-45104-8_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67658-4
Online ISBN: 978-3-540-45104-4
eBook Packages: Springer Book Archive