equal
deleted
inserted
replaced
186 val rhs' = Morphism.term phi rhs; |
186 val rhs' = Morphism.term phi rhs; |
187 val legacy_arg = (b', Term.close_schematic_term (Logic.legacy_varify rhs')); |
187 val legacy_arg = (b', Term.close_schematic_term (Logic.legacy_varify rhs')); |
188 val arg = (b', Term.close_schematic_term rhs'); |
188 val arg = (b', Term.close_schematic_term rhs'); |
189 val similar_body = Type.similar_types (rhs, rhs'); |
189 val similar_body = Type.similar_types (rhs, rhs'); |
190 (* FIXME workaround based on educated guess *) |
190 (* FIXME workaround based on educated guess *) |
191 val (prefix', _, _) = Binding.dest b'; |
191 val prefix' = Binding.prefix_of b'; |
192 val class_global = Binding.name_of b = Binding.name_of b' |
192 val class_global = Binding.name_of b = Binding.name_of b' |
193 andalso not (null prefix') |
193 andalso not (null prefix') |
194 andalso (fst o snd o split_last) prefix' = Class_Target.class_prefix target; |
194 andalso (fst o snd o split_last) prefix' = Class_Target.class_prefix target; |
195 in |
195 in |
196 not (is_class andalso (similar_body orelse class_global)) ? |
196 not (is_class andalso (similar_body orelse class_global)) ? |