src/HOL/Tools/BNF/bnf_def.ML
changeset 58344 ea3d989219b4
parent 58189 9d714be4f028
child 58352 37745650a3f4
equal deleted inserted replaced
58343:1defb39ab329 58344:ea3d989219b4
   150 open BNF_Util
   150 open BNF_Util
   151 open BNF_Tactics
   151 open BNF_Tactics
   152 open BNF_Def_Tactics
   152 open BNF_Def_Tactics
   153 
   153 
   154 val fundefcong_attrs = @{attributes [fundef_cong]};
   154 val fundefcong_attrs = @{attributes [fundef_cong]};
       
   155 val mono_attrs = @{attributes [mono]};
   155 
   156 
   156 type axioms = {
   157 type axioms = {
   157   map_id0: thm,
   158   map_id0: thm,
   158   map_comp0: thm,
   159   map_comp0: thm,
   159   map_cong0: thm,
   160   map_cong0: thm,
   728            (rel_conversepN, [Lazy.force (#rel_conversep facts)], []),
   729            (rel_conversepN, [Lazy.force (#rel_conversep facts)], []),
   729            (rel_eqN, [Lazy.force (#rel_eq facts)], []),
   730            (rel_eqN, [Lazy.force (#rel_eq facts)], []),
   730            (rel_flipN, [Lazy.force (#rel_flip facts)], []),
   731            (rel_flipN, [Lazy.force (#rel_flip facts)], []),
   731            (rel_GrpN, [Lazy.force (#rel_Grp facts)], []),
   732            (rel_GrpN, [Lazy.force (#rel_Grp facts)], []),
   732            (rel_mapN, Lazy.force (#rel_map facts), []),
   733            (rel_mapN, Lazy.force (#rel_map facts), []),
   733            (rel_monoN, [Lazy.force (#rel_mono facts)], []),
   734            (rel_monoN, [Lazy.force (#rel_mono facts)], mono_attrs),
   734            (rel_transferN, [Lazy.force (#rel_transfer facts)], []),
   735            (rel_transferN, [Lazy.force (#rel_transfer facts)], []),
   735            (set_mapN, map Lazy.force (#set_map facts), []),
   736            (set_mapN, map Lazy.force (#set_map facts), []),
   736            (set_transferN, Lazy.force (#set_transfer facts), [])]
   737            (set_transferN, Lazy.force (#set_transfer facts), [])]
   737           |> filter_out (null o #2)
   738           |> filter_out (null o #2)
   738           |> map (fn (thmN, thms, attrs) =>
   739           |> map (fn (thmN, thms, attrs) =>