src/HOL/Tools/Ctr_Sugar/ctr_sugar.ML
changeset 55347 a87e49f4336d
parent 55342 1bd9e637ac9f
child 55356 3ea8ace6bc8a
equal deleted inserted replaced
55346:d344d663658a 55347:a87e49f4336d
   150 fun ctr_sugar_of_case ctxt s =
   150 fun ctr_sugar_of_case ctxt s =
   151   find_first (fn {casex = Const (s', _), ...} => s' = s | _ => false) (ctr_sugars_of ctxt);
   151   find_first (fn {casex = Const (s', _), ...} => s' = s | _ => false) (ctr_sugars_of ctxt);
   152 
   152 
   153 fun register_ctr_sugar key ctr_sugar =
   153 fun register_ctr_sugar key ctr_sugar =
   154   Local_Theory.declaration {syntax = false, pervasive = true}
   154   Local_Theory.declaration {syntax = false, pervasive = true}
   155     (fn phi => Data.map (Symtab.default (key, morph_ctr_sugar phi ctr_sugar)));
   155     (fn phi => Data.map (Symtab.update (key, morph_ctr_sugar phi ctr_sugar)));
   156 
   156 
   157 fun register_ctr_sugar_global key ctr_sugar =
   157 fun register_ctr_sugar_global key ctr_sugar =
   158   Context.theory_map (Data.map (Symtab.default (key, ctr_sugar)));
   158   Context.theory_map (Data.map (Symtab.update (key, ctr_sugar)));
   159 
   159 
   160 val rep_compat_prefix = "new";
   160 val rep_compat_prefix = "new";
   161 
   161 
   162 val isN = "is_";
   162 val isN = "is_";
   163 val unN = "un_";
   163 val unN = "un_";