Technical reports
Formal verification of data type refinement:
Theory and practice
Tobias Nipkow
September 1989, 31 pages
DOI: 10.48456/tr-180
Abstract
This paper develops two theories of data abstraction and refinement: one for applicative types, as they are found in functional programming languages, and one for state-based types found in imperative languages. The former are modelled by algebraic structures, the latter by automata. The automaton theoretic model covers not just data types but distributed systems in general. Within each theory two examples of data refinement are presented and formally verified with the theorem prover Isabelle. The examples are an abstract specification and two implementations of a memory system, and a mutual exclusion algorithm.
Full text
PDF (2.1 MB)
BibTeX record
@TechReport{UCAM-CL-TR-180, author = {Nipkow, Tobias}, title = {{Formal verification of data type refinement: Theory and practice}}, year = 1989, month = sep, url = {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-180.pdf}, institution = {University of Cambridge, Computer Laboratory}, doi = {10.48456/tr-180}, number = {UCAM-CL-TR-180} }