src/Pure/sign.ML
changeset 25117 74b279146ecb
parent 25071 6680bebdfc28
child 25323 50d4c8257d06
equal deleted inserted replaced
25116:31551aae280f 25117:74b279146ecb
   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 =