src/Pure/Isar/local_theory.ML
changeset 78072 001739cb8d08
parent 78064 4e865c45458b
child 78084 f0aca0506531
equal deleted inserted replaced
78071:61a1bf9eb0ce 78072:001739cb8d08
    32   val full_name: local_theory -> binding -> string
    32   val full_name: local_theory -> binding -> string
    33   val new_group: local_theory -> local_theory
    33   val new_group: local_theory -> local_theory
    34   val reset_group: local_theory -> local_theory
    34   val reset_group: local_theory -> local_theory
    35   val standard_morphism: local_theory -> Proof.context -> morphism
    35   val standard_morphism: local_theory -> Proof.context -> morphism
    36   val standard_morphism_theory: local_theory -> morphism
    36   val standard_morphism_theory: local_theory -> morphism
    37   val standard_form: local_theory -> Proof.context -> (morphism -> 'a) -> 'a
    37   val standard_form: local_theory -> Proof.context -> 'a Morphism.entity -> 'a
    38   val raw_theory_result: (theory -> 'a * theory) -> local_theory -> 'a * local_theory
    38   val raw_theory_result: (theory -> 'a * theory) -> local_theory -> 'a * local_theory
    39   val raw_theory: (theory -> theory) -> local_theory -> local_theory
    39   val raw_theory: (theory -> theory) -> local_theory -> local_theory
    40   val background_theory_result: (theory -> 'a * theory) -> local_theory -> 'a * local_theory
    40   val background_theory_result: (theory -> 'a * theory) -> local_theory -> 'a * local_theory
    41   val background_theory: (theory -> theory) -> local_theory -> local_theory
    41   val background_theory: (theory -> theory) -> local_theory -> local_theory
    42   val target_of: local_theory -> Proof.context
    42   val target_of: local_theory -> Proof.context
    53   val notes: Attrib.fact list -> local_theory -> (string * thm list) list * local_theory
    53   val notes: Attrib.fact list -> local_theory -> (string * thm list) list * local_theory
    54   val notes_kind: string -> Attrib.fact list -> local_theory ->
    54   val notes_kind: string -> Attrib.fact list -> local_theory ->
    55     (string * thm list) list * local_theory
    55     (string * thm list) list * local_theory
    56   val abbrev: Syntax.mode -> (binding * mixfix) * term -> local_theory ->
    56   val abbrev: Syntax.mode -> (binding * mixfix) * term -> local_theory ->
    57     (term * term) * local_theory
    57     (term * term) * local_theory
    58   val declaration: {syntax: bool, pervasive: bool} -> declaration -> local_theory -> local_theory
    58   val declaration: {syntax: bool, pervasive: bool} -> Morphism.declaration_fn ->
       
    59     local_theory -> local_theory
    59   val theory_registration: Locale.registration -> local_theory -> local_theory
    60   val theory_registration: Locale.registration -> local_theory -> local_theory
    60   val locale_dependency: Locale.registration -> local_theory -> local_theory
    61   val locale_dependency: Locale.registration -> local_theory -> local_theory
    61   val pretty: local_theory -> Pretty.T list
    62   val pretty: local_theory -> Pretty.T list
    62   val add_thms_dynamic: binding * (Context.generic -> thm list) -> local_theory -> local_theory
    63   val add_thms_dynamic: binding * (Context.generic -> thm list) -> local_theory -> local_theory
    63   val set_defsort: sort -> local_theory -> local_theory
    64   val set_defsort: sort -> local_theory -> local_theory
   100  {define: bool -> (binding * mixfix) * (Attrib.binding * term) -> local_theory ->
   101  {define: bool -> (binding * mixfix) * (Attrib.binding * term) -> local_theory ->
   101     (term * (string * thm)) * local_theory,
   102     (term * (string * thm)) * local_theory,
   102   notes: string -> Attrib.fact list -> local_theory -> (string * thm list) list * local_theory,
   103   notes: string -> Attrib.fact list -> local_theory -> (string * thm list) list * local_theory,
   103   abbrev: Syntax.mode -> (binding * mixfix) * term -> local_theory ->
   104   abbrev: Syntax.mode -> (binding * mixfix) * term -> local_theory ->
   104     (term * term) * local_theory,
   105     (term * term) * local_theory,
   105   declaration: {syntax: bool, pervasive: bool} -> declaration -> local_theory -> local_theory,
   106   declaration: {syntax: bool, pervasive: bool} -> Morphism.declaration ->
       
   107     local_theory -> local_theory,
   106   theory_registration: Locale.registration -> local_theory -> local_theory,
   108   theory_registration: Locale.registration -> local_theory -> local_theory,
   107   locale_dependency: Locale.registration -> local_theory -> local_theory,
   109   locale_dependency: Locale.registration -> local_theory -> local_theory,
   108   pretty: local_theory -> Pretty.T list};
   110   pretty: local_theory -> Pretty.T list};
   109 
   111 
   110 type lthy =
   112 type lthy =
   278 val pretty = operation #pretty;
   280 val pretty = operation #pretty;
   279 val abbrev = operation2 #abbrev;
   281 val abbrev = operation2 #abbrev;
   280 val define = operation2 #define false;
   282 val define = operation2 #define false;
   281 val define_internal = operation2 #define true;
   283 val define_internal = operation2 #define true;
   282 val notes_kind = operation2 #notes;
   284 val notes_kind = operation2 #notes;
   283 val declaration = operation2 #declaration;
   285 fun declaration args = operation2 #declaration args o Morphism.entity;
   284 val theory_registration = operation1 #theory_registration;
   286 val theory_registration = operation1 #theory_registration;
   285 fun locale_dependency registration =
   287 fun locale_dependency registration =
   286   assert_bottom #> operation1 #locale_dependency registration;
   288   assert_bottom #> operation1 #locale_dependency registration;
   287 
   289 
   288 
   290