src/Pure/Syntax/syn_trans.ML
changeset 19311 e3d48fa3908e
parent 19131 06b6f5f8e4cb
child 19473 d87a8838afa4
equal deleted inserted replaced
19310:9b2080d9ed28 19311:e3d48fa3908e
   232   | applC_ast_tr' (f, args) = Ast.Appl [Ast.Constant "_applC", f, Ast.fold_ast "_cargs" args];
   232   | applC_ast_tr' (f, args) = Ast.Appl [Ast.Constant "_applC", f, Ast.fold_ast "_cargs" args];
   233 
   233 
   234 
   234 
   235 (* abstraction *)
   235 (* abstraction *)
   236 
   236 
   237 fun mark_boundT x_T = Lexicon.const "_bound" $ Free x_T;
   237 fun mark_boundT (x, T) = Const ("_bound", T --> T) $ Free (x, T);
   238 fun mark_bound x = mark_boundT (x, dummyT);
   238 fun mark_bound x = mark_boundT (x, dummyT);
   239 
   239 
   240 fun bound_vars vars body =
   240 fun bound_vars vars body =
   241   subst_bounds (map mark_boundT (Term.rename_wrt_term body vars), body);
   241   subst_bounds (map mark_boundT (Term.rename_wrt_term body vars), body);
   242 
   242