Jump to content

Predicative programming

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Deacon Vorbis (talk | contribs) at 00:03, 16 July 2017 (top: LaTeX spacing clean up, replaced: \,\!</math> → </math> using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Predicative programming is a methodology for program specification and refinement. The central idea of predicative programming is that each specification is a predicate (generally written as a boolean expression) that is true of acceptable behaviours and false of unacceptable behaviours. It follows that refinement is reversed implication universally quantified over behaviours:

Commands in a programming language are considered to be a special case of specifications—special only because they are compilable. For example, in an environment where the program variables are , , and , the command is considered equivalent to the predicate (represented here by a boolean expression)

in which , , and represent the initial values of the program variables and , , and represent the final values of the program variables. Thus

Bibliography