src/Pure/Thy/export_theory.ML
changeset 71207 8af82f3e03c9
parent 71202 785610ad6bfa
child 71208 5e0050eb64f2
equal deleted inserted replaced
71206:20dce31fe7f4 71207:8af82f3e03c9
   400       if null constdefs then () else export_body thy "constdefs" (encode_constdefs constdefs);
   400       if null constdefs then () else export_body thy "constdefs" (encode_constdefs constdefs);
   401 
   401 
   402 
   402 
   403     (* spec rules *)
   403     (* spec rules *)
   404 
   404 
   405     fun encode_spec {name, rough_classification, terms, rules} =
   405     fun encode_spec {pos, name, rough_classification, terms, rules} =
   406       let
   406       let
   407         val terms' = map Logic.unvarify_global terms;
   407         val terms' = map Logic.unvarify_global terms;
   408         val rules' = map (fn rule => #1 (standard_prop_of (prep_thm rule) NONE)) rules;
   408         val rules' = map (fn rule => #1 (standard_prop_of (prep_thm rule) NONE)) rules;
   409         open XML.Encode;
   409         open XML.Encode;
   410       in
   410       in
   411         pair string (pair Spec_Rules.encode_rough_classification
   411         pair properties (pair string (pair Spec_Rules.encode_rough_classification
   412           (pair (list encode_term) (list encode_prop)))
   412           (pair (list encode_term) (list encode_prop))))
   413           (name, (rough_classification, (terms', rules')))
   413           (Position.properties_of pos, (name, (rough_classification, (terms', rules'))))
   414       end;
   414       end;
   415 
   415 
   416     val _ =
   416     val _ =
   417       (case Spec_Rules.dest_theory thy of
   417       (case Spec_Rules.dest_theory thy of
   418         [] => ()
   418         [] => ()