Results 1 - 10
of
11
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.
Comparing Logics for Rewriting: Rewriting logic, action calculi and tile logic
- Theoretical Computer Science
, 2002
"... The large diffusion of concurrent and distributed systems has spawned in recent years a variety of new formalisms, equipped with features for supporting an easy specification of such systems. The aim of our paper is to analyze three proposals, namely rewriting logic, action calculi and tile logic, c ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
The large diffusion of concurrent and distributed systems has spawned in recent years a variety of new formalisms, equipped with features for supporting an easy specification of such systems. The aim of our paper is to analyze three proposals, namely rewriting logic, action calculi and tile logic, chosen among those formalisms designed for the description of rule-based systems. For each of these logics we first try to understand their foundations, then we briefly sketch some applications. The overall goal of our work is to find out a common layout where these logics can be recast, thus allowing for a comparison and an evaluation of their specific features.
Executable Tile Specifications for Process Calculi
, 1999
"... . Tile logic extends rewriting logic by taking into account sideeffects and rewriting synchronization. These aspects are very important when we model process calculi, because they allow us to express the dynamic interaction between processes and "the rest of the world". Since rewriting logic is the ..."
Abstract
-
Cited by 12 (9 self)
- Add to MetaCart
. Tile logic extends rewriting logic by taking into account sideeffects and rewriting synchronization. These aspects are very important when we model process calculi, because they allow us to express the dynamic interaction between processes and "the rest of the world". Since rewriting logic is the semantic basis of several language implementation efforts, an executable specification of tile systems can be obtained by mapping tile logic back into rewriting logic, in a conservative way. However, a correct rewriting implementation of tile logic requires the development of a metalayer to control rewritings, i.e., to discard computations that do not correspond to any deduction in tile logic. We show how such methodology can be applied to term tile systems that cover and extend a wide-class of SOS formats for the specification of process calculi. The well-known case-study of full CCS, where the term tile format is needed to deal with recursion (in the form of the replicator operator), is di...
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.
Executing and Verifying CCS in Maude
- Dpto. Sistemas Informaticos y Programacion, Universidad Complutense de
, 2002
"... We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas, we have represented both the semantics of Milner's CCS and a modal logi ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas, we have represented both the semantics of Milner's CCS and a modal logic for describing local capabilities of CCS processes. Although a rewriting logic representation of the CCS semantics was given previously, it cannot be directly executed in the current default interpreter of Maude. Moreover, it cannot be used to answer questions such as which are the successors of a process after performing an action, which is used to dene the semantics of Hennessy-Milner modal logic. Basically, the problems are the existence of new variables in the righthand side of the rewrite rules and the nondeterministic application of the semantic rules, inherent to CCS. We show how these problems can be solved in a general, not CCS dependent way by exploiting the reective properties of rewriting logic, which allow controlling the rewriting process. We also show how the semantics can be extended to traces of actions and to the CCS weak transition relation. This executable specication plus the reective control of the rewriting process can be used to analyze CCS processes.
Specification and Verification of the Tree Identify Protocol of IEEE 1394 in Rewriting Logic
, 2003
"... We present three descriptions, at di#erent abstract levels, of the tree identify protocol from the IEEE 1394 serial multimedia bus standard. The descriptions are given using the language Maude based on rewriting logic. Particularly, the time aspects of the protocol are studied. We prove the correctn ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We present three descriptions, at di#erent abstract levels, of the tree identify protocol from the IEEE 1394 serial multimedia bus standard. The descriptions are given using the language Maude based on rewriting logic. Particularly, the time aspects of the protocol are studied. We prove the correctness of the protocol in two steps. First, the descriptions are validated by an exhaustive exploration of all the possible states reachable from an initial configuration of a network, checking that always only one leader is chosen. Then, we give a formal proof showing that the desirable properties of the protocol are always fulfilled by any network, provided that the network is connected and acyclic.
Mapping OMRS to Rewriting Logic
, 1998
"... The long-term objective of the Open Mechanized Reasoning Systems (OMRS) project is to provide a framework for specifying and structuring reasoning systems, and a technology for integrating and interoperating diverse proof systems with each other and with other software components. We structure an O ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The long-term objective of the Open Mechanized Reasoning Systems (OMRS) project is to provide a framework for specifying and structuring reasoning systems, and a technology for integrating and interoperating diverse proof systems with each other and with other software components. We structure an OMRS in three layers: the deductive machinery; strategies for controlling inference; and interaction capabilities. The underlying deduction machinery of an OMRS is described by a reasoning theory which provides a sequent system, a set of rules and an operational model given by an associated algebra of derivation structures. There is an obvious analogy between reasoning theories and rewriting logic theories. Namely, a sequent system in its simplest form corresponds to the equational part of a rewriting logic theory, reasoning theory rules correspond to the rule part of a rewriting logic theory, and the algebra of derivation structure corresponds to the proof term model of rewriting logic. The objective of this paper is to make this correspondence more precise, and to indicate how the correspondence might be used in different ways to enrich both the OMRS world and the rewriting logic world. 1
Comparing Higher-Order Encodings in Logical Frameworks and Tile Logic
, 2001
"... In recent years, logical frameworks and tile logic have been separately proposed by our research groups, respectively in Udine and in Pisa, as suitable metalanguages with higher-order features for encoding and studying nominal calculi. This paper discusses the main features of the two approaches, tr ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In recent years, logical frameworks and tile logic have been separately proposed by our research groups, respectively in Udine and in Pisa, as suitable metalanguages with higher-order features for encoding and studying nominal calculi. This paper discusses the main features of the two approaches, tracing di#erences and analogies on the basis of two case studies: late #-calculus and lazy simply typed #-calculus.
A 2-category View for Double Categories with Shared Structure
, 1999
"... 2-categories and double categories are respectively the natural semantic ground for rewriting logic (rl) and tile logic (tl). Since 2-categories can be regarded as a special case of double categories, then rl can be easily embedded into tl, where also rewriting synchronization is considered. Since ..."
Abstract
- Add to MetaCart
2-categories and double categories are respectively the natural semantic ground for rewriting logic (rl) and tile logic (tl). Since 2-categories can be regarded as a special case of double categories, then rl can be easily embedded into tl, where also rewriting synchronization is considered. Since rl is the semantic basis of several existing languages, it is useful to map tl back into rl to have an executable framework for tile specifications. We extend the results of a previous work of two of the authors, focusing on tile systems where the algebraic structures for configurations and observations rely on some common auxiliary structure (e.g., for pairing, projecting, etc.). The new model theory required to relate the categorical models of the two logics is an extended version of the theory of 2-categories, and is defined using partial membership equational logic. More concretely, this semantic mapping yields a rewriting logic implementation of tile logic, where a meta-layer is requir...
Mathematical and Engineering Foundations for Interoperability via Architecture
, 1998
"... Data Type Specification, in combination with modal logics for formalizing the process of building systems from interconnected components. This combination of logical and categorical techniques has also been applied to parallel program design languages in the style of UNITY [14] and IP [41], providin ..."
Abstract
- Add to MetaCart
Data Type Specification, in combination with modal logics for formalizing the process of building systems from interconnected components. This combination of logical and categorical techniques has also been applied to parallel program design languages in the style of UNITY [14] and IP [41], providing semantics for modularization techniques based on the notion of superposition. This has resulted in the development of a programming design language called Community [33]. Two formalisms that provide explicit support for object systems and can reason about their rewriting logic specifications have been recently developed. One is a version of the modal -calculus proposed by Lechner [48, 49] for reasoning about object-oriented Maude specifications. Another is Denker's objectoriented distributed temporal logic DTL + [24, 22], that extends the DTL and D 1 distributed object temporal logics of Ehrich and Denker [30, 23, 29]. Lechner [48, 49] uses her version of the modal -calculus to identif...

