by Glauber Cabral, Christian Maeder, Till Mossakowski and Lutz Schröder
Abstract:
A prerequisite for the practical use of a specification language is the existence of a set of predefined specifications. Although the Common Algebraic Specification Language (CASL) has a library with such predefined specifications, its higher order extension, named HASCASL, still lacks a library with basic higher order data types and functions. In this paper, we describe the specification and verification of a library for the HASCASL language. Our library covers a subset of the Haskell Prelude library, including data types and classes representing Booleans, lists, characters, strings, equality, and ordering functions. We use the Heterogeneous Tool Set (HETS) for parsing specifications, generating proof obligations, and translating between the HASCASL and HOL languages. To discharge the arising proof obligations, we use the Isabelle/HOL interactive theorem prover.
Reference:
Glauber Cabral, Christian Maeder, Till Mossakowski and Lutz Schröder: Creating a HasCASL library, In Jonathan Aldrich, Ricardo Massa, eds.: 14th Brazilian Symposium on Programming Languages (SBLP 2010), 2010.
Bibtex Entry:
@InProceedings{CabralEA10,
author = {Glauber Cabral and Christian Maeder and Till Mossakowski and Lutz Schr{\"o}der},
title = {Creating a HasCASL library},
year = {2010},
editor = {Jonathan Aldrich and Ricardo Massa},
booktitle = {14th Brazilian Symposium on Programming Languages (SBLP 2010)},
abstract = {A prerequisite for the practical use of a specification language is the
existence of a set of predefined specifications. Although the Common Algebraic
Specification Language (CASL) has a library with such predefined specifications,
its higher order extension, named HASCASL, still lacks a library with
basic higher order data types and functions. In this paper, we describe the specification
and verification of a library for the HASCASL language. Our library
covers a subset of the Haskell Prelude library, including data types and classes
representing Booleans, lists, characters, strings, equality, and ordering functions.
We use the Heterogeneous Tool Set (HETS) for parsing specifications,
generating proof obligations, and translating between the HASCASL and HOL
languages. To discharge the arising proof obligations, we use the Isabelle/HOL
interactive theorem prover.},
}