Article View: comp.lang.prolog
Article #1595Rewriting systems in Prolog
From: L J Groves
Date: Wed, 07 Oct 1992 10:36
Date: Wed, 07 Oct 1992 10:36
39 lines
2321 bytes
2321 bytes
I am trying to write a rewriter in Prolog, as part of a program refinement system. It occurs to me that others have probably done this kind of thing, so ... Can anyone point me to any available implementations of rewriting systems in Prolog, or any published descriptions of same? Just to explain further what I want from this rewriter: I want to use the rewriter to simplify the kinds of formulas that arise as verification conditions (or proof obligations) in program development/verification. Thus, it needs to be able to handle logical connectives, arithmetic, and any other data types (sets, bags, sequences etc) that I care to define via a set of (conditional) rewrite rules. Ideally it should use AC matching to avoid the need for associativity and commutativity laws. The rewriter should simplify "obvious" formulas to true, and others to a form where obvious bits, redundancy etc have been eliminated, leaving a set of lemmas that I can prove separately. As far as possible, I would like these residual lemmas to retain the notation and structure of the original -- which means that I don't want to use normalisation procedures that introduce different operators and totally discard the original structure. Now I realise this is asking for a lot, but I thought it worth enquiring to see if anyone else has done or is doing this kind of thing. I would also appreciate any suggestions regarding techniques for reducing redundancy in rewriting, eg ways of ordering rules so that we don't need to try every rewrite rule against every subformula at every stage in the simplification process. Cheers Lindsay -------------- Lindsay Groves On leave from: School of Mathematical Sciences Department of Computer Science University of Bath Victoria University of Wellington Bath, England Wellington, New Zealand ljg@maths.bath.ac.uk lindsay@comp.vuw.ac.nz
Technical Details
Message-ID:
<1992Oct7.103641.23226@gdr.bath.ac.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!sun-barr!ames!agate!doc.ic.ac.uk!uknet!gdt!masljgShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!ames!agate!doc.ic.ac.uk!uknet!gdt!masljg From: masljg@gdr.bath.ac.uk (L J Groves) Newsgroups: comp.lang.prolog Subject: Rewriting systems in Prolog Message-ID: <1992Oct7.103641.23226@gdr.bath.ac.uk> Date: 7 Oct 92 10:36:41 GMT Organization: School of Mathematics, University of Bath, UK Lines: 39