equal
deleted
inserted
replaced
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) |