src/Pure/Proof/proof_rewrite_rules.ML
changeset 13646 46ed3d042ba5
parent 13608 9a6f43b8eae1
child 13917 a67c9e6570ac
equal deleted inserted replaced
13645:430310b12c5b 13646:46ed3d042ba5
   247       let
   247       let
   248         val cnames = map (fst o dest_Const o fst) defs';
   248         val cnames = map (fst o dest_Const o fst) defs';
   249         val thms = flat (map (fn (s, ps) =>
   249         val thms = flat (map (fn (s, ps) =>
   250             if s mem defnames then []
   250             if s mem defnames then []
   251             else map (pair s o Some o fst) (filter_out (fn (p, _) =>
   251             else map (pair s o Some o fst) (filter_out (fn (p, _) =>
   252               null (add_term_consts (p, []) inter cnames)) ps))
   252               null (term_consts p inter cnames)) ps))
   253           (Symtab.dest (thms_of_proof Symtab.empty prf)))
   253           (Symtab.dest (thms_of_proof Symtab.empty prf)))
   254       in Reconstruct.expand_proof sign thms end
   254       in Reconstruct.expand_proof sign thms end
   255   in
   255   in
   256     rewrite_terms (Pattern.rewrite_term tsig defs' [])
   256     rewrite_terms (Pattern.rewrite_term tsig defs' [])
   257       (insert_refl defnames [] (f prf))
   257       (insert_refl defnames [] (f prf))