src/HOL/Tools/res_axioms.ML
changeset 33039 5018f6a76b3f
parent 33027 9cf389429f6d
parent 33038 8f9594c31de4
child 33040 cffdb7b28498
child 33042 ddf1f03a9ad9
equal deleted inserted replaced
33036:c61fe520602b 33039:5018f6a76b3f
   471       val newhyps = filter_out (member (op aconv) hyps0 o Thm.term_of) hyps
   471       val newhyps = filter_out (member (op aconv) hyps0 o Thm.term_of) hyps
   472       val defs = filter (is_absko o Thm.term_of) newhyps
   472       val defs = filter (is_absko o Thm.term_of) newhyps
   473       val remaining_hyps = filter_out (member (op aconv) (map Thm.term_of defs))
   473       val remaining_hyps = filter_out (member (op aconv) (map Thm.term_of defs))
   474                                       (map Thm.term_of hyps)
   474                                       (map Thm.term_of hyps)
   475       val fixed = OldTerm.term_frees (concl_of st) @
   475       val fixed = OldTerm.term_frees (concl_of st) @
   476                   List.foldl (gen_union (op aconv)) [] (map OldTerm.term_frees remaining_hyps)
   476                   List.foldl (union (op aconv)) [] (map OldTerm.term_frees remaining_hyps)
   477   in Seq.of_list [LocalDefs.expand (filter (is_okdef fixed o Thm.term_of) defs) st] end;
   477   in Seq.of_list [LocalDefs.expand (filter (is_okdef fixed o Thm.term_of) defs) st] end;
   478 
   478 
   479 
   479 
   480 fun meson_general_tac ctxt ths i st0 =
   480 fun meson_general_tac ctxt ths i st0 =
   481   let
   481   let