KIT | KIT-Bibliothek | Impressum | Datenschutz

Formalising FinFuns - Generating Code for Functions as Data from Isabelle/HOL

Lochbihler, Andreas

Abstract:

FinFuns are total functions that are constant except for a finite set of points, i.e. a generalisation of finite maps. We formalise them in Isabelle/HOL and present how to safely set up Isabelle's code generator such that operations like equality testing and quantification on FinFuns become executable. On the code output level, FinFuns are explicitly represented by constant functions and pointwise updates, similarly to associative lists. Inside the logic, they behave like ordinary functions with extensionality. Via the update/constant pattern, a recursion combinator and an induction rule for FinFuns allow for defining and reasoning about operators on FinFuns that directly become executable. We apply the approach to an executable formalisation of sets and use it for the semantics for a subset of concurrent Java.


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsjahr 2009
Sprache Englisch
Identifikator ISBN: 978-3-642-03358-2
ISSN: 0302-9743
KITopen-ID: 1000017643
Erschienen in Theorem Proving in Higher Order Logics - 22nd International Conference, TPHOLs 2009, Munich, Germany, August 17-20, 2009. Proceedings. Ed.: S. Berghofer
Verlag Springer-Verlag
Seiten 310 - 326
Serie Lecture Notes in Computer Science ; 5674
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page