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