src/Pure/Isar/class.ML
changeset 28084 a05ca48ef263
parent 28083 103d9282a946
child 28085 914183e229e9
equal deleted inserted replaced
28083:103d9282a946 28084:a05ca48ef263
    17   val declare: class -> Properties.T
    17   val declare: class -> Properties.T
    18     -> (string * mixfix) * term -> theory -> theory
    18     -> (string * mixfix) * term -> theory -> theory
    19   val abbrev: class -> Syntax.mode -> Properties.T
    19   val abbrev: class -> Syntax.mode -> Properties.T
    20     -> (string * mixfix) * term -> theory -> theory
    20     -> (string * mixfix) * term -> theory -> theory
    21   val note: class -> string
    21   val note: class -> string
    22     -> ((Name.binding * Attrib.src list) * (thm list * Attrib.src list) list) list
    22     -> (Attrib.binding * (thm list * Attrib.src list) list) list
    23     -> theory -> (bstring * thm list) list * theory
    23     -> theory -> (bstring * thm list) list * theory
    24   val declaration: class -> declaration -> theory -> theory
    24   val declaration: class -> declaration -> theory -> theory
    25   val refresh_syntax: class -> Proof.context -> Proof.context
    25   val refresh_syntax: class -> Proof.context -> Proof.context
    26 
    26 
    27   val intro_classes_tac: thm list -> tactic
    27   val intro_classes_tac: thm list -> tactic
    46   val pretty_instantiation: local_theory -> Pretty.T
    46   val pretty_instantiation: local_theory -> Pretty.T
    47   val type_name: string -> string
    47   val type_name: string -> string
    48 
    48 
    49   (*old axclass layer*)
    49   (*old axclass layer*)
    50   val axclass_cmd: bstring * xstring list
    50   val axclass_cmd: bstring * xstring list
    51     -> ((Name.binding * Attrib.src list) * string list) list
    51     -> (Attrib.binding * string list) list
    52     -> theory -> class * theory
    52     -> theory -> class * theory
    53   val classrel_cmd: xstring * xstring -> theory -> Proof.state
    53   val classrel_cmd: xstring * xstring -> theory -> Proof.state
    54 
    54 
    55   (*old instance layer*)
    55   (*old instance layer*)
    56   val instance_arity: (theory -> theory) -> arity -> theory -> Proof.state
    56   val instance_arity: (theory -> theory) -> arity -> theory -> Proof.state
   372     val prfx = class_prefix class;
   372     val prfx = class_prefix class;
   373   in
   373   in
   374     thy
   374     thy
   375     |> fold2 add_constraint (map snd consts) no_constraints
   375     |> fold2 add_constraint (map snd consts) no_constraints
   376     |> prove_interpretation tac ((false, prfx), []) (Locale.Locale class)
   376     |> prove_interpretation tac ((false, prfx), []) (Locale.Locale class)
   377           (inst, map (fn def => ((Name.no_binding, []), def)) defs)
   377           (inst, map (fn def => (Attrib.no_binding, def)) defs)
   378     |> fold2 add_constraint (map snd consts) constraints
   378     |> fold2 add_constraint (map snd consts) constraints
   379   end;
   379   end;
   380 
   380 
   381 fun prove_subclass (sub, sup) some_thm thy =
   381 fun prove_subclass (sub, sup) some_thm thy =
   382   let
   382   let