src/Pure/Isar/theory_target.ML
changeset 30278 18ce07e05a95
parent 30242 aea5d7fa7ef5
child 30280 eb98b49ef835
equal deleted inserted replaced
30277:4f2b6ccce047 30278:18ce07e05a95
   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)) ?