equal
deleted
inserted
replaced
63 (xstring * context attribute list) list) list -> state -> state |
63 (xstring * context attribute list) list) list -> state -> state |
64 val with_thmss_i: ((bstring * context attribute list) * |
64 val with_thmss_i: ((bstring * context attribute list) * |
65 (thm list * context attribute list) list) list -> state -> state |
65 (thm list * context attribute list) list) list -> state -> state |
66 val using_thmss: ((xstring * context attribute list) list) list -> state -> state |
66 val using_thmss: ((xstring * context attribute list) list) list -> state -> state |
67 val using_thmss_i: ((thm list * context attribute list) list) list -> state -> state |
67 val using_thmss_i: ((thm list * context attribute list) list) list -> state -> state |
|
68 val instantiate_locale: string * string -> state -> state |
68 val fix: (string list * string option) list -> state -> state |
69 val fix: (string list * string option) list -> state -> state |
69 val fix_i: (string list * typ option) list -> state -> state |
70 val fix_i: (string list * typ option) list -> state -> state |
70 val assm: ProofContext.exporter |
71 val assm: ProofContext.exporter |
71 -> ((string * context attribute list) * (string * (string list * string list)) list) list |
72 -> ((string * context attribute list) * (string * (string list * string list)) list) list |
72 -> state -> state |
73 -> state -> state |
508 val let_bind = gen_bind (ProofContext.match_bind true); |
509 val let_bind = gen_bind (ProofContext.match_bind true); |
509 val let_bind_i = gen_bind (ProofContext.match_bind_i true); |
510 val let_bind_i = gen_bind (ProofContext.match_bind_i true); |
510 |
511 |
511 |
512 |
512 (* have_thmss *) |
513 (* have_thmss *) |
|
514 (* CB: this implements "note" of the Isar/VM *) |
513 |
515 |
514 local |
516 local |
515 |
517 |
516 fun gen_have_thmss f args state = |
518 fun gen_have_thmss f args state = |
517 state |
519 state |
562 val using_thmss = gen_using_thmss ProofContext.have_thmss; |
564 val using_thmss = gen_using_thmss ProofContext.have_thmss; |
563 val using_thmss_i = gen_using_thmss ProofContext.have_thmss_i; |
565 val using_thmss_i = gen_using_thmss ProofContext.have_thmss_i; |
564 |
566 |
565 end; |
567 end; |
566 |
568 |
|
569 |
|
570 (* locale instantiation *) |
|
571 |
|
572 fun instantiate_locale (loc_name, prfx) state = let |
|
573 val ctxt = context_of state; |
|
574 val facts = if is_chain state then get_facts state else None; |
|
575 in |
|
576 state |
|
577 |> assert_forward_or_chain |
|
578 |> enter_forward |
|
579 |> reset_facts |
|
580 |> map_context (Locale.instantiate loc_name prfx facts) |
|
581 end; |
567 |
582 |
568 (* fix *) |
583 (* fix *) |
569 |
584 |
570 fun gen_fix f xs state = |
585 fun gen_fix f xs state = |
571 state |
586 state |