src/Pure/Isar/specification.ML
changeset 28703 aef727ef30e5
parent 28370 37f56e6e702d
child 28710 e2064974c114
equal deleted inserted replaced
28702:4867f2fa0e48 28703:aef727ef30e5
   182                 Position.str_of (Name.pos_of b));
   182                 Position.str_of (Name.pos_of b));
   183           in (b, mx) end);
   183           in (b, mx) end);
   184     val ((lhs, (_, th)), lthy2) = lthy |> LocalTheory.define Thm.definitionK
   184     val ((lhs, (_, th)), lthy2) = lthy |> LocalTheory.define Thm.definitionK
   185         (var, ((Name.map_name (suffix "_raw") name, []), rhs));
   185         (var, ((Name.map_name (suffix "_raw") name, []), rhs));
   186     val ((def_name, [th']), lthy3) = lthy2 |> LocalTheory.note Thm.definitionK
   186     val ((def_name, [th']), lthy3) = lthy2 |> LocalTheory.note Thm.definitionK
   187         ((name, Code.add_default_eqn_attr :: atts), [prove lthy2 th]);
   187         ((name, Code.add_default_eqn_attrib :: atts), [prove lthy2 th]);
   188 
   188 
   189     val lhs' = Morphism.term (LocalTheory.target_morphism lthy3) lhs;
   189     val lhs' = Morphism.term (LocalTheory.target_morphism lthy3) lhs;
   190     val _ =
   190     val _ =
   191       if not do_print then ()
   191       if not do_print then ()
   192       else print_consts lthy3 (member (op =) (Term.add_frees lhs' [])) [(x, T)];
   192       else print_consts lthy3 (member (op =) (Term.add_frees lhs' [])) [(x, T)];