# 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…

## 6 Citations

A pure, sound, and complete (in the sense of Cook) Hoare logic for a language with specication statements and recursion

- Computer Science
- 1997

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

- Computer Science
- 2000

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

- Computer ScienceRAMiCS
- 2011

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

- Computer ScienceIEEE Trans. Software Eng.
- 2001

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.

A Bibliography of Willem-Paul de Roever

- Computer ScienceConcurrency, Compositionality, and Correctness
- 2010

## References

SHOWING 1-10 OF 19 REFERENCES

Refinement Calculus, Part I: Sequential Nondeterministic Programs

- Computer ScienceREX Workshop
- 1989

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.

Assertional Data Reification Proofs: Survey and Perspective

- Computer Science
- 1991

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

- Computer Science, MathematicsTheor. Comput. Sci.
- 1995

Guarded commands, nondeterminacy and formal derivation of programs

- Computer ScienceCommun. ACM
- 1975

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

- Computer Science
- 1990

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

- MathematicsGraduate Texts in Computer Science
- 1998

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.