src/Pure/Syntax/syntax_trans.ML
changeset 69575 f77cc54f6d47
parent 64556 851ae0e7b09c
child 69577 015f43ee4bb7
equal deleted inserted replaced
69574:b4ea943ce0b7 69575:f77cc54f6d47
    27   val non_typed_tr': (Proof.context -> term list -> term) ->
    27   val non_typed_tr': (Proof.context -> term list -> term) ->
    28     Proof.context -> typ -> term list -> term
    28     Proof.context -> typ -> term list -> term
    29   val tappl_ast_tr': Ast.ast * Ast.ast list -> Ast.ast
    29   val tappl_ast_tr': Ast.ast * Ast.ast list -> Ast.ast
    30   val appl_ast_tr': Ast.ast * Ast.ast list -> Ast.ast
    30   val appl_ast_tr': Ast.ast * Ast.ast list -> Ast.ast
    31   val applC_ast_tr': Ast.ast * Ast.ast list -> Ast.ast
    31   val applC_ast_tr': Ast.ast * Ast.ast list -> Ast.ast
    32   val eta_contract_raw: Config.raw
       
    33   val mark_bound_abs: string * typ -> term
    32   val mark_bound_abs: string * typ -> term
    34   val mark_bound_body: string * typ -> term
    33   val mark_bound_body: string * typ -> term
    35   val bound_vars: (string * typ) list -> term -> term
    34   val bound_vars: (string * typ) list -> term -> term
    36   val abs_tr': Proof.context -> term -> term
    35   val abs_tr': Proof.context -> term -> term
    37   val atomic_abs_tr': string * typ * term -> term * term
    36   val atomic_abs_tr': string * typ * term -> term * term
   295               else incr_boundvars ~1 f
   294               else incr_boundvars ~1 f
   296           | _ => Abs (a, T, t'))
   295           | _ => Abs (a, T, t'))
   297       | t' => Abs (a, T, t'))
   296       | t' => Abs (a, T, t'))
   298   | eta_abs t = t;
   297   | eta_abs t = t;
   299 
   298 
   300 val eta_contract_raw = Config.declare_option ("eta_contract", \<^here>);
   299 val eta_contract = Config.declare_option_bool ("eta_contract", \<^here>);
   301 val eta_contract = Config.bool eta_contract_raw;
       
   302 
   300 
   303 fun eta_contr ctxt tm =
   301 fun eta_contr ctxt tm =
   304   if Config.get ctxt eta_contract then eta_abs tm else tm;
   302   if Config.get ctxt eta_contract then eta_abs tm else tm;
   305 
   303 
   306 
   304