changeset 59058 | a78612c67ec0 |
parent 55547 | 384bfd19ee61 |
child 59146 | ba2a326fc271 |
59057:5b649fb2f2e1 | 59058:a78612c67ec0 |
---|---|
143 val kind = {pos = pos, empty = empty, extend = extend, merge = merge}; |
143 val kind = {pos = pos, empty = empty, extend = extend, merge = merge}; |
144 val _ = Synchronized.change kinds (Datatab.update (k, kind)); |
144 val _ = Synchronized.change kinds (Datatab.update (k, kind)); |
145 in k end; |
145 in k end; |
146 |
146 |
147 val extend_data = Datatab.map invoke_extend; |
147 val extend_data = Datatab.map invoke_extend; |
148 fun merge_data pp = Datatab.join (invoke_merge pp) o pairself extend_data; |
148 fun merge_data pp = Datatab.join (invoke_merge pp) o apply2 extend_data; |
149 |
149 |
150 end; |
150 end; |
151 |
151 |
152 |
152 |
153 |
153 |
236 |> insert_id id2; |
236 |> insert_id id2; |
237 |
237 |
238 |
238 |
239 (* equality and inclusion *) |
239 (* equality and inclusion *) |
240 |
240 |
241 val eq_thy = op = o pairself (#id o identity_of); |
241 val eq_thy = op = o apply2 (#id o identity_of); |
242 |
242 |
243 fun proper_subthy (Theory ({id, ...}, _, _, _), Theory ({ids, ...}, _, _, _)) = |
243 fun proper_subthy (Theory ({id, ...}, _, _, _), Theory ({ids, ...}, _, _, _)) = |
244 Inttab.defined ids id; |
244 Inttab.defined ids id; |
245 |
245 |
246 fun subthy thys = eq_thy thys orelse proper_subthy thys; |
246 fun subthy thys = eq_thy thys orelse proper_subthy thys; |