equal
deleted
inserted
replaced
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 [] => () |