src/Pure/Isar/theory_target.ML
changeset 31977 e03059ae2d82
parent 31869 01fed718958c
child 32009 fd3c60ad9155
equal deleted inserted replaced
31976:17414e2736f4 31977:e03059ae2d82
   128       |>> map Logic.dest_type;
   128       |>> map Logic.dest_type;
   129 
   129 
   130     val instT = map_filter (fn (TVar v, T) => SOME (v, T) | _ => NONE) (tvars ~~ tfrees);
   130     val instT = map_filter (fn (TVar v, T) => SOME (v, T) | _ => NONE) (tvars ~~ tfrees);
   131     val inst = filter (is_Var o fst) (vars ~~ frees);
   131     val inst = filter (is_Var o fst) (vars ~~ frees);
   132     val cinstT = map (pairself certT o apfst TVar) instT;
   132     val cinstT = map (pairself certT o apfst TVar) instT;
   133     val cinst = map (pairself (cert o Term.map_types (TermSubst.instantiateT instT))) inst;
   133     val cinst = map (pairself (cert o Term.map_types (Term_Subst.instantiateT instT))) inst;
   134     val result' = Thm.instantiate (cinstT, cinst) result;
   134     val result' = Thm.instantiate (cinstT, cinst) result;
   135 
   135 
   136     (*import assumes/defines*)
   136     (*import assumes/defines*)
   137     val assm_tac = FIRST' (map (fn assm => Tactic.compose_tac (false, assm, 0)) assms);
   137     val assm_tac = FIRST' (map (fn assm => Tactic.compose_tac (false, assm, 0)) assms);
   138     val result'' =
   138     val result'' =