46 citations found. Retrieving documents...
L.Paulson. A Higher-order Implementation of Rewriting. Science of Computer Programming, 3:119-149, 1983.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Tactics in KIV - Reif, Schellhorn, Stenzel (1994)   (1 citation)  (Correct)

....the advantage that only correct tactics can be written. The disadvantage is as already noted that deriving premises by logical deduction steps is often extremely inecient. This eciency problem has led e.g. the implementors of Isabelle to replace an older implementation of the rewriting tactic ( Pau83] by an elementary deduction step which constructs no correctness proof. Another characteristic di erence of the KIV System compared to other tactical theorem provers is the way in which tactics are used. In most tactical theorem provers tactics are applied to a global proof state by an explicit ....

L. C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3, 1983.


Typed Combinators for Generic Traversal - Lämmel, Visser (2002)   (1 citation)  (Correct)

....of our strategies, but the current paper shows that strategies can be modelled within a language like Haskell without type system extensions. The origins of functional strategies The term strategy and our conception of generic programming were largely influenced by strategic term rewriting [18, 20, 16]. In particular, the overall idea to define traversal schemes in terms of basic generic combinators like all and one has been adopted from the untyped language Stratego [20] for strategic term rewriting. Our contribution is that we integrate this idea with typed and higher order functional ....

L. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3(2):119-149, Aug. 1983.


The Essence of Strategic Programming - Lämmel, Visser, Visser (2002)   (1 citation)  (Correct)

....Usually some sort of control is associated to this use, but not the means to cater for generic access to components of heterogeneous data structures. Rewriting strategies (represented as higher order functions) are used in the LCF theorem prover to describe proof tactics and tacticals [34]. Programmable evaluation strategies are used in term rewriting [8,2] Strategies in the sense of [35] target the synthesis of parallel functional programs. Our use of the term strategy starts with the work on traversal strategies a la Stratego [30,40] Obviously, calculi tend to overlap to some ....

L. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3(2):119--149, Aug. 1983.


Typed Combinators for Generic Traversal - Lämmel, Visser (2002)   (1 citation)  (Correct)

....of our strategies, but the current paper shows that strategies can be modelled within a language like Haskell without type system extensions. The origins of functional strategies The term strategy and our conception of generic programming were largely in uenced by strategic term rewriting [18, 20, 16]. In particular, the overall idea to de ne traversal schemes in terms of basic generic combinators like all and one has been adopted from the untyped language Stratego [20] for strategic term rewriting. Our contribution is that we integrate this idea with typed and higher order functional ....

L. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3(2):119-149, Aug. 1983.


The Essence Of Strategic Programming - An inquiry into.. - Lämmel, Visser, Visser (2002)   (Correct)

....access to the subcomponents of heterogeneously typed data structures. Strategic programming The need for control over evaluation and traversal strategies in di erent areas of computing, has led to a number of innovations, including rewriting strategies for tactics and tacticals in theorem proving [58], generalized folds [53] visitors [20] propagation patterns [47] and traversal functions [10] In previous work [49, 64, 38, 44, 65] we have built on these innovations, culminating in a programming style which we have termed strategic programming. We have worked out detailed realizations of ....

L. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3(2):119-149, Aug. 1983. 3


A Tool to Support Formal Reasoning about Computer Languages - Boulton (1997)   (2 citations)  (Correct)

....the semantic definitions in the logic are functions that map a logical term to an equational theorem between that term and a new term. These conversions are built up from applications of rewrite rules using combinators for congruence rules, sequencing, etc. This approach was suggested by Paulson [21] and is heavily used in the HOL system. Part of the conversion for commands in the example language is illustrated below. fun denofcomCONV keyeqconv tm = case constructorofdenapp (rator tm) of . ImpBlock = RATORCONV BlockREWR THENC TRYCONV (BINDSCONV (denofcomsCONV keyeqconv) ....

L. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


A Metatheory of a Mechanized Object Theory - Giunchiglia, Traverso (1992)   (9 citations)  (Correct)

....machinery, and therefore, without explicitly adding axioms to MT. Finally we have just started to investigate how to use MT to synthesize interesting tactics effectively. We have started to develop a set of rewriting functions similar to those implemented in Cambridge LCF and described in [46]. Our goal is to perform in MT a similar kind of reasoning to that performed in proof planning [10] 43 11 Related work Compared to the previous research in metalevel theorem proving, the work described in this paper is limited in at least three respects. First, it does not allow the use of ....

Lawrence C. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3:119--149, 1983.


A Machine-Checked Theory of Floating Point Arithmetic - Harrison (1999)   (17 citations)  (Correct)

....fmt, rounding mode rc and rational number r. Evaluate Val(a) for a particular floating point number a. Prove that a particular floating point value is non exceptional, i.e. return a theorem finite(a) for a particular floating point number a. We have implemented HOL conversions (see [15] for more on conversions) to do all these, and a few other operations too. Now, explicit details of this sort can be disposed of automatically. For example, the conversion ROUND CONV takes rounding parameters and a rational number to be rounded and not only returns the answer , but also a ....

L. C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Types for Proofs and Programs - Grobauer (1999)   (Correct)

....door to implementing all kinds of proof search strategies solely by combining tactics with tacticals. Many LCF style theorem provers o er a basic simpli cation tactic which performs higherorder rewriting. A popular way to implement these so called simpli ers is based on the notion of conversions [60]: A conversion takes some term t and produces a theorem of form t = u, where u should be simpler than t . Just as tactics are combined by tacticals, basic conversions can be combined into more sophisticated conversions by suitable higher order functions. Built in simpli cation procedures and ....

Lawrence C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119-149, 1983.


System Support for the Interactive Transformation of.. - Partsch, Schulte.. (2002)   (1 citation)  (Correct)

....is defined in the following way: monoid op e neutral op e; associative op Tactics. The user can transform a program by repeatedly searching and applying adequate transformation rules. This labour intensive process can be partly controlled and automated using tactics and tactic combinators [11]. A tactic is a function that maps some term into a new term. From an abstract point of view, any transformation rule can be regarded as a tactic. Tactic combinators handle the composition of tactics. The most common combinators are: ffl t 1 andT t 2 : try to apply tactic t 1 , if successful try ....

L. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


An Overview of the Tecton Proof System - Kapur, Musser, Nie (1992)   (6 citations)  (Correct)

....the user must often carry out proofs in excruciating detail. The inference engine of PVS does contain a collection of decision procedures for ground theories [35] but rewriting is not fully automated. The rewriting capability in HOL is adapted from the LCF implementation of rewriting [37]. There is no automatic application of rewrite rules; each equational theorem to be used as a rewrite rule must be named explicitly. 4 In Tecton, by contrast, rules are applied automatically and there may be hundreds or thousands of rewrites taking place in a proof without the user s direct ....

L.C. Paulson, "A Higher-Order Implementation of Rewriting," Science of Computer Programming, 1983.


ELAN for Equational Reasoning in Coq - Alvarado, Nguyen (2000)   (2 citations)  (Correct)

....Independently S. Boutin successfully used re ection to implement in Coq a fast decision procedure based on normalization of ring terms (Boutin, 1997) In HOL (Gordon Melham, 1993) rewriting is handled using conversions, i.e. specialized tactics. This mechanism, which comes back from LCF (Paulson, 1983) is easy to use and expressive. Reasonable performance is achieved because of the abstract nature of the type of theorems (thm) Recording primitive inference steps is useless in HOL. Thus, a ML tactic can apply a large number of those steps at an a ordable price. Isabelle have even more powerful ....

Paulson, Laurence C. (1983). A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3, 119-149.


A Tool to Support Formal Reasoning about Computer Languages - Boulton (1996)   (2 citations)  (Correct)

....the semantic definitions in the logic are functions that map a logical term to an equational theorem between that term and a new term. These conversions are built up from applications of rewrite rules using combinators for congruence rules, sequencing, etc. This approach was suggested by Paulson [Pau83] and is heavily used in the HOL system. Part of the conversion for commands in the example language is illustrated below. fun denofcomCONV keyeqconv tm = case constructorofdenapp (rator tm) of . ImpBlock = RATORCONV BlockREWR THENC TRYCONV (BINDSCONV (denofcomsCONV keyeqconv) ....

L. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


The Functional Guts of the Kleisli Query System - Wong (2000)   (Correct)

....relational database systems. 2 Thus the use of higher order functions greatly simplifies the implementation of the current Kleisli optimizer, compared to the original optimizer from [34] The author is not the first to discover this particular method of implementing rewrite strategies; Paulson [23] and Spivey [28] presented similar ideas. 4 Impact on Bioinformatics Until recently, biological sequence databases were built by biologists. When sequence databases were first created the amount of data was small and it was important that the database entries were human readable. Database ....

L. C. Paulson. A higher-order implementation of rewriting. Sci. Comput. Prog., 3:119--49, 1983.


The HOL Light manual (1.1) - Harrison (2000)   (4 citations)  (Correct)

....F ; it : term = x = F # x = F ; it : term = x = F Chapter 8 Conversions A conversion in HOL is a derived rule of type term thm that when given a term t, always returns (assuming it doesn t fail) a theorem of the form t = t . Conversions were introduced into Cambridge LCF by Paulson (1983), who showed that they gave a convenient and regular way of implementing many handy derived rules. Conversions can be considered as transforming a term into an equal one, and also giving a theorem to justify this equality. They are therefore useful as building blocks for larger transformations, ....

Paulson, L. C. (1983) A higher-order implementation of rewriting. Science of Computer Programming , 3, 119-149.


Rewriting With Strategies In ELAN: A Functional Semantics - Borovansky, Kirchner.. (1999)   (9 citations)  (Correct)

....left most inner most outside in needed random lazy . The importance of strategies as such has been recognized since a long time. For example in LCF, The discovery of the operators THEN, ORELSE, and REPEAT, for combining tactics, was a breakthrough in the development of Edinburgh LCF [33]. In the context of rewriting, user de ned strategies have been rst introduced in the ELAN language [23] Now, in this work, we consider a rewrite rule as a function called a primal strategy, and the application of a rule as an explicit user accessible function. We thus give to the user the ....

L. C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119-149, 1983.


A Semi-Functional Implementation of a Higher-Order Logic.. - Elliott, Pfenning (1990)   (30 citations)  (Correct)

....on a particular execution and can give a warning in such a case, if desired. 8. 3 Rewriting Because we are using transformations as a fundamental structuring device in the implementation of uni cation, we adopted a very elegant technique from Paulson s higher order implementation of rewriting [27], which itself was patterned after the tactics and tacticals in LCF [13] Because we are not 31 worried about having our implementation prove the correctness of applications of its transformations, we can use a somewhat simpler implementation than in [27] The basic kind of object we deal with we ....

.... higher order implementation of rewriting [27] which itself was patterned after the tactics and tacticals in LCF [13] Because we are not 31 worried about having our implementation prove the correctness of applications of its transformations, we can use a somewhat simpler implementation than in [27]. The basic kind of object we deal with we call a rewriter, which is simply a partial function from some type to itself partial because it may fail to apply (which is communicated by a raised exception) as well as fail to terminate. Thus we have simply type a rewriter = a a The exception ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programing, 3:119-149, 1983. 43


The HOL Light manual (1.0) - Harrison (1998)   (4 citations)  (Correct)

....it : term = x = F # x = F ; it : term = x = F Chapter 8 Conversions A conversion in HOL is a derived rule of type term thm that when given a term t, always returns (assuming it doesn t fail) a theorem of the form t = t . Conversions were introduced into Cambridge LCF by Paulson (1983), who showed that they gave a convenient and regular way of implementing many handy derived rules. Conversions can be considered as transforming a term into an equal one, and also giving a theorem to justify this equality. They are therefore useful as building blocks for larger transformations, ....

Paulson, L. C. (1983) A higher-order implementation of rewriting. Science of Computer Programming , 3, 119--149.


Constructive Category Theory - Huet, Saïbi (1998)   (16 citations)  (Correct)

....For instance, this development would benefit from efficient multi relations rewriting tactics. These tactics ought to be extensible enough to allow the user specification of rewriting strategies, and generic enough to be usable in other developments. Such tactics have already been written for LCF [11] and NuPRL [9] Their adaptation to Coq is currently under study. This logical reconstruction of the basics of category theory follows initial attempts by R. Dyckhoff[5] in Martin Lof type theory. It shows that intentional type theory is sufficient for developing this kind of mathematics, and we ....

L. C. Paulson. "A higher order implementation of rewriting." Science of Comuter Programming, 3:119-149, 1983.


Machine-Assisted Theorem-Proving for Software Engineering - Martin (1994)   (6 citations)  (Correct)

....benefit of this method of handling backtracking and failure is the avoidance of any need to consider exception handling. Moreover this tactic language may be applied to another idea in the theoremproving world: in LCF HOL, rewriting is extensively used for simplification in theorem proving. In [Pau83] Paulson describes a means of directing such conversions using combinators which closely mirror those present in the tactic language. A unified theory of such combinators tacticals may make implementation easier, and certainly makes for a more straightforward conceptual framework. 8.3 Further ....

L. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3(2):119--149, 1983.


Kleisli, a Functional Query System - Wong (1998)   (Correct)

.... the use of higher order functions greatly simplifies the implementation of the current Kleisli optimizer (Wong, 1995c) compared the original optimizer from (Wong, 1994) It should be mentioned that the author is not the first to discover this particular method of implementing rewrite strategies; Paulson (1983) and Spivey (1990) presented similar ideas before. 5 Optimization and Performance Many optimizations emphasized in Kleisli are not traditionally studied in functional programming languages or in database management systems. This section uses an example query that joins two relational databases to ....

Paulson, L. C. (1983). A higher-order implementation of rewriting. Science of Computer Programming, 3, 119--49.


Incremental Computation: A Semantics-Based Systematic.. - Liu (1996)   (2 citations)  (Correct)

....a rewrite engine that can apply a set of transformations repeatedly to a subtree in a certain traversal order. With such an engine, repeated invocation of transformations in certain fixed patterns can be easily automated, saving both programmers and users effort. Higher order term rewrite [Pau83] offers a framework for defining such rewrites. What needs to be provided is the ability to automatically interleave such repeated rewrite with incremental attribute evaluation. 98 6.2.2 External input as annotation Program transformations are often semi automatic and involve interaction with ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Generalized Rewriting in Type Theory - Basin   (Correct)

....the database. The overall package is highly modular; conversions can be put together in numerous ways, allowing the user to construct sophisticated rewrite strategies. Section 3 details our implementation and illustrates the power of our approach with examples. Our package is similar to Paulson s [16] 2 . Both are collections of ML programs that can be applied in a modular higher order style and many of the combinators are functionally identical. However, our package differs in two important respects. First, Paulson s package allows rewriting only over two congruence relations: term equality ....

....are constructed and composed. Our approach provides operators that construct conversions using primitive inference rules and lemmas and provides combinators that build conversions from simpler ones. This modular higher order approach to rewriting originated with Paulson who provides an account in [16]. See also Nipkow for a different account based on higher order unification [15] Rather than duplicate parts of Paulson s account, we shall instead focus on what is novel about our approach: how we coordinate rewrites over arbitrary relations and our use of lemmas to direct inference and ....

Lawrence C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Nuprl and its Use in Circuit Design - Jackson (1992)   (2 citations)  (Correct)

....[10] We hope to verify this implementation using our work on reflection. See section 3.4 for details. 3.3.5 Rewriting Term rewriting is a very useful technique for theorem proving. Some systems base all their reasoning on rewriting [14] Nuprl has a term rewriting package using conversions [25]. Conversions form a very high level modular language for building rewriting strategies. The style of this language is similar to that of the tactic language. Simple conversions are combined into more sophisticated ones using conversionals. Conversions provide a lot of control over the rewrite ....

Lawrence C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


A Verified Vista Implementation - Curzon (1993)   (2 citations)  (Correct)

....in place of the numbers. The theorem holds for all values of the variables: APPEND [m; n] p; q] m; n; p; q] Similar tools can be built for any HOL definition and in particular for those of a compiler algorithm. The tools used to perform execution of definitions in this way are conversions [44]. Given a term in the logic they return a theorem expressing an equality between that term and another. Various tools are available in HOL for creating rewriting conversions for a particular definition and for combining conversions. Thus tools for executing compiler definitions are straightforward ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


A Formalization of the Process Algebra CCS in Higher Order Logic - Nesi (1992)   (13 citations)  (Correct)

....it; or one can use the function prove thm which takes a string s, a boolean term t and a tactic tac, and attempts to prove the goal t by applying tac. If it succeeds, the resulting theorem is saved under the name s in the current theory. The hol system also provides functions called conversions [32], that map terms t to theorems expressing the equality of that term with some other term, t = u. Various builtin conversions and operators for constructing conversions from smaller ones, and several tactics and operators for constructing tactics from smaller ones and from conversions, have ....

Paulson, L. C., `A Higher-Order Implementation of Rewriting', Science of Computer Programming 3, 1983, pp. 119--149.


Metalogical Frameworks - Basin, Constable (1992)   (27 citations)  (Correct)

....defined function is equal to some normal form, e.g. hd( 1; 2; 3] 1. This kind of computation via rewriting can be automated and made fairly efficient. In [27] Howe gives an example of how this kind of equality simplification can be automated by rewrite tactics similar to Paulson s conversions [41] and moreover how this can be accomplished (using derived inference rules) without direct construction of the corresponding equality proof. It would be interesting to study an alternative approach to computational equality in which direct computation rules are expressed in the ADT, perhaps in a ....

Lawrence C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


A Comparison of HOL and ALF Formalizations of a.. - Agerholm, Beylin, Dybjer (1996)   (2 citations)  (Correct)

....in Agerholm [1] The overall idea is to use a theorem stating that two arrows are equal as a rewrite rule. Due to the congruence rules for arrow equality we can apply the rewrite rule to subexpressions. This means that we can use ideas similar to Paulson s higher order conversions for rewriting [18] to make this tool support for arrow equality. In addition to tedious equality reasoning, another more subtle problem in the ALF proof was that we had to cope with a difficulty which arose as a consequence of the treatment of equality in intensional type theory. In the theorem nf (A, B BW; f ....

L. C. Paulson. A higher order implementation of rewriting. Science of Computer Programming, 3, 1983.


Desiderata for Interactive Verification Systems - Slind, Prehofer (1994)   (Correct)

....occur negatively ought to be treatable as universals by higher level inference rules. ffl Higher order rewriting. Higher order rewriting allows one to rewrite underneath bound variables. In practice, the most successful approach to higher order rewriting is Paulson s congruence based rewriting[Pau83] In the higher order setting, the theory and practice of equational reasoning has not yet been fully worked out. In particular, we want to lift useful first order methods to higher order by using higher order unification and matching. Difficulties arise because the number of matchers unifiers is ....

Lawrence Paulson. A higher order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


A Semi-Functional Implementation of a Higher-Order Logic.. - Elliott (1991)   (30 citations)  (Correct)

....on a particular execution and can give a warning in such a case, if desired. 8. 3 Rewriting Because we are using transformations as a fundamental structuring device in the implementation of unification, we adopted a very elegant technique from Paulson s higher order implementation of rewriting [27], which itself was patterned after the tactics and tacticals in LCF [13] Because we are not worried about having our implementation prove the correctness of applications of its transformations, we can use a somewhat simpler implementation than in [27] The basic kind of object we deal with we ....

.... higher order implementation of rewriting [27] which itself was patterned after the tactics and tacticals in LCF [13] Because we are not worried about having our implementation prove the correctness of applications of its transformations, we can use a somewhat simpler implementation than in [27]. The basic kind of object we deal with we call a rewriter, which is simply a partial function from some type to itself partial because it may fail to apply (which is communicated by a raised exception) as well as fail to terminate. Thus we have simply type a rewriter = a a The ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programing, 3:119--149, 1983.


Formalization of the Development Process - Basin, Krieg-Brückner (1998)   (Correct)

....be confluent or even terminating. Below we consider a standard approach for implementing rewriting in a tactic based setting in which rewriting can be programmed in a structured and modular way. The idea goes back to the implementation of rewriting functions called conversions in the LCF system [Pau83,Pau87] To ease our presentation, we will give a slightly simplified account of conversions; implementations in the spirit of what is described here have been carried out in the LCF, HOL, Nuprl, and Isabelle systems. Primitive conversions. We shall assume that a tactic programming language, such ....

Lawrence C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Enhancing the Nuprl Proof Development System and Applying it to.. - Jackson (1995)   (42 citations)  (Correct)

.... have called rippling strategies, since the changes effected by rewrite rules propagate around term trees like ripples on a pond [BvHH 89, BvHSI90] To provide systematic control of rewriting in the LCF proof development system, Paulson introduced a language of conversions and conversionals [Pau83a, Pau87] reminiscent of the language of tactics and tacticals, which allows the piecing together of rewrite strategies from sets of rewrite rules. Conversional languages 56 have been adopted in the HOL system [GM93] in Paulson s Isabelle system, in rewrite tactics written for Nuprl V3 [CH90, ....

Lawrence C. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Formalizing a Proof of Coherence for Monoidal Categories - Agerholm (1996)   (Correct)

....as informal proofs on paper. The user does not have to worry about applying transitivity, congruence and associativity rules, only about specifying the main steps, just like in a paper and pencil proof. The ideas for the tool support are inspired by Paulson s higher order conversions for rewriting [11] and might be useful for other purposes than category theory. They only require the presence of a congruence (i.e. equality like) relation as in, for instance, bisimularity proofs in program verification. Below, we first give a brief introduction to category theory in Section 2 and to the HOL ....

....such expressions. That is, a theorem stating that two arrows are equal can be used to rewrite an arrow expression, in particular inside the arrow expression, due to the congruence rules for arrow equality. This means that we can use ideas similar to Paulson s higher order conversions for rewriting [11] to make tool support for rewriting with arrow equality. Equality rules, both axiomatized and derived rules, can be turned into conversions directly and these conversions can then be combined using various higher order conversions to support a wide range of reduction strategies. As a more ....

L. C. Paulson. A higher order implementation of rewriting. Science of Computer Programming, 3, 1983.


Verification de l'equivalence du pi-calcul dans HOL - AIT-MOHAMED (1994)   (Correct)

....d esir e en sauvegardant a chaque etape la justification par laquelle on a accomplit la transformation d un but en un ensemble de sous buts. Cette fa con de trouver la preuve r eincarne le vieux concept: diviser pour r egner . Le syst eme HOL fournit un autre type de fonction appel e conversion [24]. Ce type de fonction met en correspondance un terme t avec un autre terme u au moyen du th eor eme t = u. Cet outil s av ere tr es utile dans la d efinition de strat egies de simplification de termes compliqu es. Souvent, la d efinition de ces strat egies est bas ee sur des conversions plus ....

L C Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


CACHET: An interactive, incremental-attribution-based program.. - Liu   (Correct)

....on the current tree and preparing a new subtree for recursive transformations. Finally, a metalanguage for complex tree transformations should include a rewrite engine that can apply a set of transformations repeatedly to a subtree in a certain traversal order. Higher order term rewriting [27] offers a framework for defining such rewrites. What needs to be provided is the ability to automatically interleave such repeated rewriting with incremental attribute evaluation. 2.2 External input as annotation Program transformations are often semi automatic and involve interaction with users ....

L. Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Of What Use is a Verified Compiler Specification? - Curzon (1992)   (1 citation)  (Correct)

....in place of the numbers. The theorem holds for all values of the variables: APPEND [m; n] p; q] m; n; p; q] Similar tools can be built for any HOL definition and in particular for those of a compiler algorithm. The tools used to perform execution of definitions in this way are conversions [30]. Given a term in the logic they return a theorem expressing an equality between that term and another. Various tools are available in HOL for creating rewriting conversions for a particular definition and for combining conversions. Thus tools for executing compiler definitions are ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Verifying the Unification Algorithm in LCF - Paulson (1985)   (15 citations)  Self-citation (Paulson)   (Correct)

....Nearly any tactic can be expressed in terms of other tactics and tacticals, without requiring low level ML code that explicitly builds lists of subgoals. Cambridge LCF uses same approach for rewriting: simplifiers are expressed in terms of rewriting primitives and operators for combining them [21]. 3.4 Recursive data structures PPLAMBDA can express theories of a variety of common data structures, such as the natural numbers, lists and trees. Data structures can be infinite (lazy) or finite, and mutually recursive; sometimes you can impose equational constraints and produce a quotient ....

....t OCCS (CONST c) TT =# (t SUBST s) OCCS ( CONST c) SUBST s) ##TT =# (t SUBST s) OCCS (# SUBST s) 14 As usual, induction has given goals that can be simplified by unfolding function definitions. The LCF tactic ASM REWRITE TAC uses a list of theorems to rewrite the goal [21]. The axiom OCCS CLAUSES is a conjunction containing several rewrite rules, one for and one for each term constructor: A theorem of the form A 1 =#=# A n =# t u is an implicative rewrite; the rewriting tactic replaces t by u whenever it can prove every A i . The ....

L. C. Paulson, A higher-order implementation of rewriting, Science of Computer Programming 3 (1983) 119--149.


A Pragmatic Approach to Extending Provers by Computer.. - Ballarin, Paulson (1999)   (5 citations)  Self-citation (Paulson)   (Correct)

....at the end of Section 5.1. It involves checking the irreducibility of the polynomial and a number of divisibility tests. We turn this tactic into a simplification procedure. This is a function that maps a term to a rewrite rule. Simplification procedures have been introduced as conversions by [Paulson, 1983]. The simplification procedure F2PolyPrimitive proc, which we obtain, maps a polynomial p to the theorem primitive p j True. Simplification procedures can be added to Isabelle s rewriter, together with a pattern, here primitive p. During a rewrite, when the pattern matches the current redex, the ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


A Pragmatic Approach to Extending Provers by Computer.. - Ballarin, Paulson (1999)   (5 citations)  Self-citation (Paulson)   (Correct)

....at the end of Section 5.1. It involves checking the irreducibility of the polynomial and a number of divisibility tests. We turn this tactic into a simplification procedure. This is a function that maps a # term to a rewrite rule. Simplification procedures have been introduced as conversions by [Paulson, 1983]. The simplification procedure F2PolyPrimitive proc, which we obtain, maps a polynomial p to the theorem primitive p # True. Simplification procedures can be added to Isabelle s rewriter, together with a pattern, here primitive p. During a rewrite, when the pattern matches the current redex, the ....

Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119--149, 1983.


Mechanizing Proof for the Z Toolkit - Arthan Lemma Ltd   (Correct)

No context found.

L.Paulson. A Higher-order Implementation of Rewriting. Science of Computer Programming, 3:119-149, 1983.


Strategic Programming Meets Adaptive Programming - Lämmel, Visser, Visser (2003)   (Correct)

No context found.

L. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3(2):119--149, Aug. 1983.


A Thread of HOL Development - Norrish, Slind (2002)   (1 citation)  (Correct)

No context found.

Lawrence Paulson. A higher order implementation of rewriting. Science of Computer Programming, 3:119{ 149, 1983.


Typed Combinators for Generic Traversal - Lämmel, Visser (2002)   (1 citation)  (Correct)

No context found.

L. Paulson. A Higher-Order Implementation of Rewriting. Science of Computer Programming, 3#2#:119# 149, Aug. 1983.


Procédures De Décisions Dans Les Systèmes.. - Boutin   (Correct)

No context found.

L. Paulson, A higher-order implementation of rewriting, Science of Computer Programming, vol 3 (1983), pp 119-149.


Planning for Behaviour-Based Robotic Assembly: A Logical Framework - Cranefield (1990)   (Correct)

No context found.

Paulson, L. C. (1983), "A Higher-Order Implementation of Rewriting", Science of Computer Programming 3, pp. 119--149.


Mechanizing Programming Logics in Higher Order Logic - Gordon (1988)   (67 citations)  (Correct)

No context found.

Paulson, L.C., `A higher-order implementation of rewriting', Science of Computer Programming 3, pp 143-170, 1985.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC