Supporting formal reasoning about functional programs

Collins, Graham Richard McFarlane (2001) Supporting formal reasoning about functional programs. PhD thesis, University of Glasgow.

Full text available as:
[thumbnail of 2001collinsphd1.pdf] PDF
Download (5MB)
Printed Thesis Information: https://eleanor.lib.gla.ac.uk/record=b1990149

Abstract

It is often claimed that functional programming languages, and in particular pure functional
languages are suitable for formal reasoning. This claim is supported by the fact
that many people in the functional programming community do reason about languages
and programs in a formal or semi-formal way. Different reasoning principles such as
equational reasoning, induction and co-induction, are used, depending on the nature of
the problem.
Using a computer program to check the application of rules and to mechanise the
tedious bookkeeping involved can simplify proofs and provide more confidence in their
correctness. When reasoning about programs, this can also allow experiments with
new rules and reasoning styles, where a user may not be confident about structuring a
proof on paper. Checking the applicability of a rule can eliminate the risk of mistakes
caused by misunderstanding the theory being used. Just as there are different ways in
which formal or informal reasoning can be applied in functional programming, there are
different ways in which tools can be provided to support this reasoning.
This thesis describes an investigation of how to develop a mechanised reasoning
system to allow reasoning about algorithms as a functional programmer would write
them, not an encoding of the algorithm into a significantly different form. In addition,
this work aims to develop a system to support a user who is not a theorem proving
expert or an expert in the theoretical foundations of functional programming. The work is aimed towards a system that could be used by a functional programmer developing
real programs and wishing to prove some or all of the programs correct or to prove that
two programs are equivalent.

Item Type: Thesis (PhD)
Qualification Level: Doctoral
Subjects: Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Colleges/Schools: College of Science and Engineering > School of Computing Science
Supervisor's Name: Melham, Prof. Tom
Date of Award: 2001
Depositing User: Mrs Marie Cairney
Unique ID: glathesis:2001-4609
Copyright: Copyright of this thesis is held by the author.
Date Deposited: 02 Oct 2013 07:53
Last Modified: 02 Oct 2013 07:55
URI: https://theses.gla.ac.uk/id/eprint/4609

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year