equal
deleted
inserted
replaced
102 |
102 |
103 fun do_typedef name repT alphas thy = |
103 fun do_typedef name repT alphas thy = |
104 let |
104 let |
105 fun get_thms thy name = |
105 fun get_thms thy name = |
106 let |
106 let |
107 val {Rep_inject = rep_inject, Abs_name = absN, abs_type = absT, |
107 val [{Rep_inject = rep_inject, Abs_name = absN, abs_type = absT, |
108 Abs_inverse = abs_inverse, ...} = Typedef.the_info thy name; |
108 Abs_inverse = abs_inverse, ...}] = Typedef.get_info_global thy name; |
109 val rewrite_rule = |
109 val rewrite_rule = |
110 MetaSimplifier.rewrite_rule [@{thm iso_tuple_UNIV_I}, @{thm iso_tuple_True_simp}]; |
110 MetaSimplifier.rewrite_rule [@{thm iso_tuple_UNIV_I}, @{thm iso_tuple_True_simp}]; |
111 in |
111 in |
112 (map rewrite_rule [rep_inject, abs_inverse], Const (absN, repT --> absT), absT) |
112 (map rewrite_rule [rep_inject, abs_inverse], Const (absN, repT --> absT), absT) |
113 end; |
113 end; |