From windley@cheetah  Wed Oct 25 10:02:48 1989
Received: by iris (5.57/3.14)
        id AA09997; Wed, 25 Oct 89 10:02:48 PDT
Received: from cheetah.ucdavis.edu by clover.ucdavis.edu (5.59/UCD.EECS.1.11)
        id AA10226; Wed, 25 Oct 89 10:05:32 PDT
Received: by cheetah.ucdavis.edu (AIX  2.1.2/3.14)
        id AA01154; Wed, 25 Oct 89 10:02:36 PDT
Message-Id: <8910251702.AA01154@cheetah.ucdavis.edu>
To: Ramayya Kumar <kumar@ira.uka.de>
Cc: info-hol@CLOVER
Subject: Re: Teething Troubles with HOL
In-Reply-To: Your message of Tue, 24 Oct 89 09:40:24 +0700.
             <8910251637.AA07578@nisc.nyser.net>
Date: Wed, 25 Oct 89 10:02:35 -0800
From: Phil Windley <windley@cheetah>



I suspect that the problem is that the paper was written using HOL(old) and
you're running HOL88.  The key difference (with repsect to this problem) is
that types are not sticky by default in HOL88 and they were in HOL(old).
With sticky types, HOL remembers the type that "t1" had the last time it
saw it and assumes that type.  This can be a help or a hinderance.

There is a flag to make types sticky in HOL88.  Execute

    set_flag(`sticky`,true);;

before starting and the example will work (at least it did for me).

The other solution to this problem (that avoids the sticky type issue) is
to explicitly type the "t1" term as "t1:bool".

    DISCH "t1 ==>t2" (DISCH "t1:bool" th2);;

--phil--


