src/HOL/Tools/refute.ML
changeset 33042 ddf1f03a9ad9
parent 33039 5018f6a76b3f
child 33055 5a733f325939
equal deleted inserted replaced
33041:6793b02a3409 33042:ddf1f03a9ad9
  1152       val u      = unfold_defs thy t
  1152       val u      = unfold_defs thy t
  1153       val _      = tracing ("Unfolded term: " ^ Syntax.string_of_term_global thy u)
  1153       val _      = tracing ("Unfolded term: " ^ Syntax.string_of_term_global thy u)
  1154       val axioms = collect_axioms thy u
  1154       val axioms = collect_axioms thy u
  1155       (* Term.typ list *)
  1155       (* Term.typ list *)
  1156       val types = Library.foldl (fn (acc, t') =>
  1156       val types = Library.foldl (fn (acc, t') =>
  1157         union (op =) (acc, (ground_types thy t'))) ([], u :: axioms)
  1157         uncurry (union (op =)) (acc, (ground_types thy t'))) ([], u :: axioms)
  1158       val _     = tracing ("Ground types: "
  1158       val _     = tracing ("Ground types: "
  1159         ^ (if null types then "none."
  1159         ^ (if null types then "none."
  1160            else commas (map (Syntax.string_of_typ_global thy) types)))
  1160            else commas (map (Syntax.string_of_typ_global thy) types)))
  1161       (* we can only consider fragments of recursive IDTs, so we issue a  *)
  1161       (* we can only consider fragments of recursive IDTs, so we issue a  *)
  1162       (* warning if the formula contains a recursive IDT                  *)
  1162       (* warning if the formula contains a recursive IDT                  *)