src/Pure/Isar/code.ML
changeset 67032 ed499d1252fc
parent 66332 489667636064
child 67147 dea94b1aabc3
equal deleted inserted replaced
67031:22a47374a205 67032:ed499d1252fc
   803 
   803 
   804 fun prep_eqn strictness thy =
   804 fun prep_eqn strictness thy =
   805   apfst (meta_rewrite thy)
   805   apfst (meta_rewrite thy)
   806   #> generic_assert_eqn strictness thy false
   806   #> generic_assert_eqn strictness thy false
   807   #> Option.map (fn eqn => (const_eqn thy (fst eqn), eqn));
   807   #> Option.map (fn eqn => (const_eqn thy (fst eqn), eqn));
   808   
   808 
   809 fun prep_eqns strictness thy =
   809 fun prep_eqns strictness thy =
   810   map_filter (prep_eqn strictness thy)
   810   map_filter (prep_eqn strictness thy)
   811   #> AList.group (op =);
   811   #> AList.group (op =);
   812 
   812 
   813 fun prep_abs_eqn strictness thy =
   813 fun prep_abs_eqn strictness thy =
  1271     (fn tyco => Local_Theory.background_theory
  1271     (fn tyco => Local_Theory.background_theory
  1272       (fn thy =>
  1272       (fn thy =>
  1273         thy
  1273         thy
  1274         |> Sign.root_path
  1274         |> Sign.root_path
  1275         |> Sign.add_path (Long_Name.qualifier tyco)
  1275         |> Sign.add_path (Long_Name.qualifier tyco)
  1276         |> f tyco 
  1276         |> f tyco
  1277         |> Sign.restore_naming thy));
  1277         |> Sign.restore_naming thy));
  1278 
  1278 
  1279 fun datatype_interpretation f =
  1279 fun datatype_interpretation f =
  1280   type_interpretation (fn tyco => fn thy =>
  1280   type_interpretation (fn tyco => fn thy =>
  1281     case get_type thy tyco of
  1281     case get_type thy tyco of
  1457 val declare_abstract_eqn_global = generic_declare_abstract_eqn Strict;
  1457 val declare_abstract_eqn_global = generic_declare_abstract_eqn Strict;
  1458 
  1458 
  1459 val declare_abstract_eqn =
  1459 val declare_abstract_eqn =
  1460   code_declaration Morphism.thm generic_declare_abstract_eqn;
  1460   code_declaration Morphism.thm generic_declare_abstract_eqn;
  1461 
  1461 
  1462 fun declare_aborting_global c = 
  1462 fun declare_aborting_global c =
  1463   modify_specs (register_fun_spec c aborting);
  1463   modify_specs (register_fun_spec c aborting);
  1464 
  1464 
  1465 fun declare_unimplemented_global c =
  1465 fun declare_unimplemented_global c =
  1466   modify_specs (register_fun_spec c unimplemented);
  1466   modify_specs (register_fun_spec c unimplemented);
  1467 
  1467