src/HOL/BNF/Tools/bnf_tactics.ML
changeset 53560 4b5f42cfa244
parent 53287 271b34513bfb
child 53588 11a77e4aa98b
equal deleted inserted replaced
53559:3858246c7c8f 53560:4b5f42cfa244
   100 fun mk_ctor_or_dtor_rel_tac srel_def IJrel_defs IJsrel_defs dtor_srel {context = ctxt, prems = _} =
   100 fun mk_ctor_or_dtor_rel_tac srel_def IJrel_defs IJsrel_defs dtor_srel {context = ctxt, prems = _} =
   101   unfold_thms_tac ctxt IJrel_defs THEN
   101   unfold_thms_tac ctxt IJrel_defs THEN
   102   rtac (unfold_thms ctxt (IJrel_defs @ IJsrel_defs @
   102   rtac (unfold_thms ctxt (IJrel_defs @ IJsrel_defs @
   103     @{thms Collect_pair_mem_eq mem_Collect_eq fst_conv snd_conv}) dtor_srel RS trans) 1 THEN
   103     @{thms Collect_pair_mem_eq mem_Collect_eq fst_conv snd_conv}) dtor_srel RS trans) 1 THEN
   104   unfold_thms_tac ctxt (srel_def ::
   104   unfold_thms_tac ctxt (srel_def ::
   105     @{thms Collect_fst_snd_mem_eq mem_Collect_eq pair_mem_Collect_split fst_conv snd_conv
   105     @{thms pair_collapse Collect_mem_eq mem_Collect_eq prod.cases fst_conv snd_conv
   106       split_conv}) THEN
   106       split_conv}) THEN
   107   rtac refl 1;
   107   rtac refl 1;
   108 
   108 
   109 fun mk_map_comp_id_tac map_comp0 =
   109 fun mk_map_comp_id_tac map_comp0 =
   110   (rtac trans THEN' rtac map_comp0 THEN' REPEAT_DETERM o stac @{thm o_id} THEN' rtac refl) 1;
   110   (rtac trans THEN' rtac map_comp0 THEN' REPEAT_DETERM o stac @{thm o_id} THEN' rtac refl) 1;