Results 1 - 10
of
10
Metalogical Frameworks
, 1992
"... In computer science we speak of implementing a logic; this is done in a programming language, such as Lisp, called here the implementation language. We also reason about the logic, as in understanding how to search for proofs; these arguments are expressed in the metalanguage and conducted in the me ..."
Abstract
-
Cited by 54 (14 self)
- Add to MetaCart
In computer science we speak of implementing a logic; this is done in a programming language, such as Lisp, called here the implementation language. We also reason about the logic, as in understanding how to search for proofs; these arguments are expressed in the metalanguage and conducted in the metalogic of the object language being implemented. We also reason about the implementation itself, say to know it is correct; this is done in a programming logic. How do all these logics relate? This paper considers that question and more. We show that by taking the view that the metalogic is primary, these other parts are related in standard ways. The metalogic should be suitably rich so that the object logic can be presented as an abstract data type, and it must be suitably computational (or constructive) so that an instance of that type is an implementation. The data type abstractly encodes all that is relevant for metareasoning, i.e., not only the term constructing functions but also the...
Building Equational Proving Tools by Reflection in Rewriting Logic
- In Cafe: An Industrial-Strength Algebraic Formal Method
, 1998
"... This paper explains the design and use of two equational proving tools, namely an inductive theorem prover -- to prove theorems about equational specifications with an initial algebra semantics -- and a Church-Rosser checker---to check whether such specifications satisfy the Church-Rosser property. ..."
Abstract
-
Cited by 37 (18 self)
- Add to MetaCart
This paper explains the design and use of two equational proving tools, namely an inductive theorem prover -- to prove theorems about equational specifications with an initial algebra semantics -- and a Church-Rosser checker---to check whether such specifications satisfy the Church-Rosser property. These tools can be used to prove properties of order-sorted equational specifications in Cafe [11] and of membership equational logic specifications in Maude [7, 6]. The tools have been written entirely in Maude and are in fact executable specifications in rewriting logic of the formal inference systems that they implement.
Rewriting Logic as a Metalogical Framework
- Lecture Notes in Computer Science
, 2000
"... A metalogical framework is a logic with an associated methodology that is used to represent other logics and to reason about their metalogical properties. We propose that logical frameworks can be good metalogical frameworks when their logics support reective reasoning and their theories always ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
A metalogical framework is a logic with an associated methodology that is used to represent other logics and to reason about their metalogical properties. We propose that logical frameworks can be good metalogical frameworks when their logics support reective reasoning and their theories always have initial models. We present a concrete realization of this idea in rewriting logic. Theories in rewriting logic always have initial models and this logic supports reective reasoning. This implies that inductive reasoning is valid when proving properties about the initial models of theories in rewriting logic, and that we can use reection to reason at the metalevel about these properties. In fact, we can uniformly reect induction principles for proving metatheorems about rewriting logic theories and their parameterized extensions. We show that this reective methodology provides an eective framework for dierent, non-trivial, kinds of formal metatheoretic reasoning; one can...
Maude as a Metalanguage
, 1998
"... One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible and simple logical and semantic framework. From a language design point of view the obvious question to ask is: how can a rewriting logic language best support logical and semantic framework applications, so that it becomes a metalanguage in which a very wide variety of logics and languages can be both semantically defined, and implemented? Our answer is: by being reflective. This paper discusses our latest language design and implementation work on Maude as a reflective metalanguage in which entire environments---including syntax definition, parsing, pretty printing, execution, and input/output---can be defined for a language or logic L of choice. 1
Metalevel Computation in Maude
, 1998
"... Maude's language design and implementation make systematic use of the fact that rewriting logic is reflective. This makes the metatheory of rewriting logic accessible to the user in a clear and principled way, and makes possible many advanced metaprogramming applications, including user-definable st ..."
Abstract
-
Cited by 11 (7 self)
- Add to MetaCart
Maude's language design and implementation make systematic use of the fact that rewriting logic is reflective. This makes the metatheory of rewriting logic accessible to the user in a clear and principled way, and makes possible many advanced metaprogramming applications, including user-definable strategy languages, language extensions by new module composition operations, development of theorem proving tools, and reifications of other languages and logics within rewriting logic. A naive implementation of reflection can be computationally very expensive. We explain the semantic principles and implementation techniques through which efficient ways of performing reflective computations are achieved in Maude through its predefined META-LEVEL module.
Specification and Analysis of Real-Time and Hybrid Systems in Rewriting Logic
, 2000
"... 2 Dedicated with affection to my beloved parents Cecilia and Miklós 3 4 ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
2 Dedicated with affection to my beloved parents Cecilia and Miklós 3 4
Termination Checker and Knuth-Bendix Completion Tools for Maude Equational Specifications
, 2000
"... This document explains the design and use of a termination checker tool and of a Knuth-Bendix completion tool. The termination checker tool checks whether an equational specication terminates, and the Knuth-Bendix completion tool tries to complete an equational speci- cation. These tools can be used ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
This document explains the design and use of a termination checker tool and of a Knuth-Bendix completion tool. The termination checker tool checks whether an equational specication terminates, and the Knuth-Bendix completion tool tries to complete an equational speci- cation. These tools can be used to prove the termination or to complete order-sorted equational specications in Maude [7, 6, 4]. The tools have been written entirely in Maude and are in fact executable specications in rewriting logic [17] of the formal inference system that they implement. The fact that rewriting logic is reective [8, 3], and that Maude eciently supports reective rewriting logic computations [5, 4] is systematically exploited in the design of the tools. Contents 1
Maude's Module Algebra
, 2000
"... The reflective capabilities of rewriting logic and their efficient implementation in the Maude language can be exploited to endow a reflective language like Maude with a module algebra in which structured theories can be combined and transformed by means of a rich collection of module operations. We ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
The reflective capabilities of rewriting logic and their efficient implementation in the Maude language can be exploited to endow a reflective language like Maude with a module algebra in which structured theories can be combined and transformed by means of a rich collection of module operations. We have followed this approach and we have used the specification of such a module algebra as its implementation, including a user interface and an execution environment for it. The high level at which the specification of the module algebra has been given makes this approach particularly attractive when compared to conventional implementations, because of its shorter development time and the greater flexibility, maintainability, and extensibility that it affords. We explain the general principles of the reflective design of the module algebra and explain the categorical semantics of parameterized theories, modules and views and their instantiation, and the reflective algebraic specification of the different module and view operations.
The Control Layer in Open Mechanized Reasoning Systems: Annotations and Tactics
, 2000
"... We are interested in developing a methodology for integrating mechanized reasoning systems such as Theorem Provers, Computer Algebra Systems, and Model Checkers. Our approach is to provide a framework for specifying mechanized reasoning systems and to use specifications as a starting point for integ ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We are interested in developing a methodology for integrating mechanized reasoning systems such as Theorem Provers, Computer Algebra Systems, and Model Checkers. Our approach is to provide a framework for specifying mechanized reasoning systems and to use specifications as a starting point for integration. We build on top of the work presented in Giunchiglia et al. (1994) which introduces the notion of Open Mechanized Reasoning Systems (OMRS) as a specification framework for integrating reasoning systems. An OMRS specification consists of three components: the logic component, the control component, and the interaction component. In this paper we focus on the control level. We propose to specify the control component by first adding control knowledge to the data structures representing the logic by means of annotations and then by specifying proof strategies via tactics. To show the adequacy of the approach we present and discuss a structured specification of constraint contextual rewriting as a set of cooperating specialized reasoning modules.
The Reflective Design of Maude's Module Algebra
, 2000
"... In the present paper we discuss how the use of a reflective logic like rewriting logic can change the current way of looking at module operations and to their implementation in declarative languages. We present our experience applying such ideas to the Maude system. ..."
Abstract
- Add to MetaCart
In the present paper we discuss how the use of a reflective logic like rewriting logic can change the current way of looking at module operations and to their implementation in declarative languages. We present our experience applying such ideas to the Maude system.

