Information Services banner Edinburgh Research Archive The University of Edinburgh crest

Edinburgh Research Archive >
Informatics, School of >
Informatics thesis and dissertation collection >

Please use this identifier to cite or link to this item: http://hdl.handle.net/1842/380

This item has been viewed 7 times in the last year. View Statistics

Files in This Item:

File Description SizeFormat
ECS-LFCS-99-416.dviLaTeX DVI File487.09 kBTeX dviView/Open
ECS-LFCS-99-416.pdfAdobe PDF1.11 MBAdobe PDFView/Open
ECS-LFCS-99-416.psPostScript File881.68 kBPostscriptView/Open
Title: Proving Correctness of Modular Functional Programs
Authors: Owens, Christopher
Supervisor(s): Gilmore, Stephen
Anderson, Stuart
Issue Date: Jul-1999
Publisher: University of Edinburgh. College of Science and Engineering. School of Informatics.
Abstract: One reason for studying and programming in functional programming languages is that they are easy to reason about, yet there is surprisingly little work on proving the correctness of large functional programs. In this dissertation I show how to provide a system for proving the correctness of large programs written in a major functional programming language, ML. ML is split into two parts: the Core (in which the actual programs are written), and Modules (which are used to structure Core programs). The dissertation has three main themes: Due to the detail and complexity of proofs of programs, a realistic system should use a computer proof assistant, and so I first discuss how such a system can be coded in a generic proof assistant (I use Paulson's Isabelle). I give a formal proof system for proving properties of programs written in the functional part of Core ML. The Modules language is one of ML's strengths: it allows the programmer to write large programs by controlling the interactions between its parts. In the final part of the dissertation I give a method of proving correctness of ML Modules programs using the well-known data reification method. Proofs of reification using this method boil down to proofs in the system for the Core.
URI: http://hdl.handle.net/1842/380
Appears in Collections:Informatics thesis and dissertation collection

Items in ERA are protected by copyright, with all rights reserved, unless otherwise indicated.

 

Valid XHTML 1.0! DSpace Software Copyright © 2002-2010  Duraspace - Feedback