src/HOL/Tools/BNF/bnf_def.ML
changeset 59133 347fece4a85e
parent 59058 a78612c67ec0
child 59281 1b4dc8a9f7d9
equal deleted inserted replaced
59132:f2819313e3cc 59133:347fece4a85e
   695            (bd_CinfiniteN, [#bd_Cinfinite facts]),
   695            (bd_CinfiniteN, [#bd_Cinfinite facts]),
   696            (bd_CnotzeroN, [#bd_Cnotzero facts]),
   696            (bd_CnotzeroN, [#bd_Cnotzero facts]),
   697            (collect_set_mapN, [Lazy.force (#collect_set_map facts)]),
   697            (collect_set_mapN, [Lazy.force (#collect_set_map facts)]),
   698            (in_bdN, [Lazy.force (#in_bd facts)]),
   698            (in_bdN, [Lazy.force (#in_bd facts)]),
   699            (in_monoN, [Lazy.force (#in_mono facts)]),
   699            (in_monoN, [Lazy.force (#in_mono facts)]),
   700            (in_relN, [Lazy.force (#in_rel facts)]),
       
   701            (map_comp0N, [#map_comp0 axioms]),
   700            (map_comp0N, [#map_comp0 axioms]),
   702            (rel_mono_strong0N, [Lazy.force (#rel_mono_strong0 facts)]),
   701            (rel_mono_strong0N, [Lazy.force (#rel_mono_strong0 facts)]),
   703            (rel_mono_strongN, [Lazy.force (#rel_mono_strong facts)]),
       
   704            (set_map0N, #set_map0 axioms),
   702            (set_map0N, #set_map0 axioms),
   705            (set_bdN, #set_bd axioms)] @
   703            (set_bdN, #set_bd axioms)] @
   706           (witNs ~~ wit_thmss_of_bnf bnf)
   704           (witNs ~~ wit_thmss_of_bnf bnf)
   707           |> map (fn (thmN, thms) =>
   705           |> map (fn (thmN, thms) =>
   708             ((qualify (Binding.qualify true (Binding.name_of bnf_b) (Binding.name thmN)), []),
   706             ((qualify (Binding.qualify true (Binding.name_of bnf_b) (Binding.name thmN)), []),
   712       end;
   710       end;
   713 
   711 
   714     fun note_unless_dont_note (noted0, lthy0) =
   712     fun note_unless_dont_note (noted0, lthy0) =
   715       let
   713       let
   716         val notes =
   714         val notes =
   717           [(inj_mapN, [Lazy.force (#inj_map facts)], []),
   715           [(in_relN, [Lazy.force (#in_rel facts)], []),
       
   716            (inj_mapN, [Lazy.force (#inj_map facts)], []),
   718            (inj_map_strongN, [Lazy.force (#inj_map_strong facts)], []),
   717            (inj_map_strongN, [Lazy.force (#inj_map_strong facts)], []),
   719            (map_compN, [Lazy.force (#map_comp facts)], []),
   718            (map_compN, [Lazy.force (#map_comp facts)], []),
   720            (map_cong0N, [#map_cong0 axioms], []),
   719            (map_cong0N, [#map_cong0 axioms], []),
   721            (map_congN, [Lazy.force (#map_cong facts)], fundefcong_attrs),
   720            (map_congN, [Lazy.force (#map_cong facts)], fundefcong_attrs),
   722            (map_cong_simpN, [Lazy.force (#map_cong_simp facts)], []),
   721            (map_cong_simpN, [Lazy.force (#map_cong_simp facts)], []),
   730            (rel_eqN, [Lazy.force (#rel_eq facts)], []),
   729            (rel_eqN, [Lazy.force (#rel_eq facts)], []),
   731            (rel_flipN, [Lazy.force (#rel_flip facts)], []),
   730            (rel_flipN, [Lazy.force (#rel_flip facts)], []),
   732            (rel_GrpN, [Lazy.force (#rel_Grp facts)], []),
   731            (rel_GrpN, [Lazy.force (#rel_Grp facts)], []),
   733            (rel_mapN, Lazy.force (#rel_map facts), []),
   732            (rel_mapN, Lazy.force (#rel_map facts), []),
   734            (rel_monoN, [Lazy.force (#rel_mono facts)], mono_attrs),
   733            (rel_monoN, [Lazy.force (#rel_mono facts)], mono_attrs),
       
   734            (rel_mono_strongN, [Lazy.force (#rel_mono_strong facts)], []),
   735            (rel_transferN, [Lazy.force (#rel_transfer facts)], []),
   735            (rel_transferN, [Lazy.force (#rel_transfer facts)], []),
   736            (set_mapN, map Lazy.force (#set_map facts), []),
   736            (set_mapN, map Lazy.force (#set_map facts), []),
   737            (set_transferN, Lazy.force (#set_transfer facts), [])]
   737            (set_transferN, Lazy.force (#set_transfer facts), [])]
   738           |> filter_out (null o #2)
   738           |> filter_out (null o #2)
   739           |> map (fn (thmN, thms, attrs) =>
   739           |> map (fn (thmN, thms, attrs) =>