Results 1 - 10
of
14
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 145 (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...
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...
A Logical Semantics for Object-Oriented Databases
- In Proc. International SIGMOD Conference on Management of Data
, 1993
"... Although the mathematical foundations of relational databases are very well established, the state of affairs for object-oriented databases is much less satisfactory. We propose a semantic foundation for object-oriented databases based on a simple logic of change called rewriting logic, and a langua ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
Although the mathematical foundations of relational databases are very well established, the state of affairs for object-oriented databases is much less satisfactory. We propose a semantic foundation for object-oriented databases based on a simple logic of change called rewriting logic, and a language called MaudeLog that is based on that logic. Some key advantages of our approach include its logical nature, its simplicity without any need for higher-order features, the fact that dynamic aspects are directly addressed, the rigorous integration of user-definable algebraic data types within the framework, the existence of initial models, and the integration of query, update, and programming aspects within a single declarative language. 1 Introduction Although the mathematical foundations of relational databases are very well established, the state of affairs for object-oriented databases is much less satisfactory. This is unfortunate, because object-oriented databases seem to have impor...
The Specification and Implementation of Constraint-Based Unification Grammars
, 1991
"... this paper. The research of Pollard and Franz was supported by a grant from the National Science Foundation (IRI-8806913). (Empty Category Principle and Subjacency) and so forth. Patterns of cross-linguistic variation are accounted for by means of the parametrization of these principles. The method ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
this paper. The research of Pollard and Franz was supported by a grant from the National Science Foundation (IRI-8806913). (Empty Category Principle and Subjacency) and so forth. Patterns of cross-linguistic variation are accounted for by means of the parametrization of these principles. The methodological distinction between these two approaches is widely supposed to be that rules enumerate possibilities, while principles eliminate possibilities. But it is quite difficult to distinguish formally between a parametrized disjunctive principle and a collection of schematic rules only one of which can apply to a given structure. Consider, for example, the distinction between categorial grammar application schemata, basic ID rules of GPSG, and the C-structure constraints of LFG, on the one hand, and the disjunctive clauses of ¯ X Theory or the Empty Category Principle on the other. It should also be borne in mind that so-called rule-based approaches often employ not only rules but also global constraints on representations which behave similarly to principles, such as the Head Feature Convention and the Control Agreement Principle of GPSG or the Completeness and Function-Argument Biuniqueness Conditions of LFG. HPSG belongs to the "unification-based" family of linguistic theories, but differs from LFG and GPSG in that grammars are formulated entirely in terms of universal and language-specific principles expressed as constraints on feature structures, which in turn are taken to represent possible linguistic objects. As shown by Pollard and Sag (1987), constraints on feature structures can be used to do the same duty as many of the principles and rules of GPSG, LFG and GB. Unlike rule-based theories, in HPSG, immediate dominance and linear precedence conditions (traditional...
Action and Change in Rewriting Logic
, 1996
"... Rewriting logic is proposed as a logic of concurrent action and change that solves the frame problem and that subsumes and unifies a number of previous logics of change, including linear logic and Horn logic with equality. Rewriting logic can represent action and change with great flexibility and ge ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
Rewriting logic is proposed as a logic of concurrent action and change that solves the frame problem and that subsumes and unifies a number of previous logics of change, including linear logic and Horn logic with equality. Rewriting logic can represent action and change with great flexibility and generality; this flexibility is illustrated by many examples, including examples that show how concurrent object-oriented systems are naturally represented. In addition, rewriting logic has a simple formalism, with only a few rules of deduction; it supports user-definable logical connectives, which can be chosen to fit the problem at hand; it is intrinsically concurrent; and it is realizable in a wide spectrum logical language (Maude and its MaudeLog extension) supporting executable specification and programming. Contents 1 Introduction 2 1.1 What the frame problem (in our sense) is . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 What the frame problem (in our sense) is not . . . . . . ....
Higher-order unification, polymorphism, and subsorts (extended abstract
- Proceedings of the 2nd International Workshop on Conditional and Typed Rewriting Systems
, 1990
"... This paper analyzes the problems that arise in extending Huet’s higher-order unification algorithm from the simply typed λ-calculus to one with type variables. A simple, incomplete, but in practice very useful extension to Huet’s algorithm is discussed. This extension takes an abstract view of types ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper analyzes the problems that arise in extending Huet’s higher-order unification algorithm from the simply typed λ-calculus to one with type variables. A simple, incomplete, but in practice very useful extension to Huet’s algorithm is discussed. This extension takes an abstract view of types. As a particular instance we explore a type system with ml-style polymorphism enriched with a notion of sorts. Sorts are partially ordered and classify types, thus giving rise to an order-sorted algebra of types. Type classes in the functional language Haskell can be understood as sorts in this sense. Sufficient conditions on the sort structure to ensure the existence of principal types are discussed. Finally we suggest a new type system for the λ-calculus which may pave the way to a complete unification algorithm for polymorphic terms. 1
Style - A Practical Type Checker for Scheme
, 1993
"... This paper describes an new tool for finding errors in R 4 RS-compliant Scheme programs. A polymorphic type system in the style of Damas & Milner (1982) with an additional maximum type is used to type Scheme code. Although Scheme is dynamically typed, most parts of programs are statically typeable ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper describes an new tool for finding errors in R 4 RS-compliant Scheme programs. A polymorphic type system in the style of Damas & Milner (1982) with an additional maximum type is used to type Scheme code. Although Scheme is dynamically typed, most parts of programs are statically typeable; type inconsistencies are regarded as hints to possible programming errors. The paper first introduces a type system which is a careful balance between rigorous type safety and pragmatic type softness. An efficient and portable implementation based on order sorted unification in Scheme is then described. We obtained very satisfactory results on realistic programs, including the programs in Abelson, Sussman & Sussman (1985). 1 Introduction Finding errors in Scheme programs is painful. One major reason is that Scheme is a dynamically typed language: all names in Scheme programs can hold objects of arbitrary, undeclared type which may change during runtime. Unlike most modern languages like H...
Tossing Algebraic Flowers down the Great Divide
- In People and Ideas in Theoretical Computer Science
, 1999
"... Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly l ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly languages that allowed symbolic codes for operations and addresses. fortran began the spread of "high level" programming languages, though at the time it was strongly opposed by many assembly programmers; important features that developed later include blocks, recursive procedures, flexible types, classes, inheritance, modules, and genericity. Without going into the philosophical problems raised by abstraction (which in view of the discussion of realism in Section 4 may be considerable), it seems clear that the mathematics used to describe programming concepts should in general get more abstract as the programming concepts get more abstract. Nevertheless, there has been great resistance to u...
Complete Polymorphic Order-Sorted Unification
- Programming Languages and Fundamentals of Programming, number 9717 in Bericht
, 1997
"... Unification in a polymorphic order-sorted signature differs substantially from the non-polymorphic order-sorted unification. For the polymorphic order-sorted unification we need a type unification algorithm instead of a simple infimum function as in the non-polymorphic case. In this paper we solve t ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Unification in a polymorphic order-sorted signature differs substantially from the non-polymorphic order-sorted unification. For the polymorphic order-sorted unification we need a type unification algorithm instead of a simple infimum function as in the non-polymorphic case. In this paper we solve the type unification problem, design a type unification algorithm and derive from this a polymorphic order-sorted unification algorithm. 1 Introduction The theory of order-sorted algebras has already been developed for OBJ [3, 4, 5]. In [9] we extend this theory by introducing parametric polymorphism (like it was done for sml [8, 2]) and present a corresponding programming language, we called OBJ--P. Similar approaches are presented in [10, 11, 14, 1]. For logic programming languages which are based on a theory of order-sorted algebras, we need a unification algorithm for order-sorted terms. The non-polymorphic ordersorted unification problem is considered in [6], [12], and [16]. In this pap...

