Abstract
This chapter describes the equational specification in Maude of a series of typical data structures, complementing in this way the list and set data structures provided as predefined modules in Maude and described in Section 9.12.
We start with the well-known stacks, queues, lists, and multisets to continue with binary and search trees; not only are the simple versions considered, but also advanced ones such as AVL and 2-3-4 trees. The operator attributes available in Maude allow the specification of data based on constructors that satisfy some equational properties, like concatenation of lists which is associative and has the empty list as identity, as opposed to the free constructors available in other functional programming languages. Moreover, the expressive version of equational logic on which Maude is based, namely membership equational logic, allows the faithful specification of types whose data are defined not only by means of constructors, but also by the satisfaction of additional properties, like sorted lists, search trees, balanced trees, etc. We will see along this chapter how this is accomplished by means of membership assertions that equationally characterize the properties satisfied by the corresponding data.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this chapter
Cite this chapter
Clavel, M. et al. (2007). Specifying Parameterized Data Structures in Maude. In: All About Maude - A High-Performance Logical Framework. Lecture Notes in Computer Science, vol 4350. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71999-1_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-71999-1_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71940-3
Online ISBN: 978-3-540-71999-1
eBook Packages: Computer ScienceComputer Science (R0)