src/Pure/Isar/proof_context.ML
changeset 21610 52c0d3280798
parent 21600 222810ce6b05
child 21612 52859439959a
equal deleted inserted replaced
21609:5546a48bee93 21610:52c0d3280798
    68   val inferred_fixes: Proof.context -> (string * typ) list * Proof.context
    68   val inferred_fixes: Proof.context -> (string * typ) list * Proof.context
    69   val read_tyname: Proof.context -> string -> typ
    69   val read_tyname: Proof.context -> string -> typ
    70   val read_const: Proof.context -> string -> term
    70   val read_const: Proof.context -> string -> term
    71   val goal_export: Proof.context -> Proof.context -> thm list -> thm list
    71   val goal_export: Proof.context -> Proof.context -> thm list -> thm list
    72   val export: Proof.context -> Proof.context -> thm list -> thm list
    72   val export: Proof.context -> Proof.context -> thm list -> thm list
    73   val export_standard: Proof.context -> Proof.context -> thm list -> thm list
       
    74   val standard: Proof.context -> thm list -> thm list
       
    75   val export_morphism: Proof.context -> Proof.context -> morphism
    73   val export_morphism: Proof.context -> Proof.context -> morphism
    76   val add_binds: (indexname * string option) list -> Proof.context -> Proof.context
    74   val add_binds: (indexname * string option) list -> Proof.context -> Proof.context
    77   val add_binds_i: (indexname * term option) list -> Proof.context -> Proof.context
    75   val add_binds_i: (indexname * term option) list -> Proof.context -> Proof.context
    78   val auto_bind_goal: term list -> Proof.context -> Proof.context
    76   val auto_bind_goal: term list -> Proof.context -> Proof.context
    79   val auto_bind_facts: term list -> Proof.context -> Proof.context
    77   val auto_bind_facts: term list -> Proof.context -> Proof.context
   570     SOME x => Free (x, infer_type ctxt x)
   568     SOME x => Free (x, infer_type ctxt x)
   571   | NONE => Consts.read_const (consts_of ctxt) c);
   569   | NONE => Consts.read_const (consts_of ctxt) c);
   572 
   570 
   573 
   571 
   574 
   572 
   575 (** export theorems **)
   573 (** export results **)
   576 
       
   577 (* rules *)
       
   578 
   574 
   579 fun common_export is_goal inner outer =
   575 fun common_export is_goal inner outer =
   580   map (Assumption.export is_goal inner outer) #>
   576   map (Assumption.export is_goal inner outer) #>
   581   Variable.export inner outer;
   577   Variable.export inner outer;
   582 
   578 
   583 val goal_export = common_export true;
   579 val goal_export = common_export true;
   584 val export = common_export false;
   580 val export = common_export false;
   585 
       
   586 fun export_standard inner outer =
       
   587   export inner outer #> map Drule.local_standard;
       
   588 
       
   589 fun standard ctxt = export_standard ctxt ctxt;
       
   590 
       
   591 
       
   592 (* morphisms *)
       
   593 
   581 
   594 fun export_morphism inner outer =
   582 fun export_morphism inner outer =
   595   Assumption.export_morphism inner outer $>
   583   Assumption.export_morphism inner outer $>
   596   Variable.export_morphism inner outer;
   584   Variable.export_morphism inner outer;
   597 
   585