src/Pure/Isar/proof.ML
changeset 16169 b59202511b8a
parent 16146 4cf0af7ca7c9
child 16450 66667013ca6e
equal deleted inserted replaced
16168:adb83939177f 16169:b59202511b8a
    66     (thmref * context attribute list) list) list -> state -> state
    66     (thmref * context attribute list) list) list -> state -> state
    67   val with_thmss_i: ((bstring * context attribute list) *
    67   val with_thmss_i: ((bstring * context attribute list) *
    68     (thm list * context attribute list) list) list -> state -> state
    68     (thm list * context attribute list) list) list -> state -> state
    69   val using_thmss: ((thmref * context attribute list) list) list -> state -> state
    69   val using_thmss: ((thmref * context attribute list) list) list -> state -> state
    70   val using_thmss_i: ((thm list * context attribute list) list) list -> state -> state
    70   val using_thmss_i: ((thm list * context attribute list) list) list -> state -> state
    71   val instantiate_locale: string * (string * context attribute list) -> state
       
    72     -> state
       
    73   val fix: (string list * string option) list -> state -> state
    71   val fix: (string list * string option) list -> state -> state
    74   val fix_i: (string list * typ option) list -> state -> state
    72   val fix_i: (string list * typ option) list -> state -> state
    75   val assm: ProofContext.exporter
    73   val assm: ProofContext.exporter
    76     -> ((string * context attribute list) * (string * (string list * string list)) list) list
    74     -> ((string * context attribute list) * (string * (string list * string list)) list) list
    77     -> state -> state
    75     -> state -> state
   633 val using_thmss_i = gen_using_thmss ProofContext.note_thmss_i;
   631 val using_thmss_i = gen_using_thmss ProofContext.note_thmss_i;
   634 
   632 
   635 end;
   633 end;
   636 
   634 
   637 
   635 
   638 (* locale instantiation *)
       
   639 
       
   640 fun instantiate_locale (loc_name, prfx_attribs) state =
       
   641   let
       
   642     val facts = if is_chain state then get_facts state else NONE;
       
   643   in
       
   644     state
       
   645     |> assert_forward_or_chain
       
   646     |> enter_forward
       
   647     |> reset_facts
       
   648     |> map_context (Locale.instantiate loc_name prfx_attribs facts)
       
   649   end;
       
   650 
       
   651 
       
   652 (* fix *)
   636 (* fix *)
   653 
   637 
   654 fun gen_fix f xs state =
   638 fun gen_fix f xs state =
   655   state
   639   state
   656   |> assert_forward
   640   |> assert_forward