src/Pure/tactic.ML
changeset 15977 aa6744dd998e
parent 15874 6236cc88d4b8
child 16325 a6431098a929
equal deleted inserted replaced
15976:44f615d1729b 15977:aa6744dd998e
   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 =