equal
deleted
inserted
replaced
213 let val (frozth,thawfn) = freeze_thaw state |
213 let val (frozth,thawfn) = freeze_thaw state |
214 val froz_prems = cprems_of frozth |
214 val froz_prems = cprems_of frozth |
215 val assumed = implies_elim_list frozth (map assume froz_prems) |
215 val assumed = implies_elim_list frozth (map assume froz_prems) |
216 val implied = implies_intr_list (gen_distinct cterm_aconv froz_prems) |
216 val implied = implies_intr_list (gen_distinct cterm_aconv froz_prems) |
217 assumed; |
217 assumed; |
218 in Seq.single (thawfn implied) end |
218 in (*Applying Thm.varifyT to the result of thawfn would (re-)generalize |
|
219 all type variables that appear in the subgoals. Unfortunately, it |
|
220 would also break the function AxClass.intro_classes_tac, even in the |
|
221 trivial case where the type class has no axioms.*) |
|
222 Seq.single (thawfn implied) |
|
223 end |
219 end; |
224 end; |
220 |
225 |
221 |
226 |
222 (*Determine print names of goal parameters (reversed)*) |
227 (*Determine print names of goal parameters (reversed)*) |
223 fun innermost_params i st = |
228 fun innermost_params i st = |