Abstract

The formalism of algebraic specifications allows to specify data types and software systems independent from their representation and without reference to any particular machine configuration or operating system available. They are,with respect to semantics,independent from technological changes (other than most programming languages for example) and build a reliable basis for documentation and implementation. Indeed, the fact that we can write specifications and know about their meaning is a great achievement, but it is only part of what algebraic specifications do provide: They may be viewed as an axiomatization of the theory of the data type they specify. In this respect they admit formal theorem proving and give rise to automatization of correctness and validation of formal properties. On the other hand they can be considered as input of an interpreter which formally evaluates terms thus producing normal form terms which may be serving as representations of data. These two aspects are the reason that we discuss in this chapter the equational calculus for proving equations from specifications, and the term rewriting with equations for deriving terms from terms. Actually the equational calculus and term rewriting with equations are closely related, and we will see that they can simulate each other.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call