equal
deleted
inserted
replaced
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 *) |