equal
deleted
inserted
replaced
617 (* 2nd stage: defs_thy *) |
617 (* 2nd stage: defs_thy *) |
618 |
618 |
619 val (defs_thy, (field_defs, dest_defs)) = |
619 val (defs_thy, (field_defs, dest_defs)) = |
620 types_thy |
620 types_thy |
621 |> (Theory.add_consts_i o map (Syntax.no_syn o apfst base)) (field_decls @ dest_decls) |
621 |> (Theory.add_consts_i o map (Syntax.no_syn o apfst base)) (field_decls @ dest_decls) |
622 |> (PureThy.add_defs_i o map (fn x => (x, [Drule.tag_internal]))) field_specs |
622 |> (PureThy.add_defs_i false o map (fn x => (x, [Drule.tag_internal]))) field_specs |
623 |>>> (PureThy.add_defs_i o map (fn x => (x, [Drule.tag_internal]))) dest_specs; |
623 |>>> (PureThy.add_defs_i false o map (fn x => (x, [Drule.tag_internal]))) dest_specs; |
624 |
624 |
625 |
625 |
626 (* 3rd stage: thms_thy *) |
626 (* 3rd stage: thms_thy *) |
627 |
627 |
628 val prove = prove_simp (Theory.sign_of defs_thy) HOL_basic_ss; |
628 val prove = prove_simp (Theory.sign_of defs_thy) HOL_basic_ss; |
787 |> Theory.add_tyabbrs_i recordT_specs (*not made part of record name space!*) |
787 |> Theory.add_tyabbrs_i recordT_specs (*not made part of record name space!*) |
788 |> Theory.add_path bname |
788 |> Theory.add_path bname |
789 |> Theory.add_trfuns ([], [], field_tr's, []) |
789 |> Theory.add_trfuns ([], [], field_tr's, []) |
790 |> (Theory.add_consts_i o map Syntax.no_syn) |
790 |> (Theory.add_consts_i o map Syntax.no_syn) |
791 (sel_decls @ update_decls @ make_decls) |
791 (sel_decls @ update_decls @ make_decls) |
792 |> (PureThy.add_defs_i o map (fn x => (x, [Drule.tag_internal]))) sel_specs |
792 |> (PureThy.add_defs_i false o map (fn x => (x, [Drule.tag_internal]))) sel_specs |
793 |>>> (PureThy.add_defs_i o map (fn x => (x, [Drule.tag_internal]))) update_specs |
793 |>>> (PureThy.add_defs_i false o map (fn x => (x, [Drule.tag_internal]))) update_specs |
794 |>>> (PureThy.add_defs_i o map Thm.no_attributes) make_specs; |
794 |>>> (PureThy.add_defs_i false o map Thm.no_attributes) make_specs; |
795 |
795 |
796 |
796 |
797 (* 3rd stage: thms_thy *) |
797 (* 3rd stage: thms_thy *) |
798 |
798 |
799 val parent_simps = flat (map #simps parents); |
799 val parent_simps = flat (map #simps parents); |