Results 1  10
of
39
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 208 (33 self)
 Add to MetaCart
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.
Rewriting Logic as a Logical and Semantic Framework
, 1993
"... Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are und ..."
Abstract

Cited by 147 (52 self)
 Add to MetaCart
Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are understood as mappings L ! F that translate one logic into the other in a conservative way. The ease with which such maps can be defined for a number of quite different logics of interest, including equational logic, Horn logic with equality, linear logic, logics with quantifiers, and any sequent calculus presentation of a logic for a very general notion of "sequent," is discussed in detail. Using the fact that rewriting logic is reflective, it is often possible to reify inside rewriting logic itself a representation map L ! RWLogic for the finitely presentable theories of L. Such a reification takes the form of a map between the abstract data types representing the finitary theories of...
Efficient implementation of lattice operations
 ACM Transactions on Programming Languages and Systems
, 1989
"... complementation (BUTNOT) are becoming more and more important in programming languages supporting object inheritance. We present a general technique for the efficient implementation of such operations based on an encoding method. The effect of the encoding is to plunge the given ordering into a bool ..."
Abstract

Cited by 118 (9 self)
 Add to MetaCart
complementation (BUTNOT) are becoming more and more important in programming languages supporting object inheritance. We present a general technique for the efficient implementation of such operations based on an encoding method. The effect of the encoding is to plunge the given ordering into a boolean lattice of binary words, leading to an almost constant time complexity of the lattice operations. A first method is described based on a transitive closure approach. Then a more spaceefficient method minimizing codeword length is described. Finally a powerful grouping technique called modulation is presented, which drastically reduces code space while keeping all three lattice operations highly efficient. This technique takes into account idiosyncrasies of the topology of the poset being encoded that are quite likely to occur in practice. All methods are formally justified. We see this work as an original contribution towards using semantic (vz., in this case, taxonomic) information in the engineering pragmatics of storage and retrieval of (vz., partially or quasiordered) information.
A Feature Logic with Subsorts
 LILOG Report 33, IWBS, IBM Deutschland
, 1992
"... This paper presents a set description logic with subsorts, feature selection (the inverse of unary function application), agreement, intersection, union and complement. We define a model theoretic open world semantics and show that sorted feature structures constitute a canonical model, that is, ..."
Abstract

Cited by 72 (4 self)
 Add to MetaCart
This paper presents a set description logic with subsorts, feature selection (the inverse of unary function application), agreement, intersection, union and complement. We define a model theoretic open world semantics and show that sorted feature structures constitute a canonical model, that is, without loss of generality subsumption and consistency of set descriptions can be considered with respect to feature structures only. We show that deciding consistency of set descriptions is an NPcomplete problem. To appear in: J. Wedekind and C. Rohrer (eds.), Unification in Grammar. The MIT Press, 1992 This text is a minor revision of LILOG Report 33, May 1988, IBM Deutschland, IWBS, Postfach 800880, 7000 Stuttgart 80, Germany. The research reported here has been done while the author was with IBM Deutschland. The author's article [23] is a more recent work on feature logics. 1 1 Introduction This paper presents a set description logic that generalizes and integrates formalisms...
Completion of Rewrite Systems with Membership Constraints Part II: Constraint Solving
 J. Symbolic Computation
, 1992
"... this paper is to show how to solve the constraints that are involved in the deduction mechanism of the first part. This may be interesting in its own since this provides with a unification algorithm for an ordersorted logic with context variables and can be read independently of the first part. Thi ..."
Abstract

Cited by 66 (2 self)
 Add to MetaCart
this paper is to show how to solve the constraints that are involved in the deduction mechanism of the first part. This may be interesting in its own since this provides with a unification algorithm for an ordersorted logic with context variables and can be read independently of the first part. This can also be compared with unification of term schemes of various kind (Chen & Hsiang, 1991; Salzer, 1992; Comon, 1995; R. Galbav'y and M. Hermann, 1992). Indeed,
Logic Programming over Polymorphically OrderSorted Types
, 1989
"... This thesis presents the foundations for relational logic programming over polymorphically ordersorted data types. This type discipline combines the notion of parametric polymorphism, which has been developed for higherorder functional programming, with the notion of ordersorted typing, which ha ..."
Abstract

Cited by 58 (0 self)
 Add to MetaCart
This thesis presents the foundations for relational logic programming over polymorphically ordersorted data types. This type discipline combines the notion of parametric polymorphism, which has been developed for higherorder functional programming, with the notion of ordersorted typing, which has been developed for equational firstorder specification and programming. Polymorphically ordersorted types are obtained as canonical models of a class of specifications in a suitable logic accommodating sort functions. Algorithms for constraint solving, type checking and type inference are given and proven correct.
Disunification: a Survey
 Computational Logic: Essays in Honor of Alan
, 1991
"... Solving an equation in an algebra of terms is known as unification. Solving more complex formulas combining equations and involving in particular negation is called disunification. With such a broad definition, many works fall into the scope of disunification. The goal of this paper is to survey the ..."
Abstract

Cited by 57 (9 self)
 Add to MetaCart
Solving an equation in an algebra of terms is known as unification. Solving more complex formulas combining equations and involving in particular negation is called disunification. With such a broad definition, many works fall into the scope of disunification. The goal of this paper is to survey these works and bring them together in a same framework. R'esum'e On appelle habituellement (algorithme d') unification un algorithme de r'esolution d'une 'equation dans une alg`ebre de termes. La r'esolution de formules plus complexes, comportant en particulier des n'egations, est appel'ee ici disunification. Avec une d'efinition aussi 'etendue, de nombreux travaux peuvent etre consid'er'es comme portant sur la disunification. L'objet de cet article de synth`ese est de rassembler tous ces travaux dans un meme formalisme. Laboratoire de Recherche en Informatique, Bat. 490, Universit'e de ParisSud, 91405 ORSAY cedex, France. Email: comon@lri.lri.fr i Contents 1 Syntax 5 1.1 Basic Defini...
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.
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 33 (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...
Ordersorted polymorphism in isabelle
 Logical Environments
, 1993
"... MLstyle polymorphism can be generalized from a singlesorted algebra of types to an ordersorted one by adding a partially ordered layer of “sorts ” on top of the types. Type inference proceeds as in the Hindley/Milner system, except that ordersorted unification of types is used. The resulting sys ..."
Abstract

Cited by 33 (2 self)
 Add to MetaCart
MLstyle polymorphism can be generalized from a singlesorted algebra of types to an ordersorted one by adding a partially ordered layer of “sorts ” on top of the types. Type inference proceeds as in the Hindley/Milner system, except that ordersorted unification of types is used. The resulting system has been implemented in Isabelle to permit type variables to range over userdefinable subsets of all types. Ordersorted polymorphism allows a simple specification of type restrictions in many logical systems. It accommodates userdefined parametric overloading and allows for a limited form of abstract axiomatic reasoning. It can also explain type inference with Standard ML’s equality types and Haskell’s type classes. 1