src/Pure/Isar/spec_rules.ML
changeset 34948 2d5f2a9f7601
parent 33702 9e6b6594da6b
child 41472 f6ab14e61604
equal deleted inserted replaced
34919:a5407aabacfe 34948:2d5f2a9f7601
    10 sig
    10 sig
    11   datatype rough_classification = Unknown | Equational | Inductive | Co_Inductive
    11   datatype rough_classification = Unknown | Equational | Inductive | Co_Inductive
    12   type spec = rough_classification * (term list * thm list)
    12   type spec = rough_classification * (term list * thm list)
    13   val get: Proof.context -> spec list
    13   val get: Proof.context -> spec list
    14   val get_global: theory -> spec list
    14   val get_global: theory -> spec list
       
    15   val retrieve: Proof.context -> term -> spec list
       
    16   val retrieve_global: theory -> term -> spec list
    15   val add: rough_classification -> term list * thm list -> local_theory -> local_theory
    17   val add: rough_classification -> term list * thm list -> local_theory -> local_theory
    16   val add_global: rough_classification -> term list * thm list -> theory -> theory
    18   val add_global: rough_classification -> term list * thm list -> theory -> theory
    17 end;
    19 end;
    18 
    20 
    19 structure Spec_Rules: SPEC_RULES =
    21 structure Spec_Rules: SPEC_RULES =
    39 );
    41 );
    40 
    42 
    41 val get = Item_Net.content o Rules.get o Context.Proof;
    43 val get = Item_Net.content o Rules.get o Context.Proof;
    42 val get_global = Item_Net.content o Rules.get o Context.Theory;
    44 val get_global = Item_Net.content o Rules.get o Context.Theory;
    43 
    45 
       
    46 val retrieve = Item_Net.retrieve o Rules.get o Context.Proof;
       
    47 val retrieve_global = Item_Net.retrieve o Rules.get o Context.Theory;
       
    48 
    44 fun add class (ts, ths) lthy =
    49 fun add class (ts, ths) lthy =
    45   let
    50   let
    46     val cts = map (Thm.cterm_of (ProofContext.theory_of lthy)) ts;
    51     val cts = map (Thm.cterm_of (ProofContext.theory_of lthy)) ts;
    47   in
    52   in
    48     lthy |> Local_Theory.declaration true
    53     lthy |> Local_Theory.declaration true