src/Pure/Tools/invoke.ML
changeset 20218 be3bfb0699ba
parent 19919 138e0684cda2
child 20266 6fb734789818
equal deleted inserted replaced
20217:25b068a99d2b 20218:be3bfb0699ba
    61     fun after_qed results =
    61     fun after_qed results =
    62       Proof.end_block #>
    62       Proof.end_block #>
    63       Seq.map (Proof.map_context (fn ctxt =>
    63       Seq.map (Proof.map_context (fn ctxt =>
    64         let
    64         let
    65           val ([res_types, res_params, res_prems], ctxt'') =
    65           val ([res_types, res_params, res_prems], ctxt'') =
    66             fold_burrow (Variable.import false) results ctxt';
    66             fold_burrow (apfst snd oo Variable.import false) results ctxt';
    67 
    67 
    68           val types'' = map (Logic.dest_type o Thm.term_of o Drule.dest_term) res_types;
    68           val types'' = map (Logic.dest_type o Thm.term_of o Drule.dest_term) res_types;
    69           val params'' = map (Thm.term_of o Drule.dest_term) res_params;
    69           val params'' = map (Thm.term_of o Drule.dest_term) res_params;
    70           val elems' = elems |> map (Element.inst_ctxt thy
    70           val elems' = elems |> map (Element.inst_ctxt thy
    71             (Symtab.make (map #1 types ~~ types''), Symtab.make (map #1 params ~~ params'')));
    71             (Symtab.make (map #1 types ~~ types''), Symtab.make (map #1 params ~~ params'')));