Return-Path:
Return-Path: <john.harrison-request@uk.ac.cam.cl>
Received: from ted.cs.uidaho.edu by swan.cl.cam.ac.uk with SMTP (PP-6.0)
          id <09674-0@swan.cl.cam.ac.uk>; Tue, 7 Jan 1992 18:30:11 +0000
Received: by ted.cs.uidaho.edu (15.11/1.34) id AA19342;
          Tue, 7 Jan 92 10:22:15 pst
Sender: info-hol-request@edu.uidaho.cs.ted
Errors-To: info-hol-request@edu.uidaho.cs.ted
Received: from relay2.UU.NET by ted.cs.uidaho.edu (15.11/1.34) id AA19338;
          Tue, 7 Jan 92 10:22:07 pst
Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET
          with SMTP (5.61/UUNET-internet-primary) id AA08029;
          Tue, 7 Jan 92 13:22:41 -0500
Received: from inmos-c.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail)
          id 132119.23195; Tue, 7 Jan 1992 13:21:19 EST
Received: from brwbf.inmos.co.uk by inmos-c.inmos.com with DNI-MTP [1.1]
          id brwbf-1168; Tue, 7 Jan 92 11:21:31 MST
Received: from ganymede.inmos.co.uk by brwbf.inmos.co.uk;
          Tue, 7 Jan 92 17:28:39 GMT
Received: from frogland.inmos.co.uk by ganymede.inmos.co.uk;
          Tue, 7 Jan 92 17:28:46 GMT
From: David Shepherd <des@com.inmos>
Message-Id: <19698.9201071728@frogland.inmos.co.uk>
Subject: Re: your mail
To: toal@edu.ucla.cs (Ray J. Toal)
Date: Tue, 7 Jan 92 17:28:22 GMT
In-Reply-To: <9201071551.AA29698@maui.cs.ucla.edu>; from "Ray J. Toal" at Jan 7, 92 7:51 am
X-Mailer: ELM [version 2.3 PL11]

Ray J. Toal has said:
> Has anyone a rule (or conversion?) for the following?
>
> I would like to remove all existentially quantified variables (xi)
> in a theorem that appear free in a subterm "t = xi" of the body.
> For example, from
>
>   |-  ?x y z w. (a = y) /\ (b = w) /\ (f w ==> g z y x)
>
> one should obtain
>
>   |-  ?x z. f b ==> g z a x
>
> I hope that this is an interesting problem and that I am not incorrect
> in thinking that it is logically possible.  It may even be easy.
> The following (inefficient) function may be of use:

1) load the "convert" library
2) apply conversion (DOWN_CONV SYM_CONV)
3) apply conversion PRUNE_CONV

(step 2 is needed as prune expects equalities the other way round)

the convert library contains, among others, my tidy ups of the original
unwind, unfold and pruning rules and conversions which have been in
HOL since the beginning (they date back to LCF_LSM !).

unfortunately with the current "complete" documentation its much more
difficult to find out about rules like these than it was in the "good
old days" when you just had about 20 pages that contained all the
useful stuff! (btw i personnally still use the old pre-HOL88
documentation first when i'm looking up rules or conversions as theres
less to wade through!)

--------------------------------------------------------------------------
david shepherd: des@inmos.co.uk or des@inmos.com    tel: 0454-616616 x 625
                inmos ltd, 1000 aztec west, almondsbury, bristol, bs12 4sq
                "five,  four,  three,  two,  one,   thunderbirds are go !"


