Thank you. Instantiating the variables worked with ISPEC and hence I used ISPEC_THEN in my proof.

Cheers,

Heiko

On 09/08/2017 09:14 AM, Anthony Fox wrote:
The theorem float_add_relative is of the form

   ∀(a :(τ, χ) float) (b :(τ, χ) float). ..

and

   SPEC ``(fp64_to_float v):(52, 11) float``  float_add_relative

will only try to specialise values and not types. What you need is Drule.ISPEC, 
i.e.

   Drule.ISPEC ``fp64_to_float v : (52, 11) float`` float_add_relative

Alternatively you could use SPEC after manually using Thm.INST_TYPE to 
instantiate the type of float_add_relative.

Anthony

On 8 Sep 2017, at 08:01, Heiko Becker <hbec...@mpi-sws.org> wrote:

Hello everyone,

I am trying to prove a theorem using the IEEE floating-point formalizations of 
HOL4. In a proof, I need to apply the lemma lift_ieeeTheory.float_add_relative. 
However neither match_mp_tac nor irule are able to unify the lemma with the 
conclusion I want to show.

I tried instantiating variables by hand to see what happens. Trying the below 
code fails with an error complaining about mismatched types in the conclusion:

SPEC ``(fp64_to_float v):(52, 11) float``  float_add_relative


Can someone tell me what I a doing wrong in this case, since (52,11) float 
should be unifiable with (τ, χ) float.



Thanks,

Heiko




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to