equal
deleted
inserted
replaced
440 (* specifications *) |
440 (* specifications *) |
441 |
441 |
442 fun no_variables kind add addT mk mkT pp tm = |
442 fun no_variables kind add addT mk mkT pp tm = |
443 (case (add tm [], addT tm []) of |
443 (case (add tm [], addT tm []) of |
444 ([], []) => tm |
444 ([], []) => tm |
445 | (frees, tfrees) => error (Pretty.string_of (Pretty.block (Pretty.breaks |
445 | (frees, tfrees) => error (Pretty.string_of (Pretty.block |
446 (Pretty.str ("Illegal " ^ kind ^ " variable(s) in term:") :: |
446 (Pretty.str ("Illegal " ^ kind ^ " variable(s) in term:") :: Pretty.brk 1 :: |
447 map (Pretty.term pp o mk) frees @ map (Pretty.typ pp o mkT) tfrees))))); |
447 Pretty.commas (map (Pretty.term pp o mk) frees @ map (Pretty.typ pp o mkT) tfrees))))); |
448 |
448 |
449 val no_frees = no_variables "free" Term.add_frees Term.add_tfrees Free TFree; |
449 val no_frees = no_variables "free" Term.add_frees Term.add_tfrees Free TFree; |
450 val no_vars = no_variables "schematic" Term.add_vars Term.add_tvars Var TVar; |
450 val no_vars = no_variables "schematic" Term.add_vars Term.add_tvars Var TVar; |
451 |
451 |
452 fun cert_def ctxt tm = |
452 fun cert_def ctxt tm = |