equal
deleted
inserted
replaced
128 val cert = Thm.cterm_of (Thm.theory_of_thm def_eq); |
128 val cert = Thm.cterm_of (Thm.theory_of_thm def_eq); |
129 val goal_eq = MetaSimplifier.rewrite true [def_eq] (cert goal'); |
129 val goal_eq = MetaSimplifier.rewrite true [def_eq] (cert goal'); |
130 in Drule.export_without_context (Drule.equal_elim_rule2 OF [goal_eq, th]) end; |
130 in Drule.export_without_context (Drule.equal_elim_rule2 OF [goal_eq, th]) end; |
131 |
131 |
132 fun typedef_result inhabited = |
132 fun typedef_result inhabited = |
133 ObjectLogic.typedecl (tname, vs, mx) |
133 Object_Logic.typedecl (tname, vs, mx) |
134 #> snd |
134 #> snd |
135 #> Sign.add_consts_i |
135 #> Sign.add_consts_i |
136 [(Rep_name, newT --> oldT, NoSyn), |
136 [(Rep_name, newT --> oldT, NoSyn), |
137 (Abs_name, oldT --> newT, NoSyn)] |
137 (Abs_name, oldT --> newT, NoSyn)] |
138 #> add_def |
138 #> add_def |