src/Pure/assumption.ML
changeset 21577 3ff126ca39b4
parent 21517 b165c9120702
child 21605 4e7307e229b3
equal deleted inserted replaced
21576:8c11b1ce2f05 21577:3ff126ca39b4
     9 sig
     9 sig
    10   type export
    10   type export
    11   val assume_export: export
    11   val assume_export: export
    12   val presume_export: export
    12   val presume_export: export
    13   val assume: cterm -> thm
    13   val assume: cterm -> thm
    14   val assms_of: Proof.context -> term list
    14   val assms_of: Proof.context -> cterm list
    15   val prems_of: Proof.context -> thm list
    15   val prems_of: Proof.context -> thm list
    16   val extra_hyps: Proof.context -> thm -> term list
    16   val extra_hyps: Proof.context -> thm -> term list
    17   val add_assms: export -> cterm list -> Proof.context -> thm list * Proof.context
    17   val add_assms: export -> cterm list -> Proof.context -> thm list * Proof.context
    18   val add_assumes: cterm list -> Proof.context -> thm list * Proof.context
    18   val add_assumes: cterm list -> Proof.context -> thm list * Proof.context
    19   val add_view: Proof.context -> cterm list -> Proof.context -> Proof.context
    19   val add_view: Proof.context -> cterm list -> Proof.context -> Proof.context
    71 
    71 
    72 fun map_data f = Data.map (fn Data {assms, prems} => make_data (f (assms, prems)));
    72 fun map_data f = Data.map (fn Data {assms, prems} => make_data (f (assms, prems)));
    73 fun rep_data ctxt = Data.get ctxt |> (fn Data args => args);
    73 fun rep_data ctxt = Data.get ctxt |> (fn Data args => args);
    74 
    74 
    75 val assumptions_of = #assms o rep_data;
    75 val assumptions_of = #assms o rep_data;
    76 val assms_of = map Thm.term_of o maps #2 o assumptions_of;
    76 val assms_of = maps #2 o assumptions_of;
    77 val prems_of = #prems o rep_data;
    77 val prems_of = #prems o rep_data;
    78 
    78 
    79 fun extra_hyps ctxt th = subtract (op aconv) (assms_of ctxt) (Thm.hyps_of th);
    79 fun extra_hyps ctxt th = subtract (op aconv) (map Thm.term_of (assms_of ctxt)) (Thm.hyps_of th);
    80 
    80 
    81 
    81 
    82 (* add assumptions *)
    82 (* add assumptions *)
    83 
    83 
    84 fun add_assms export new_asms =
    84 fun add_assms export new_asms =