A calculus of refinements for program derivations (Q1111362): Difference between revisions

From MaRDI portal
Import240304020342 (talk | contribs)
Set profile property.
ReferenceBot (talk | contribs)
Changed an Item
 
Property / cites work
 
Property / cites work: Countable nondeterminism and random assignment / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3898009 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Proving total correctness of nondeterministic programs in infinitary logic / rank
 
Normal rank
Property / cites work
 
Property / cites work: On correct refinement of programs / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q4184269 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3783489 / rank
 
Normal rank
Property / cites work
 
Property / cites work: A Weaker Precondition for Loops / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3875322 / rank
 
Normal rank
Property / cites work
 
Property / cites work: A Transformation System for Developing Recursive Programs / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q4144755 / rank
 
Normal rank
Property / cites work
 
Property / cites work: A simple fixpoint argument without the restriction to continuity / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3925859 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Predicative programming Part I / rank
 
Normal rank
Property / cites work
 
Property / cites work: An axiomatic basis for computer programming / rank
 
Normal rank
Property / cites work
 
Property / cites work: Proof of a program / rank
 
Normal rank
Property / cites work
 
Property / cites work: The specification statement / rank
 
Normal rank
Property / cites work
 
Property / cites work: A theoretical basis for stepwise refinement and the programming calculus / rank
 
Normal rank
Property / cites work
 
Property / cites work: General correctness: A unification of partial and total correctness / rank
 
Normal rank
Property / cites work
 
Property / cites work: A Powerdomain Construction / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3932278 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q5551146 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Power domains / rank
 
Normal rank
Property / cites work
 
Property / cites work: Program development by stepwise refinement / rank
 
Normal rank

Latest revision as of 10:57, 19 June 2024

scientific article
Language Label Description Also known as
English
A calculus of refinements for program derivations
scientific article

    Statements

    A calculus of refinements for program derivations (English)
    0 references
    0 references
    1988
    0 references
    This paper presents a semantic formalization of the stepwise refinement programming method. It extends earlier work of the same author, but it is selfexplanatory. The basic notion of the author's refinement calculus is the relation of correct refinement between programs: A program S is said to be correctly refined by another program S' if S' satisfies any specification that S satisfies. Specifications are treated as (non- executable) program statements, which determine a well-defined effect on the program state. Since a specification may be restricted to some of the properties, it acts like a nondeterministic statement. The approach is based on predicate transformers (Section 2) and is illustrated using a simple programming language (Section 3). In Section 4, the precise definition of a correct refinement is given. Then, the author shows that sequential and conditional composition, iteration and recursion are monotonic with respect to the refinement relation. (In an appendix, the author proves monotonicity in the case of unbounded nondeterminism.) The main result is a characterization of a correct refinement by reducing it to a specific pre-/\(post\)-condition formula that depends only on the statement being refined. Section 7 analyses the special case that the refinement does not introduce new variables. Finally, context-dependent refinements are considered. A small example rounds off this clearly written paper.
    0 references
    0 references
    program development
    0 references
    program transformation
    0 references
    correctness
    0 references
    semantics
    0 references
    0 references