Simulation of Specification Statements in Hoare Logic

@inproceedings{Engelhardt1996SimulationOS,
  title={Simulation of Specification Statements in Hoare Logic},
  author={Kai Engelhardt and Willem P. de Roever},
  booktitle={MFCS},
  year={1996}
}
Data refinement is a powerful technique to derive implementations in terms of low-level data structures like bytes from specification in terms of high-level data structures like queues. The higher level operations need not be coded as ordinary programs; it is more convenient to introduce specification statements to the programming language and use them instead of actual code. Specification statements represent the maximal program satisfying a given Hoare-triple. Sound and (relatively) complete… 
A pure, sound, and complete (in the sense of Cook) Hoare logic for a language with specication statements and recursion
TLDR
A rather simple sound and relatively complete logic in which the recursion rule does not require a deduction in its antecedent, in contrast to all but one formulation of Scott’s induction rule, namely the one by Jerald Schwarz.
Mechanised Formal Reasoning About Modular Programs
TLDR
In addition to these rules, there are inference rules expressing monotonicity properties of lattice constructs, which are very useful for recursion introduction on concrete domains that turn out to be complete lattices.
Programming from Galois Connections
TLDR
A binary relational combinator which mirrors this linguistic structure and exploits its potential for calculating programs by optimization and re-factoring results previously developed by Bird and de Moor for greedy and dynamic programming in a way which makes them less technically involved and therefore easier to understand and play with.
Toward a Mathematical Foundation of Software Engineering Methods
  • M. Broy
  • Computer Science
    IEEE Trans. Software Eng.
  • 2001
TLDR
It is shown how mathematics can provide a scientific foundation for the modeling aspects, description techniques, and development methods of software engineering, which leads to a deeper understanding of the development process and to a basis for a more powerful tool support.
Programming from Galois connections
A Bibliography of Willem-Paul de Roever

References

SHOWING 1-10 OF 19 REFERENCES
Refinement Calculus, Part I: Sequential Nondeterministic Programs
TLDR
A lattice theoretic framework for the calculus of program refinement is presented, which permits miraculous, angelic and demonic statements to be used in the description of program behavior.
Prespecification in Data Refinement
Assertional Data Reification Proofs: Survey and Perspective
In this survey we discuss three methods for program development, which incorporate data reification: VDM, Reynolds’ method, and Back’s method and develop a modest predicate transformer based
Algebraic Proofs of Consistency and Completeness
Guarded commands, nondeterminacy and formal derivation of programs
So-called “guarded commands” are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but
Handbook Of Theoretical Computer Science Volume B Formal Models And Semantics
TLDR
This topic is covered in the Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, edited by J. Dershowitz and J.-P.
Refinement Calculus
TLDR
Categories The authors can generalize the notion of a concrete category to an (abstract) category, where the sets with structure are the objects and the structure-preserving functions are the morphisms of the abstract category.
...
1
2
...