equal
deleted
inserted
replaced
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_"; |