Results 1  10
of
15
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...
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
Categorybased 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 categorybased approach to a paramodulationbased operational semantics for equational logic programming languages. Categorybased 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 ObjectOriented 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 objectoriented databases is much less satisfactory. We propose a semantic foundation for objectoriented 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 objectoriented databases is much less satisfactory. We propose a semantic foundation for objectoriented 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 higherorder features, the fact that dynamic aspects are directly addressed, the rigorous integration of userdefinable 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 objectoriented databases is much less satisfactory. This is unfortunate, because objectoriented databases seem to have impor...
The Specification and Implementation of ConstraintBased Unification Grammars
, 1991
"... this paper. The research of Pollard and Franz was supported by a grant from the National Science Foundation (IRI8806913). (Empty Category Principle and Subjacency) and so forth. Patterns of crosslinguistic 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 (IRI8806913). (Empty Category Principle and Subjacency) and so forth. Patterns of crosslinguistic 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 Cstructure 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 socalled rulebased 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 FunctionArgument Biuniqueness Conditions of LFG. HPSG belongs to the "unificationbased" family of linguistic theories, but differs from LFG and GPSG in that grammars are formulated entirely in terms of universal and languagespecific 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 rulebased 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 objectoriented systems are naturally represented. In addition, rewriting logic has a simple formalism, with only a few rules of deduction; it supports userdefinable 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 . . . . . . ....
Higherorder 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 higherorder 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 higherorder 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 mlstyle polymorphism enriched with a notion of sorts. Sorts are partially ordered and classify types, thus giving rise to an ordersorted 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 RScompliant 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 RScompliant 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...