Results 1  10
of
37
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...
Higherorder Unification via Explicit Substitutions (Extended Abstract)
 Proceedings of LICS'95
, 1995
"... Higherorder unification is equational unification for βηconversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the λσcal ..."
Abstract

Cited by 102 (13 self)
 Add to MetaCart
Higherorder unification is equational unification for βηconversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the λσcalculus of explicit substitutions.
Equations and rewrite rules: a survey
 In Formal Language Theory: Perspectives and Open Problems
, 1980
"... bY ..."
Theorem Proving Modulo
 Journal of Automated Reasoning
"... Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first ..."
Abstract

Cited by 75 (14 self)
 Add to MetaCart
Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first contribution of this paper is to define a sequent calculus modulo that gives a proof theoretic account of the combination of computations and deductions. The congruence on propositions is handled via rewrite rules and equational axioms. Rewrite rules apply to terms and also directly to atomic propositions. The second contribution is to give a complete proof search method, called Extended Narrowing and Resolution (ENAR), for theorem proving modulo such congruences. The completeness of this method is proved with respect to provability in sequent calculus modulo. An important application is that higherorder logic can be presented as a theory modulo. Applying the Extended Narrowing and Resolution method to this presentation of higherorder logic subsumes full higherorder resolution.
OracleBased Checking of Untrusted Software
, 2001
"... We present a variant of ProofCarrying Code (PCC) in which the trusted inference rules are represented as a higherorder logic program, the proof checker is replaced by a nondeterministic higherorder logic interpreter and the proof by an oracle implemented as a stream of bits that resolve the nondet ..."
Abstract

Cited by 55 (3 self)
 Add to MetaCart
We present a variant of ProofCarrying Code (PCC) in which the trusted inference rules are represented as a higherorder logic program, the proof checker is replaced by a nondeterministic higherorder logic interpreter and the proof by an oracle implemented as a stream of bits that resolve the nondeterministic interpretation choices. In this setting, ProofCarrying Code allows the receiver of the code the luxury of using nondeterminism in constructing a simple yet powerful checking procedure. This oraclebased variant of PCC is able to adapt quite naturally to situations when the property being checked is simple or there is a fairly directed search procedure for it. As an example, we demonstrate that if PCC is used to verify type safety of assembly language programs compiled from Java source programs, the oracles that are needed are on the average just 12% of the size of the code, which represents an improvement of a factor of 30 over previous syntactic representations of PCC proofs. ...
Efficient Representation and Validation of Logical Proofs
, 1997
"... This report describes a framework for representing and validating formal proofs in various axiomatic systems. The framework is based on the Edinburgh Logical Framework (LF) but is optimized for minimizing the size of proofs and the complexity of proof validation, by removing redundant representation ..."
Abstract

Cited by 44 (6 self)
 Add to MetaCart
This report describes a framework for representing and validating formal proofs in various axiomatic systems. The framework is based on the Edinburgh Logical Framework (LF) but is optimized for minimizing the size of proofs and the complexity of proof validation, by removing redundant representation components. Several variants of representation algorithms are presented with the resulting representations being a factor of 15 smaller than similar LF representations. The validation algorithm is a reconstruction algorithm that runs about 7 times faster than LF typechecking. We present a full proof of correctness of the reconstruction algorithm and hints for the efficient implementation using explicit substitutions. We conclude with a quantitative analysis of the algorithms. This research was sponsored in part by the Advanced Research Projects Agency CSTO under the title "The Fox Project: Advanced Languages for Systems Software," ARPA Order No. C533, issued by ESC/ENS under Contract No. F1...
Type inference and semiunification
 In Proceedings of the ACM Conference on LISP and Functional Programming (LFP ) (Snowbird
, 1988
"... In the last ten years declarationfree programming languages with a polymorphic typing discipline (ML, B) have been developed to approximate the flexibility and conciseness of dynamically typed languages (LISP, SETL) while retaining the safety and execution efficiency of conventional statically type ..."
Abstract

Cited by 25 (6 self)
 Add to MetaCart
In the last ten years declarationfree programming languages with a polymorphic typing discipline (ML, B) have been developed to approximate the flexibility and conciseness of dynamically typed languages (LISP, SETL) while retaining the safety and execution efficiency of conventional statically typed languages (Algol68, Pascal). These polymorphic languages can be type checked at compile time, yet allow functions whose arguments range over a variety of types. We investigate several polymorphic type systems, the most powerful of which, termed MilnerMycroft Calculus, extends the socalled letpolymorphism found in, e.g., ML with a polymorphic typing rule for recursive definitions. We show that semiunification, the problem of solving inequalities over firstorder terms, characterizes type checking in the MilnerMycroft Calculus to polynomial time, even in the restricted case where nested definitions are disallowed. This permits us to extend some infeasibility results for related combinatorial problems to type inference and to correct several claims and statements in the literature. We prove the existence of unique most general solutions of term inequalities, called most general semiunifiers, and present an algorithm for computing them that terminates for all known inputs due to a novel “extended occurs check”. We conjecture this algorithm to be
Unification of Infinite Sets of Terms Schematized by Primal Grammars
 Theoretical Computer Science
, 1996
"... Infinite sets of terms appear frequently at different places in computer science. On the other hand, several practically oriented parts of logic and computer science require the manipulated objects to be finite or finitely representable. Schematizations present a suitable formalism to manipulate fin ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
Infinite sets of terms appear frequently at different places in computer science. On the other hand, several practically oriented parts of logic and computer science require the manipulated objects to be finite or finitely representable. Schematizations present a suitable formalism to manipulate finitely infinite sets of terms. Since schematizations provide a different approach to solve the same kind of problems as constraints do, they can be viewed as a new type of constraints. The paper presents a new recurrent schematization called primal grammars. The main idea behind the primal grammars is to use primitive recursion as the generating engine of infinite sets. The evaluation of primal grammars is based on substitution and rewriting, hence no particular semantics for them is necessary. This fact allows also a natural integration of primal grammars into Prolog, into functional languages or into other rewritebased applications. Primal grammars have a decidable unification problem and ...
CLARE: a contextual reasoning and cooperative response framework for the Core Language Engine
, 1992
"... SRI, with some discussion of experimentation with the software by the other partners. Lowlevel interfacing issues and a guide to using the system are covered in a manual provided with the final release of the software. The project also involved a study by Cambridge University Computer Laboratory on ..."
Abstract

Cited by 22 (3 self)
 Add to MetaCart
SRI, with some discussion of experimentation with the software by the other partners. Lowlevel interfacing issues and a guide to using the system are covered in a manual provided with the final release of the software. The project also involved a study by Cambridge University Computer Laboratory on evaluating natural language processing systems. A digest of the report for this study appears at the end of the present report. CLARE was designed as a natural language processing system with facilities for reasoning and understanding in context and for generating cooperative responses. The work plan for the project required both further development of the Core Language Engine (CLE) natural language processor and the design and implementation of new components for reasoning and response generation. All the milestones set in the project plan were achieved, the final system including the following capabilities: • Wider coverage of English syntax and semantics than the original CLE system. This is quantified in the report.
Natural Language Syntax and First Order Inference
 ARTIFICIAL INTELLIGENCE
, 1992
"... We have argued elsewhere that first order inference can be made more efficient by using nonstandard syntax for first order logic. In this paper we define a syntax for first order logic based on the structure of natural language under Montague semantics. We show that, for a certain fairly expressive ..."
Abstract

Cited by 16 (8 self)
 Add to MetaCart
We have argued elsewhere that first order inference can be made more efficient by using nonstandard syntax for first order logic. In this paper we define a syntax for first order logic based on the structure of natural language under Montague semantics. We show that, for a certain fairly expressive fragment of this language, satisfiability is polynomial time decidable. The polynomial time decision procedure can be used as a subroutine in general purpose inference systems and seems to be more powerful than analogous procedures based on either classical or taxonomic syntax.