Abstract
Freefinement is an algorithm that constructs a sound refinement calculus from a verification system under certain conditions. In this paper, a verification system is any formal system for establishing whether an inductively defined term, typically a program, satisfies a specification. Examples of verification systems include Hoare logics and type systems. Freefinement first extends the term language to include specification terms, and builds a verification system for the extended language that is a sound and conservative extension of the original system. The extended system is then transformed into a sound refinement calculus. The resulting refinement calculus can interoperate closely with the verification system - it is even possible to reuse and translate proofs between them. Freefinement gives a semantics to refinement at an abstract level: it associates each term of the extended language with a set of terms from the original language, and refinement simply reduces this set. The paper applies freefinement to a simple type system for the lambda calculus and also to a Hoare logic.
Supplemental Material
- R.-J. Back. Correctness preserving program refinements: Proof theory and applications. Mathematical Centre Tracts, 131, 1980.Google Scholar
- R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer-Verlag, 1998. Graduate Texts in Computer Science. Google Scholar
Digital Library
- S. Brookes. A semantics for concurrent separation logic. Theor. Comput. Sci., 375: 227--270, April 2007. Google Scholar
Digital Library
- E. Denney. Simply-typed underdeterminism. Journal of Computer Science and Technology, 13: 491--508, 1998.Google Scholar
Digital Library
- E. Denney. A theory of program refinement. Technical Report ECS-LFCS-99--412, University of Edinburgh, 1999.Google Scholar
- E. C. R. Hehner. A practical theory of programming. Springer-Verlag New York, Inc., New York, NY, USA, 1993. Google Scholar
Digital Library
- K. R. M. Leino and R. Manohar. Joining specification statements. Theor. Comput. Sci., 216 (1--2): 375--394, 1999. Google Scholar
Digital Library
- C. Morgan. The specification statement. ACM Trans. Program. Lang. Syst., 10: 403--419, July 1988. Google Scholar
Digital Library
- C. Morgan. Programming from specifications (2nd ed.). Prentice Hall International (UK) Ltd., Hertfordshire, UK, 1994. Google Scholar
Digital Library
- J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Sci. Comput. Program., 9: 287--306, December 1987. Google Scholar
Digital Library
- M. J. Parkinson and G. M. Bierman. Separation logic, abstraction and inheritance. In POPL '08, pages 75--86, New York, NY, USA, 2008. ACM. Google Scholar
Digital Library
Index Terms
Freefinement
Recommendations
Freefinement
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesFreefinement is an algorithm that constructs a sound refinement calculus from a verification system under certain conditions. In this paper, a verification system is any formal system for establishing whether an inductively defined term, typically a ...
Eliminability of cut in hypersequent calculi for some modal logics of linear frames
Hypersequent calculus HC for three modal logics of linear frames (K4.3, KD4.3 and S4.3) is presented.Adequacy of HC for these logics is shown.Eliminability of Cut is demonstrated. Hypersequent calculi, introduced independently by Pottinger and Avron, ...
Nested Sequents for Intuitionistic Modal Logics via Structural Refinement
Automated Reasoning with Analytic Tableaux and Related MethodsAbstractWe employ a recently developed methodology—called structural refinement—to extract nested sequent systems for a sizable class of intuitionistic modal logics from their respective labelled sequent systems. This method can be seen as a means by ...







Comments