Results 1  10
of
13
OrderSorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations
 Theoretical Computer Science
, 1992
"... This paper generalizes manysorted algebra (hereafter, MSA) to ordersorted 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 objectoriented programming), several forms of pol ..."
Abstract

Cited by 214 (33 self)
 Add to MetaCart
(Show Context)
This paper generalizes manysorted algebra (hereafter, MSA) to ordersorted 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 objectoriented 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 McKinseyMalcev 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 runtime 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.
Introducing OBJ
, 1993
"... This is an introduction to the philosophy and use of OBJ, emphasizing its operational semantics, with aspects of its history and its logical semantics. Release 2 of OBJ3 is described in detail, with many examples. OBJ is a wide spectrum firstorder functional language that is rigorously based on ..."
Abstract

Cited by 131 (31 self)
 Add to MetaCart
This is an introduction to the philosophy and use of OBJ, emphasizing its operational semantics, with aspects of its history and its logical semantics. Release 2 of OBJ3 is described in detail, with many examples. OBJ is a wide spectrum firstorder functional language that is rigorously based on (order sorted) equational logic and parameterized programming, supporting a declarative style that facilitates verification and allows OBJ to be used as a theorem prover.
The Requirement and Design Specification Language SPECTRUM  An Informal Introduction
, 1993
"... This paper gives a short introduction to the algebraic specification language Spectrum. Using simple, wellknown examples, the objectives and concepts of Spectrum are explained. The Spectrum language is based on axiomatic specification techniques and is oriented towards functional programs. Spectru ..."
Abstract

Cited by 36 (3 self)
 Add to MetaCart
This paper gives a short introduction to the algebraic specification language Spectrum. Using simple, wellknown examples, the objectives and concepts of Spectrum are explained. The Spectrum language is based on axiomatic specification techniques and is oriented towards functional programs. Spectrum includes the following features: ffl partial functions, definedness logic and fixed point theory ffl higherorder elements and typed abstraction ffl nonstrict functions and infinite objects ffl full firstorder predicate logic with induction principles ffl predicative polymorphism with sort classes ffl parameterization and modularization Spectrum is based on the concept of loose semantics.
Explicit Graphs in a Functional Model for Spatial Databases
 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
, 1994
"... Observing that networks are ubiquitous in applications for spatial databases, we define a new data model and query language that especially supports graph structures. This model integrates concepts of functional data modeling with ordersorted algebra. Besides object and data type hierarchies grap ..."
Abstract

Cited by 29 (9 self)
 Add to MetaCart
Observing that networks are ubiquitous in applications for spatial databases, we define a new data model and query language that especially supports graph structures. This model integrates concepts of functional data modeling with ordersorted algebra. Besides object and data type hierarchies graphs are available as an explicit modeling tool, and graph operations are part of the query language. Graphs have three classes of components, namely nodes, edges, and explicit paths. These are at the same time object types within the object type hierarchy and can be used like any other type. Explicit paths are useful because “real world ” objects often correspond to paths in a network. Furthermore, a dynamic generalization concept is introduced to handle heterogeneous collections of objects in a query. In connection with spatial data types this leads to powerful modeling and querying capabilities for spatial databases, in particular for spatially embedded networks such as highways, rivers, public transport, and so forth. We use multilevel ordersorted algebra as a formal framework for the specification of our model. Roughly spoken, the first level algebra defines types and operations of the query language whereas the second level algebra defines kinds (collections of types) and type constructors as functions between kinds and so provides the types that can be used at the first level.
An Oxford Survey of Order Sorted Algebra
 MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE
, 1994
"... ..."
The Logical Framework of SPECTRUM
"... The SPECTRUM project concentrates on the process of developing wellstructured, precise system specifications. Spectrum is a specification language, with a deduction calculus and a development methodology. An informal presentation of the SPECTRUM language with many examples illustrating its prope ..."
Abstract

Cited by 15 (6 self)
 Add to MetaCart
The SPECTRUM project concentrates on the process of developing wellstructured, precise system specifications. Spectrum is a specification language, with a deduction calculus and a development methodology. An informal presentation of the SPECTRUM language with many examples illustrating its properties is given in [BFG+93a, BFG+93b]. The purpose of this article is to describe its formal semantics.
Stretching First Order Equational Logic: Proofs with Partiality, Subtypes and Retracts
 Proceedings, Workshop on First Order Theorem Proving
, 1998
"... It is widely recognized that equational logic is simple, (relatively) decidable, and (relatively) easily mechanized. But it is also widely thought that equational logic has limited applicability because it cannot handle subtypes or partial functions. We show that a modest stretch of equational logic ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
It is widely recognized that equational logic is simple, (relatively) decidable, and (relatively) easily mechanized. But it is also widely thought that equational logic has limited applicability because it cannot handle subtypes or partial functions. We show that a modest stretch of equational logic effectively handles these features. Space limits preclude a full theoretical treatment, so we often sketch, motivate and exemplify.
Specifying Type Systems with MultiLevel OrderSorted Algebra
 3RD CONF. ON ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY
, 1993
"... We propose to use ordersorted algebras (OSA) on multiple levels to describe languages together with their type systems. It is demonstrated that even advanced aspects can be modeled, including, parametric polymorphism, complex relationships between different sorts of an operation's rank, the sp ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
We propose to use ordersorted algebras (OSA) on multiple levels to describe languages together with their type systems. It is demonstrated that even advanced aspects can be modeled, including, parametric polymorphism, complex relationships between different sorts of an operation's rank, the specification of a variable number of parameters for operations, and type constructors using values (and not only types) as arguments. The basic idea is to use a signature to describe a type system where sorts denote sets of type names and operations denote type constructors. The values of an algebra for such a signature are then used as sorts of another signature now describing a language having the previously defined type system. This way of modeling is not restricted to two levels, and we will show useful applications of threelevel algebras.
2 Algebraic Preliminaries
"... The purpose of this chapter is to present the basic definitions and results on which the following chapters rely. Most of this material is quite standard and for that reason the presentation will be concise. More detailed presentations with greater emphasis on motivation, exercises, and examples may ..."
Abstract
 Add to MetaCart
The purpose of this chapter is to present the basic definitions and results on which the following chapters rely. Most of this material is quite standard and for that reason the presentation will be concise. More detailed presentations with greater emphasis on motivation, exercises, and examples may be found in [EM85, Wir90,LEW96,ST]. The most basic assumption of work on algebraic specification is that a program is modeled as an algebra, that is, a set of data together with a number of functions over this set. The branch of mathematics which deals with algebras in a general sense (as opposed to the study of specific classes of algebras, such as groups and rings) is called universal algebra or sometimes general algebra. This chapter presents the basics of universal algebra, generalized to the manysorted case as required to model programs which manipulate several kinds or sorts of data. Some extensions useful for modeling more complex programs are sketched at the end of the chapter. 2.1 Manysorted sets When using an algebra to model a program which manipulates several sorts of data, it is natural to partition the underlying set of values in the algebra so that there is one set of values for each sort of data. It is often convenient to manipulate such a family of sets as a unit in such a way that operations on this unit respect the “typing ” of data values. Let S be a set (of sorts). An Ssorted set is an Sindexed family of sets X = 〈Xs〉s∈S,whichisempty if Xs is empty for all s ∈ S. The empty Ssorted set is written ∅. Let X = 〈Xs〉s∈S and Y = 〈Ys〉s∈S be Ssorted sets. Union, intersection, Cartesian product, disjoint union, inclusion (subset), and equality of X and Y are defined as follows:
Consistency of Recursive Definitions
, 2005
"... Recursive definitions can be adequately and conveniently modeled with leftlinear conditional term rewriting systems, provided that nontermination, nontrivial critical pairs, and extra variables are admitted. Confluence of such systems guarantees the objectlevel consistency of the underlying data ..."
Abstract
 Add to MetaCart
(Show Context)
Recursive definitions can be adequately and conveniently modeled with leftlinear conditional term rewriting systems, provided that nontermination, nontrivial critical pairs, and extra variables are admitted. Confluence of such systems guarantees the objectlevel consistency of the underlying data types. We present a novel sufficient criterion for shallow confluence, a property which is logically stronger than level confluence and confluence, and which is not only needed as a generalization for the hard inductive proof of the sufficiency of the criterion, but has other applications also, e.g. in functional logic programming. By restricting the introduction of extra variables to binding equations that mirror local variabledeclarations and constructormatching variableintroduction constructs in programming languages (such as ¡¢¤£ and ¥§¦© ¨ ¢ in ML), and by requiring the critical pairs to have somehow complementary literals in their conditions, we arrive at the first decidable confluence criterion with which we can write recursive function definitions adequately and conveniently: It admits nontermination; nontrivial critical pairs; extra variables in righthandsides introduced by binding equations and arbitrary extra variables in conditions; and nonproperorientation, nonrightstability,