TFL/casesplit.ML
changeset 20081 c9da24b69fda
parent 19907 f552697b2f19
child 21708 45e7491bea47
equal deleted inserted replaced
20080:1398063aa271 20081:c9da24b69fda
   177       val gt = Data.dest_Trueprop (Logic.get_goal (Thm.prop_of subgoalth') 1);
   177       val gt = Data.dest_Trueprop (Logic.get_goal (Thm.prop_of subgoalth') 1);
   178 
   178 
   179       val freets = Term.term_frees gt;
   179       val freets = Term.term_frees gt;
   180       fun getter x =
   180       fun getter x =
   181           let val (n,ty) = Term.dest_Free x in
   181           let val (n,ty) = Term.dest_Free x in
   182             (if vstr = n orelse vstr = Term.dest_skolem n
   182             (if vstr = n orelse vstr = Name.dest_skolem n
   183              then SOME (n,ty) else NONE )
   183              then SOME (n,ty) else NONE )
   184             handle Fail _ => NONE (* dest_skolem *)
   184             handle Fail _ => NONE (* dest_skolem *)
   185           end;
   185           end;
   186       val (n,ty) = case Library.get_first getter freets
   186       val (n,ty) = case Library.get_first getter freets
   187                 of SOME (n, ty) => (n, ty)
   187                 of SOME (n, ty) => (n, ty)