Article View: comp.lang.misc
Article #3824Proving correctness of programs in functional languages
From: Dave Gillett
Date: Mon, 13 May 1991 19:19
Date: Mon, 13 May 1991 19:19
33 lines
2064 bytes
2064 bytes
In <ROCKWELL.91May10205204@socrates.umd.edu> rockwell@socrates.umd.edu (Raul Rockwell) writes:
>This is related to proving a program correct.
>I should note that functional languages seem to be rather promising
>in this regard.
I consider that an extreme understatement.
When we define our domain of discourse to be functions, which accept
inputs and produce (we hope!) results, we are able to express the necessary
properties for verification of each function in terms of predicates linking
properties of the inputs to properties of the results. Composition of
functions leads to combination and simplification of intermediate predicates,
and ultimately to the set of pre- and post-conditions which demonstrates (or,
as appropriate, fails to demonstrate) that our composition has the properties
which we wish it to have.
This exercise is entirely in terms of functions and predicates, which are
mathematical objects, and any well-defined functional notation is sufficient to
allow us to proceed to proof.
By contrast, the majority of the literature that I have seen on the
verification of procedural programs starts, instead, from the notion that
a program is a "text". Resolution of syntactic and semantic issues, in order
to arrive at suitable objects for reasoning, becomes a major task; indeed, there
is rarely time or space left for the actual proof itself.
Formal methods are capable of great (but not infinite!) power. But it
seems to me that they are, so far, only practical when applied to a functional
context.
Dave
Technical Details
Message-ID:
<873@saxony.pa.reuter.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!futures!saxony!dgilShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!futures!saxony!dgil From: dgil@pa.reuter.COM (Dave Gillett) Newsgroups: comp.lang.misc Subject: Proving correctness of programs in functional languages Message-ID: <873@saxony.pa.reuter.COM> Date: 13 May 91 19:19:11 GMT Distribution: na Organization: Reuter:file Inc (A Reuter Company) Palo Alto, CA Lines: 33