A three-valued logic for refinement
Predicates are a popular tool for specification. Unfortunately, they are less well suited to defining the semantics of programming languages. As as result, program refinement techniques are usually based on predicate transformers. This paper proposes a three-valued logic with a richer kind of predic...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buchkapitel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Predicates are a popular tool for specification. Unfortunately, they are less well suited to defining the semantics of programming languages. As as result, program refinement techniques are usually based on predicate transformers. This paper proposes a three-valued logic with a richer kind of predicate that is suitable for both specification and defining programming language semantics.
The other contribution of this work is a method of refining specifications into recursive programs. It has been suggested that it is more difficult to develop recursive programs than iterative ones. We sidestep the difficulties by using an approximation to the meaning of recursive specifications. We prove that once the refinement process is complete, our approximation is refined by the true meaning. |
---|---|
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/BFb0039698 |