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