266 "empty universe (no type variables in term)\n" |
266 "empty universe (no type variables in term)\n" |
267 else |
267 else |
268 "Size of types: " ^ commas (map (fn (T, i) => |
268 "Size of types: " ^ commas (map (fn (T, i) => |
269 Syntax.string_of_typ ctxt T ^ ": " ^ string_of_int i) typs) ^ "\n" |
269 Syntax.string_of_typ ctxt T ^ ": " ^ string_of_int i) typs) ^ "\n" |
270 val show_consts_msg = |
270 val show_consts_msg = |
271 if not (!show_consts) andalso Library.exists (is_Const o fst) terms then |
271 if not (Config.get ctxt show_consts) andalso Library.exists (is_Const o fst) terms then |
272 "set \"show_consts\" to show the interpretation of constants\n" |
272 "enable \"show_consts\" to show the interpretation of constants\n" |
273 else |
273 else |
274 "" |
274 "" |
275 val terms_msg = |
275 val terms_msg = |
276 if null terms then |
276 if null terms then |
277 "empty interpretation (no free variables in term)\n" |
277 "empty interpretation (no free variables in term)\n" |
278 else |
278 else |
279 cat_lines (map_filter (fn (t, intr) => |
279 cat_lines (map_filter (fn (t, intr) => |
280 (* print constants only if 'show_consts' is true *) |
280 (* print constants only if 'show_consts' is true *) |
281 if (!show_consts) orelse not (is_Const t) then |
281 if Config.get ctxt show_consts orelse not (is_Const t) then |
282 SOME (Syntax.string_of_term ctxt t ^ ": " ^ |
282 SOME (Syntax.string_of_term ctxt t ^ ": " ^ |
283 Syntax.string_of_term ctxt |
283 Syntax.string_of_term ctxt |
284 (print ctxt model (Term.type_of t) intr assignment)) |
284 (print ctxt model (Term.type_of t) intr assignment)) |
285 else |
285 else |
286 NONE) terms) ^ "\n" |
286 NONE) terms) ^ "\n" |