Results 1 - 10
of
37
Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations
- Theoretical Computer Science
, 1992
"... This paper generalizes many-sorted algebra (hereafter, MSA) to order-sorted algebra (hereafter, OSA) by allowing a partial ordering relation on the set of sorts. This supports abstract data types with multiple inheritance (in roughly the sense of object-oriented programming), several forms of pol ..."
Abstract
-
Cited by 203 (34 self)
- Add to MetaCart
This paper generalizes many-sorted algebra (hereafter, MSA) to order-sorted algebra (hereafter, OSA) by allowing a partial ordering relation on the set of sorts. This supports abstract data types with multiple inheritance (in roughly the sense of object-oriented programming), several forms of polymorphism and overloading, partial operations (as total on equationally defined subsorts), exception handling, and an operational semantics based on term rewriting. We give the basic algebraic constructions for OSA, including quotient, image, product and term algebra, and we prove their basic properties, including Quotient, Homomorphism, and Initiality Theorems. The paper's major mathematical results include a notion of OSA deduction, a Completeness Theorem for it, and an OSA Birkhoff Variety Theorem. We also develop conditional OSA, including Initiality, Completeness, and McKinsey-Malcev Quasivariety Theorems, and we reduce OSA to (conditional) MSA, which allows lifting many known MSA results to OSA. Retracts, which intuitively are left inverses to subsort inclusions, provide relatively inexpensive run-time error handling. We show that it is safe to add retracts to any OSA signature, in the sense that it gives rise to a conservative extension. A final section compares and contrasts many different approaches to OSA. This paper also includes several examples demonstrating the flexibility and applicability of OSA, including some standard benchmarks like STACK and LIST, as well as a much more substantial example, the number hierarchy from the naturals up to the quaternions.
Equational Formulae with Membership Constraints
- Information and Computation
, 1994
"... We propose a set of transformation rules for first order formulae whose atoms are either equations between terms or "membership constraints" t 2 i. i can be interpreted as a regular tree language (i is called a sort in the algebraic specification community) or as a tree language in any class of lang ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
We propose a set of transformation rules for first order formulae whose atoms are either equations between terms or "membership constraints" t 2 i. i can be interpreted as a regular tree language (i is called a sort in the algebraic specification community) or as a tree language in any class of languages which satisfies some adequate closure and decidability properties. This set of rules is proved to be correct, terminating and complete. This provides a quantifier elimination procedure: for every regular tree language L, the first order theory of some structure defining L is decidable. This extends the results of Mal'cev (1971), Maher (1988), Comon and Lescanne (1989). We also show how to apply our results to automatic inductive proofs in equational theories. Introduction To unify two terms s and t means to turn the equation s = t into an equivalent solved form which is either ? (this means that s = t has no solution, or, in other words, that s and t are not unifiable) or else a form...
A Provably Correct Compiler Generator
, 1992
"... We have designed, implemented, and proved the correctness of a compiler generator that accepts action semantic descriptions of imperative programming languages. The generated compilers emit absolute code for an abstract RISC machine language that currently is assembled into code for the SPARC and th ..."
Abstract
-
Cited by 26 (2 self)
- Add to MetaCart
We have designed, implemented, and proved the correctness of a compiler generator that accepts action semantic descriptions of imperative programming languages. The generated compilers emit absolute code for an abstract RISC machine language that currently is assembled into code for the SPARC and the HP Precision Architecture. Our machine language needs no run-time type-checking and is thus more realistic than those considered in previous compiler proofs. We use solely algebraic specifications; proofs are given in the initial model. 1 Introduction The previous approaches to proving correctness of compilers for non-trivial languages all use target code with run-time type-checking. The following semantic rule is typical for these target languages: (FIRST : C; hv 1 ; v 2 i : S) ! (C; v 1 : S) The rule describes the semantics of an instruction that extracts the first component of the top-element of the stack, provided that the top-element is a pair. If not, then it is implicit that the...
Category-based Semantics for Equational and Constraint Logic Programming
, 1994
"... This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equation ..."
Abstract
-
Cited by 24 (10 self)
- Add to MetaCart
This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equational deduction to an arbitrary category satisfying certain natural conditions; completeness is proved under a hypothesis of quantifier projectivity, using a semantic treatment that regards quantifiers as models rather than variables, and regards valuations as model morphisms rather than functions. This is used as a basis for a model theoretic category-based approach to a paramodulation-based operational semantics for equational logic programming languages. Category-based equational logic in conjunction with the theory of institutions is used to give mathematical foundations for modularisation in equational logic programming. We study the soundness and completeness problem for module imports i...
Bi-rewriting, a Term Rewriting Technique for Monotonic Order Relations
- Rewriting Techniques and Applications, LNCS 690
, 1993
"... We propose an extension of rewriting techniques to derive inclusion relations $a \subseteq b$ between terms built from monotonic operators. Instead of using only a rewriting relation $\REa$ and rewriting $a$ to $b$, we use another rewriting relation $\REb$ as well and seek a common expression $c$ su ..."
Abstract
-
Cited by 22 (6 self)
- Add to MetaCart
We propose an extension of rewriting techniques to derive inclusion relations $a \subseteq b$ between terms built from monotonic operators. Instead of using only a rewriting relation $\REa$ and rewriting $a$ to $b$, we use another rewriting relation $\REb$ as well and seek a common expression $c$ such that $a \REa^* c$ and $b \REb^* c$. Each component of the bi-rewriting system $\pair{\REa}{\REb}$ is allowed to be a subset of the corresponding inclusion $\subseteq$ or $\superseteq$. In order to assure the decidability and completeness of the proof procedure we study the commutativity of $\REa$ and $\REb$. We also extend the existing techniques of rewriting modulo equalities to bi-rewriting modulo a set of inclusions. We present the canonical bi-rewriting system corresponding to the theory of non-distributive lattices.
Algebraic Approaches to Nondeterminism - an Overview
- ACM Computing Surveys
, 1997
"... this paper was published as Walicki, M.A. and Meldal, S., 1995, Nondeterministic Operators in Algebraic Frameworks, Tehnical Report No. CSL--TR--95--664, Stanford University ..."
Abstract
-
Cited by 22 (3 self)
- Add to MetaCart
this paper was published as Walicki, M.A. and Meldal, S., 1995, Nondeterministic Operators in Algebraic Frameworks, Tehnical Report No. CSL--TR--95--664, Stanford University
A Complete Calculus for the Multialgebraic and Functional Semantics of Nondeterminism
, 1995
"... : The current algebraic models for nondeterminism focus on the notion of possibility rather than necessity, and con sequently equate (nondeterministic) terms that one intuitively would not consider equal. Furthermore, existing models for nondeterminism depart radically from the standard models for ( ..."
Abstract
-
Cited by 21 (9 self)
- Add to MetaCart
: The current algebraic models for nondeterminism focus on the notion of possibility rather than necessity, and con sequently equate (nondeterministic) terms that one intuitively would not consider equal. Furthermore, existing models for nondeterminism depart radically from the standard models for (equational) specifications of deterministic operators. One would prefer that a specification language for nondeterministic operators be based on an extension of the standard model concepts, preferably in such a way that the reasoning system for (possibly nondeterministic) operators becomes the standard equational one whenever restricted to the deterministic operators -- the objective should be to minimize the departure from the standard frameworks. In this paper we define a specification language for nondeterministic operators and multialgebraic semantics. The first complete reasoning system for such specifications is introduced. We also define a transformation of specifications of nondeterm...
Rewriting Extended Regular Expressions
, 1993
"... We concider an extened algebra of regular events (languages) with intersection besides the usual operations. This algebra has the structure of a distributive lattice with monotonic operations; the latter property is crucial for some applications. We give a new complete Horn equational axiomatiztion ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
We concider an extened algebra of regular events (languages) with intersection besides the usual operations. This algebra has the structure of a distributive lattice with monotonic operations; the latter property is crucial for some applications. We give a new complete Horn equational axiomatiztion of the algebra and develop some termrewriting techniques for constructing logical inferences of valid equations. A shorter version of this paper is to appear in the proceedings of Developments in Language Theory, Univ. of Turku, July 1993, published by World Scientific. The present version has been submitted for publication elsewhere. 1 Introduction In this paper we consider an extended algebra of regular events (languages) on a given alphabet with intersection besides the usual operations (union, concatenation, Kleene star, empty, and the regular unit). This algebra has the structure of a distributive lattice (join is union, meet is intersection) with only monotonic operations. The latte...
From Total Equational to Partial First Order Logic
, 1998
"... The focus of this chapter is the incremental presentation of partial firstorder logic, seen as a powerful framework where the specification of most data types can be directly represented in the most natural way. Both model theory and logical deduction are described in full detail. Alternatives to pa ..."
Abstract
-
Cited by 17 (7 self)
- Add to MetaCart
The focus of this chapter is the incremental presentation of partial firstorder logic, seen as a powerful framework where the specification of most data types can be directly represented in the most natural way. Both model theory and logical deduction are described in full detail. Alternatives to partiality, like (variants of) error algebras and order-sortedness are also discussed, showing their uses and limitations. Moreover, both the total and the partial (positive) conditional fragment are investigated in detail, and in particular the existence of initial (free) models for such restricted logical paradigms is proved. Some more powerful algebraic frameworks are sketched at the end. Equational specifications introduced in last chapter, are a powerful tool to represent the most common data types used in programming languages and their semantics. Indeed, Bergstra and Tucker have shown in a series of papers (see [BT87] for a complete exposition of results) that a data type is semicompu...

