The weakest prespecification (Q1091121): Difference between revisions
From MaRDI portal
Set profile property. |
Set OpenAlex properties. |
||
Property / full work available at URL | |||
Property / full work available at URL: https://doi.org/10.1016/0020-0190(87)90106-2 / rank | |||
Normal rank | |||
Property / OpenAlex ID | |||
Property / OpenAlex ID: W2163008980 / rank | |||
Normal rank |
Revision as of 22:52, 19 March 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | The weakest prespecification |
scientific article |
Statements
The weakest prespecification (English)
0 references
1987
0 references
This paper introduces the concept of the weakest prespecification of program Q with respect to specification R, written \(Q\setminus R\), and explores its basic properties within the framework of the relational calculus. The weakest prespecification serves the same purpose as Dijkstra's weakest precondition, but generalises it in four ways. (1) The specification R describes not only the desired properties of the final values of the variables, but also their desired relationship with the initial values; such specifications are normal in specification languages like VDM and Z. (2) The program Q may be just the specification of a program still to be written. Consequently, the weakest prespecification can assist in splitting a task R into two subtasks Q and \(Q\setminus R\). (3) A partial relation R is taken as the specification of a guarded command, thus guarded commands can be specified and implemented independently, before being collected into a set with if or do. (4) The programming language is extended to include general recursion.
0 references
weakest prespecification
0 references
relational calculus
0 references
weakest precondition
0 references
guarded command
0 references
general recursion
0 references