src/HOL/HOL_lemmas.ML
changeset 7884 2c65e8212115
parent 7832 77bac5d84162
child 8276 2647b7fa6508
equal deleted inserted replaced
7883:01e6e05d208b 7884:2c65e8212115
   450 
   450 
   451 fun strip_tac i = REPEAT(resolve_tac [impI,allI] i); 
   451 fun strip_tac i = REPEAT(resolve_tac [impI,allI] i); 
   452 
   452 
   453 (** strip ! and --> from proved goal while preserving !-bound var names **)
   453 (** strip ! and --> from proved goal while preserving !-bound var names **)
   454 
   454 
       
   455 (** THIS CODE IS A MESS!!! **)
       
   456 
   455 local
   457 local
   456 
   458 
   457 (* Use XXX to avoid forall_intr failing because of duplicate variable name *)
   459 (* Use XXX to avoid forall_intr failing because of duplicate variable name *)
   458 val myspec = read_instantiate [("P","?XXX")] spec;
   460 val myspec = read_instantiate [("P","?XXX")] spec;
   459 val _ $ (_ $ (vx as Var(_,vxT))) = concl_of myspec;
   461 val _ $ (_ $ (vx as Var(_,vxT))) = concl_of myspec;