src/HOLCF/Tools/pcpodef_package.ML
changeset 28394 b9c8e3a12a98
parent 28377 73b380ba1743
child 28662 64ab5bb68d4c
equal deleted inserted replaced
28393:30ba169e8c45 28394:b9c8e3a12a98
    98         val ctxt_thy = ProofContext.init (ProofContext.theory_of lthy4);
    98         val ctxt_thy = ProofContext.init (ProofContext.theory_of lthy4);
    99         val less_definition = singleton (ProofContext.export lthy4 ctxt_thy) less_definition';
    99         val less_definition = singleton (ProofContext.export lthy4 ctxt_thy) less_definition';
   100         val thy5 = lthy4
   100         val thy5 = lthy4
   101           |> Class.prove_instantiation_instance
   101           |> Class.prove_instantiation_instance
   102               (K (Tactic.rtac (typedef_po OF [type_definition, less_definition]) 1))
   102               (K (Tactic.rtac (typedef_po OF [type_definition, less_definition]) 1))
   103           |> LocalTheory.exit
   103           |> LocalTheory.exit_global;
   104           |> ProofContext.theory_of;
       
   105       in ((type_definition, less_definition, set_def), thy5) end;
   104       in ((type_definition, less_definition, set_def), thy5) end;
   106 
   105 
   107     fun make_cpo admissible (type_def, less_def, set_def) theory =
   106     fun make_cpo admissible (type_def, less_def, set_def) theory =
   108       let
   107       let
   109         val admissible' = fold_rule (the_list set_def) admissible;
   108         val admissible' = fold_rule (the_list set_def) admissible;