equal
deleted
inserted
replaced
141 val del_context_unsafe_wrapper: string -> theory -> theory |
141 val del_context_unsafe_wrapper: string -> theory -> theory |
142 val get_claset: theory -> claset |
142 val get_claset: theory -> claset |
143 val get_local_claset: Proof.context -> claset |
143 val get_local_claset: Proof.context -> claset |
144 val put_local_claset: claset -> Proof.context -> Proof.context |
144 val put_local_claset: claset -> Proof.context -> Proof.context |
145 val print_local_claset: Proof.context -> unit |
145 val print_local_claset: Proof.context -> unit |
|
146 val get_cs: Context.generic -> claset |
|
147 val map_cs: (claset -> claset) -> Context.generic -> Context.generic |
146 val safe_dest: int option -> attribute |
148 val safe_dest: int option -> attribute |
147 val safe_elim: int option -> attribute |
149 val safe_elim: int option -> attribute |
148 val safe_intro: int option -> attribute |
150 val safe_intro: int option -> attribute |
149 val haz_dest: int option -> attribute |
151 val haz_dest: int option -> attribute |
150 val haz_elim: int option -> attribute |
152 val haz_elim: int option -> attribute |
858 |
860 |
859 |
861 |
860 |
862 |
861 (** claset data **) |
863 (** claset data **) |
862 |
864 |
863 (* global claset *) |
865 (* global clasets *) |
864 |
866 |
865 structure GlobalClaset = TheoryDataFun |
867 structure GlobalClaset = TheoryDataFun |
866 ( |
868 ( |
867 type T = claset ref * context_cs; |
869 type T = claset ref * context_cs; |
868 val empty = (ref empty_cs, empty_context_cs); |
870 val empty = (ref empty_cs, empty_context_cs); |
910 (AList.update (op =) wrapper); |
912 (AList.update (op =) wrapper); |
911 fun del_context_unsafe_wrapper name = (map_context_cs o apsnd) |
913 fun del_context_unsafe_wrapper name = (map_context_cs o apsnd) |
912 (AList.delete (op =) name); |
914 (AList.delete (op =) name); |
913 |
915 |
914 |
916 |
915 (* local claset *) |
917 (* local clasets *) |
916 |
918 |
917 structure LocalClaset = ProofDataFun |
919 structure LocalClaset = ProofDataFun |
918 ( |
920 ( |
919 type T = claset; |
921 type T = claset; |
920 val init = get_claset; |
922 val init = get_claset; |
925 |
927 |
926 fun local_claset_of ctxt = |
928 fun local_claset_of ctxt = |
927 context_cs ctxt (get_local_claset ctxt) (get_context_cs ctxt); |
929 context_cs ctxt (get_local_claset ctxt) (get_context_cs ctxt); |
928 |
930 |
929 val print_local_claset = print_cs o local_claset_of; |
931 val print_local_claset = print_cs o local_claset_of; |
|
932 |
|
933 |
|
934 (* generic clasets *) |
|
935 |
|
936 fun get_cs (Context.Theory thy) = claset_of thy |
|
937 | get_cs (Context.Proof ctxt) = local_claset_of ctxt; |
|
938 |
|
939 fun map_cs f (Context.Theory thy) = (change_claset_of thy f; Context.Theory thy) |
|
940 | map_cs f (Context.Proof ctxt) = Context.Proof (LocalClaset.map f ctxt); |
930 |
941 |
931 |
942 |
932 (* attributes *) |
943 (* attributes *) |
933 |
944 |
934 fun attrib f = Thm.declaration_attribute (fn th => |
945 fun attrib f = Thm.declaration_attribute (fn th => |