src/Pure/Isar/proof_context.ML
author wenzelm
Mon, 13 Apr 2020 22:08:14 +0200
changeset 71751 abf3e80bd815
parent 70734 31364e70ff3e
child 71674 48ff625687f5
permissions -rw-r--r--
tuned NEWS;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5819
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
     1
(*  Title:      Pure/Isar/proof_context.ML
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
     2
    Author:     Markus Wenzel, TU Muenchen
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
     3
19001
64e4b5bc6443 tuned comment;
wenzelm
parents: 18971
diff changeset
     4
The key concept of Isar proof contexts: elevates primitive local
64e4b5bc6443 tuned comment;
wenzelm
parents: 18971
diff changeset
     5
reasoning Gamma |- phi to a structured concept, with generic context
20234
7e0693474bcd added legacy_pretty_thm (with fall-back on ProtoPure.thy);
wenzelm
parents: 20209
diff changeset
     6
elements.  See also structure Variable and Assumption.
5819
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
     7
*)
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
     8
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
     9
signature PROOF_CONTEXT =
5fff21d4ca3a Proof context information.
wenzelm
parents:
diff changeset
    10
sig
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    11
  val theory_of: Proof.context -> theory
36610
bafd82950e24 renamed ProofContext.init to ProofContext.init_global to emphasize that this is not the real thing;
wenzelm
parents: 36542
diff changeset
    12
  val init_global: theory -> Proof.context
51686
532e0ac5a66d added ML antiquotation @{theory_context};
wenzelm
parents: 51601
diff changeset
    13
  val get_global: theory -> string -> Proof.context
24388
cf24894b81ff added inner syntax mode, includes former type_mode and is_stmt;
wenzelm
parents: 24371
diff changeset
    14
  type mode
24501
7a2b20145888 export various inner syntax modes;
wenzelm
parents: 24495
diff changeset
    15
  val mode_default: mode
7a2b20145888 export various inner syntax modes;
wenzelm
parents: 24495
diff changeset
    16
  val mode_pattern: mode
7a2b20145888 export various inner syntax modes;
wenzelm
parents: 24495
diff changeset
    17
  val mode_schematic: mode
7a2b20145888 export various inner syntax modes;
wenzelm
parents: 24495
diff changeset
    18
  val mode_abbrev: mode
24388
cf24894b81ff added inner syntax mode, includes former type_mode and is_stmt;
wenzelm
parents: 24371
diff changeset
    19
  val set_mode: mode -> Proof.context -> Proof.context
cf24894b81ff added inner syntax mode, includes former type_mode and is_stmt;
wenzelm
parents: 24371
diff changeset
    20
  val get_mode: Proof.context -> mode
cf24894b81ff added inner syntax mode, includes former type_mode and is_stmt;
wenzelm
parents: 24371
diff changeset
    21
  val restore_mode: Proof.context -> Proof.context -> Proof.context
27286
2ea20e5fdf16 renamed is_abbrev_mode to abbrev_mode;
wenzelm
parents: 27264
diff changeset
    22
  val abbrev_mode: Proof.context -> bool
35111
18cd034922ba added ML antiquotation @{syntax_const};
wenzelm
parents: 34982
diff changeset
    23
  val syn_of: Proof.context -> Syntax.syntax
35669
a91c7ed801b8 added ProofContext.tsig_of -- proforma version for local name space only, not logical content;
wenzelm
parents: 35616
diff changeset
    24
  val tsig_of: Proof.context -> Type.tsig
36451
ddc965e172c4 localized default sort;
wenzelm
parents: 36450
diff changeset
    25
  val set_defsort: sort -> Proof.context -> Proof.context
35680
897740382442 aliases for class/type/const;
wenzelm
parents: 35669
diff changeset
    26
  val default_sort: Proof.context -> indexname -> sort
59840
0ab8750c9342 proper local Proof_Context.arity_sorts;
wenzelm
parents: 59795
diff changeset
    27
  val arity_sorts: Proof.context -> string -> sort -> sort list
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    28
  val consts_of: Proof.context -> Consts.T
20784
eece9aaaf352 Syntax.mode;
wenzelm
parents: 20631
diff changeset
    29
  val set_syntax_mode: Syntax.mode -> Proof.context -> Proof.context
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    30
  val restore_syntax_mode: Proof.context -> Proof.context -> Proof.context
47005
421760a1efe7 maintain generic context naming in structure Name_Space (NB: empty = default_naming, init = local_naming);
wenzelm
parents: 47001
diff changeset
    31
  val map_naming: (Name_Space.naming -> Name_Space.naming) -> Proof.context -> Proof.context
421760a1efe7 maintain generic context naming in structure Name_Space (NB: empty = default_naming, init = local_naming);
wenzelm
parents: 47001
diff changeset
    32
  val naming_of: Proof.context -> Name_Space.naming
421760a1efe7 maintain generic context naming in structure Name_Space (NB: empty = default_naming, init = local_naming);
wenzelm
parents: 47001
diff changeset
    33
  val restore_naming: Proof.context -> Proof.context -> Proof.context
421760a1efe7 maintain generic context naming in structure Name_Space (NB: empty = default_naming, init = local_naming);
wenzelm
parents: 47001
diff changeset
    34
  val full_name: Proof.context -> binding -> string
59886
e0dc738eb08c support for explicit scope of private entries;
wenzelm
parents: 59880
diff changeset
    35
  val get_scope: Proof.context -> Binding.scope option
e0dc738eb08c support for explicit scope of private entries;
wenzelm
parents: 59880
diff changeset
    36
  val new_scope: Proof.context -> Binding.scope * Proof.context
59923
b21c82422d65 support private scope for individual local theory commands;
wenzelm
parents: 59917
diff changeset
    37
  val private_scope: Binding.scope -> Proof.context -> Proof.context
b21c82422d65 support private scope for individual local theory commands;
wenzelm
parents: 59917
diff changeset
    38
  val private: Position.T -> Proof.context -> Proof.context
59990
a81dc82ecba3 clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);
wenzelm
parents: 59970
diff changeset
    39
  val qualified_scope: Binding.scope -> Proof.context -> Proof.context
a81dc82ecba3 clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);
wenzelm
parents: 59970
diff changeset
    40
  val qualified: Position.T -> Proof.context -> Proof.context
59880
30687c3f2b10 clarified role of naming for background theory: transform_binding (e.g. for "concealed" flag) uses naming of hypothetical context;
wenzelm
parents: 59859
diff changeset
    41
  val concealed: Proof.context -> Proof.context
42359
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    42
  val class_space: Proof.context -> Name_Space.T
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    43
  val type_space: Proof.context -> Name_Space.T
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    44
  val const_space: Proof.context -> Name_Space.T
61261
ddb2da7cb2e4 more explicit Defs.context: use proper name spaces as far as possible;
wenzelm
parents: 61168
diff changeset
    45
  val defs_context: Proof.context -> Defs.context
42359
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    46
  val intern_class: Proof.context -> xstring -> string
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    47
  val intern_type: Proof.context -> xstring -> string
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    48
  val intern_const: Proof.context -> xstring -> string
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    49
  val extern_class: Proof.context -> string -> xstring
55304
55ac31bc08a4 more formal markup;
wenzelm
parents: 54883
diff changeset
    50
  val markup_class: Proof.context -> string -> string
55ac31bc08a4 more formal markup;
wenzelm
parents: 54883
diff changeset
    51
  val pretty_class: Proof.context -> string -> Pretty.T
42359
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    52
  val extern_type: Proof.context -> string -> xstring
55304
55ac31bc08a4 more formal markup;
wenzelm
parents: 54883
diff changeset
    53
  val markup_type: Proof.context -> string -> string
55ac31bc08a4 more formal markup;
wenzelm
parents: 54883
diff changeset
    54
  val pretty_type: Proof.context -> string -> Pretty.T
42359
6ca5407863ed prefer local name spaces;
wenzelm
parents: 42358
diff changeset
    55
  val extern_const: Proof.context -> string -> xstring
55304
55ac31bc08a4 more formal markup;
wenzelm
parents: 54883
diff changeset
    56
  val markup_const: Proof.context -> string -> string
55ac31bc08a4 more formal markup;
wenzelm
parents: 54883
diff changeset
    57
  val pretty_const: Proof.context -> string -> Pretty.T
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    58
  val transfer: theory -> Proof.context -> Proof.context
57928
f4ff42c5b05b transfer result of Global_Theory.add_thms_dynamic to context stack;
wenzelm
parents: 57887
diff changeset
    59
  val transfer_facts: theory -> Proof.context -> Proof.context
38756
d07959fabde6 renamed ProofContext.theory(_result) to ProofContext.background_theory(_result) to emphasize that this belongs to the infrastructure and is rarely appropriate in user-space tools;
wenzelm
parents: 38328
diff changeset
    60
  val background_theory: (theory -> theory) -> Proof.context -> Proof.context
d07959fabde6 renamed ProofContext.theory(_result) to ProofContext.background_theory(_result) to emphasize that this belongs to the infrastructure and is rarely appropriate in user-space tools;
wenzelm
parents: 38328
diff changeset
    61
  val background_theory_result: (theory -> 'a * theory) -> Proof.context -> 'a * Proof.context
56141
c06202417c4a back to a form of hybrid facts, to reduce performance impact of ed92ce2ac88e;
wenzelm
parents: 56140
diff changeset
    62
  val facts_of: Proof.context -> Facts.T
c06202417c4a back to a form of hybrid facts, to reduce performance impact of ed92ce2ac88e;
wenzelm
parents: 56140
diff changeset
    63
  val facts_of_fact: Proof.context -> string -> Facts.T
63080
8326aa594273 find dynamic facts as well, but static ones are preferred;
wenzelm
parents: 63057
diff changeset
    64
  val markup_extern_fact: Proof.context -> string -> Markup.T list * xstring
70308
7f568724d67e clarified signature;
wenzelm
parents: 70307
diff changeset
    65
  val augment: term -> Proof.context -> Proof.context
64398
5076725247fa more robust printing of names in the context of outer syntax;
wenzelm
parents: 63640
diff changeset
    66
  val print_name: Proof.context -> string -> string
5076725247fa more robust printing of names in the context of outer syntax;
wenzelm
parents: 63640
diff changeset
    67
  val pretty_name: Proof.context -> string -> Pretty.T
21728
906649272ba0 added read/pretty_term_abbrev, print_abbrevs;
wenzelm
parents: 21704
diff changeset
    68
  val pretty_term_abbrev: Proof.context -> term -> Pretty.T
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    69
  val pretty_fact: Proof.context -> string * thm list -> Pretty.T
55922
710bc66f432c more markup for inner syntax class/type names (notably for completion);
wenzelm
parents: 55843
diff changeset
    70
  val check_class: Proof.context -> xstring * Position.T -> class * Position.report list
710bc66f432c more markup for inner syntax class/type names (notably for completion);
wenzelm
parents: 55843
diff changeset
    71
  val read_class: Proof.context -> string -> class
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    72
  val read_typ: Proof.context -> string -> typ
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    73
  val read_typ_syntax: Proof.context -> string -> typ
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    74
  val read_typ_abbrev: Proof.context -> string -> typ
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    75
  val cert_typ: Proof.context -> typ -> typ
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    76
  val cert_typ_syntax: Proof.context -> typ -> typ
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    77
  val cert_typ_abbrev: Proof.context -> typ -> typ
36505
79c1d2bbe5a9 ProofContext.read_const: allow for type constraint (for fixed variable);
wenzelm
parents: 36503
diff changeset
    78
  val infer_type: Proof.context -> string * typ -> typ
60407
53ef7b78e78a tuned signature;
wenzelm
parents: 60401
diff changeset
    79
  val inferred_param: string -> Proof.context -> (string * typ) * Proof.context
25328
f71105742e2c discontinued ProofContext.read_prop_legacy;
wenzelm
parents: 25319
diff changeset
    80
  val inferred_fixes: Proof.context -> (string * typ) list * Proof.context
56002
2028467b4df4 tuned signature;
wenzelm
parents: 55959
diff changeset
    81
  val check_type_name: {proper: bool, strict: bool} -> Proof.context ->
55922
710bc66f432c more markup for inner syntax class/type names (notably for completion);
wenzelm
parents: 55843
diff changeset
    82
    xstring * Position.T -> typ * Position.report list
56002
2028467b4df4 tuned signature;
wenzelm
parents: 55959
diff changeset
    83
  val read_type_name: {proper: bool, strict: bool} -> Proof.context -> string -> typ
55956
94d384d621b0 reject internal term names outright, and complete consts instead;
wenzelm
parents: 55955
diff changeset
    84
  val consts_completion_message: Proof.context -> xstring * Position.T list -> string
56002
2028467b4df4 tuned signature;
wenzelm
parents: 55959
diff changeset
    85
  val check_const: {proper: bool, strict: bool} -> Proof.context ->
55959
c3b458435f4f more decisive commitment to get_free vs. the_const;
wenzelm
parents: 55956
diff changeset
    86
    xstring * Position.T list -> term * Position.report list
56002
2028467b4df4 tuned signature;
wenzelm
parents: 55959
diff changeset
    87
  val read_const: {proper: bool, strict: bool} -> Proof.context -> string -> term
46922
3717f3878714 source positions for locale and class expressions;
wenzelm
parents: 46849
diff changeset
    88
  val read_arity: Proof.context -> xstring * string list * string -> arity
3717f3878714 source positions for locale and class expressions;
wenzelm
parents: 46849
diff changeset
    89
  val cert_arity: Proof.context -> arity -> arity
27259
6e71abb8c994 export transfer_syntax;
wenzelm
parents: 27195
diff changeset
    90
  val allow_dummies: Proof.context -> Proof.context
56333
38f1422ef473 support bulk messages consisting of small string segments, which are more healthy to the Poly/ML RTS and might prevent spurious GC crashes such as MTGCProcessMarkPointers::ScanAddressesInObject;
wenzelm
parents: 56294
diff changeset
    91
  val prepare_sortsT: Proof.context -> typ list -> string list * typ list
38f1422ef473 support bulk messages consisting of small string segments, which are more healthy to the Poly/ML RTS and might prevent spurious GC crashes such as MTGCProcessMarkPointers::ScanAddressesInObject;
wenzelm
parents: 56294
diff changeset
    92
  val prepare_sorts: Proof.context -> term list -> string list * term list
36152
34d1ce2d746d get_sort: suppress dummyS from input;
wenzelm
parents: 35680
diff changeset
    93
  val check_tfree: Proof.context -> string * sort -> string * sort
24684
80da599dea37 added read_term_pattern/schematic/abbrev;
wenzelm
parents: 24675
diff changeset
    94
  val read_term_pattern: Proof.context -> string -> term
80da599dea37 added read_term_pattern/schematic/abbrev;
wenzelm
parents: 24675
diff changeset
    95
  val read_term_schematic: Proof.context -> string -> term
80da599dea37 added read_term_pattern/schematic/abbrev;
wenzelm
parents: 24675
diff changeset
    96
  val read_term_abbrev: Proof.context -> string -> term
40879
ca132ef44944 configuration option "show_abbrevs" supersedes print mode "no_abbrevs", with inverted meaning;
wenzelm
parents: 39557
diff changeset
    97
  val show_abbrevs: bool Config.T
25345
dd5b851f8ef0 renamed ProofContext.read_const' to ProofContext.read_const_proper;
wenzelm
parents: 25332
diff changeset
    98
  val expand_abbrevs: Proof.context -> term -> term
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
    99
  val cert_term: Proof.context -> term -> term
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
   100
  val cert_prop: Proof.context -> term -> term
35616
b342390d296f provide ProofContext.def_type depending on "pattern" mode;
wenzelm
parents: 35429
diff changeset
   101
  val def_type: Proof.context -> indexname -> typ option
45429
fd58cbf8cae3 tuned signature;
wenzelm
parents: 45427
diff changeset
   102
  val standard_typ_check: Proof.context -> typ list -> typ list
fd58cbf8cae3 tuned signature;
wenzelm
parents: 45427
diff changeset
   103
  val standard_term_check_finish: Proof.context -> term list -> term list
fd58cbf8cae3 tuned signature;
wenzelm
parents: 45427
diff changeset
   104
  val standard_term_uncheck: Proof.context -> term list -> term list
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
   105
  val goal_export: Proof.context -> Proof.context -> thm list -> thm list
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
   106
  val export: Proof.context -> Proof.context -> thm list -> thm list
21531
43aa65a8a870 added export_(standard_)morphism;
wenzelm
parents: 21443
diff changeset
   107
  val export_morphism: Proof.context -> Proof.context -> morphism
28396
72695dd4395d added norm_export_morphism;
wenzelm
parents: 28212
diff changeset
   108
  val norm_export_morphism: Proof.context -> Proof.context -> morphism
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
   109
  val auto_bind_goal: term list -> Proof.context -> Proof.context
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
   110
  val auto_bind_facts: term list -> Proof.context -> Proof.context
70728
d5559011b9e6 clarified modules;
wenzelm
parents: 70727
diff changeset
   111
  val simult_matches: Proof.context -> term * term list -> (indexname * term) list
d5559011b9e6 clarified modules;
wenzelm
parents: 70727
diff changeset
   112
  val maybe_bind_term: indexname * term option -> Proof.context -> Proof.context
d5559011b9e6 clarified modules;
wenzelm
parents: 70727
diff changeset
   113
  val bind_term: indexname * term -> Proof.context -> Proof.context
60388
0c9d2a4f589d clarified Proof_Context.cert_propp/read_propp;
wenzelm
parents: 60387
diff changeset
   114
  val cert_propp: Proof.context -> (term * term list) list list ->
0c9d2a4f589d clarified Proof_Context.cert_propp/read_propp;
wenzelm
parents: 60387
diff changeset
   115
    (term list list * (indexname * term) list)
0c9d2a4f589d clarified Proof_Context.cert_propp/read_propp;
wenzelm
parents: 60387
diff changeset
   116
  val read_propp: Proof.context -> (string * string list) list list ->
0c9d2a4f589d clarified Proof_Context.cert_propp/read_propp;
wenzelm
parents: 60387
diff changeset
   117
    (term list list * (indexname * term) list)
54742
7a86358a3c0b proper context for basic Simplifier operations: rewrite_rule, rewrite_goals_rule, rewrite_goals_tac etc.;
wenzelm
parents: 54740
diff changeset
   118
  val fact_tac: Proof.context -> thm list -> int -> tactic
20310
6cb47e95a74b normalized Proof.context/method type aliases;
wenzelm
parents: 20253
diff changeset
   119
  val some_fact_tac: Proof.context -> int -> tactic
63255
3f594efa9504 clarified signature;
wenzelm
parents: 63083
diff changeset
   120
  val lookup_fact: Proof.context -> string -> {dynamic: bool, thms: thm list} option
62078
76399b8fde4d more systematic treatment of dynamic facts, when forming closure;
wenzelm
parents: 61902
diff changeset
   121
  val dynamic_facts_dummy: bool Config.T
57942
e5bec882fdd0 more informative Token.Fact: retain name of dynamic fact (without selection);
wenzelm
parents: 57928
diff changeset
   122
  val get_fact_generic: Context.generic -> Facts.ref -> string option * thm list
26346
17debd2fff8e simplified get_thm(s): back to plain name argument;
wenzelm
parents: 26336
diff changeset
   123
  val get_fact: Proof.context -> Facts.ref -> thm list
17debd2fff8e simplified get_thm(s): back to plain name argument;
wenzelm
parents: 26336
diff changeset
   124
  val get_fact_single: Proof.context -> Facts.ref -> thm
17debd2fff8e simplified get_thm(s): back to plain name argument;
wenzelm
parents: 26336
diff changeset
   125
  val get_thms: Proof.context -> xstring -> thm list
17debd2fff8e simplified get_thm(s): back to plain name argument;
wenzelm
parents: 26336
diff changeset
   126
  val get_thm: Proof.context -> xstring -> thm
67679
8fd84fe1d60b tuned signature;
wenzelm
parents: 67671
diff changeset
   127
  val is_stmt: Proof.context -> bool
63083
wenzelm
parents: 63080
diff changeset
   128
  val set_stmt: bool -> Proof.context -> Proof.context
wenzelm
parents: 63080
diff changeset
   129
  val restore_stmt: Proof.context -> Proof.context -> Proof.context
61811
1530a0f19539 added Proof_Context.add_thms_dynamic, which is potentially useful for Eisbach;
wenzelm
parents: 61268
diff changeset
   130
  val add_thms_dynamic: binding * (Context.generic -> thm list) ->
1530a0f19539 added Proof_Context.add_thms_dynamic, which is potentially useful for Eisbach;
wenzelm
parents: 61268
diff changeset
   131
    Proof.context -> string * Proof.context
67671
857da80611ab support for lazy notes in global/local context and Element.Lazy_Notes: name binding and fact without attributes;
wenzelm
parents: 67670
diff changeset
   132
  val add_thms_lazy: string -> (binding * thm list lazy) -> Proof.context -> Proof.context
67713
041898537c19 tuned signature;
wenzelm
parents: 67679
diff changeset
   133
  val note_thms: string -> Thm.binding * (thm list * attribute list) list ->
041898537c19 tuned signature;
wenzelm
parents: 67679
diff changeset
   134
    Proof.context -> (string * thm list) * Proof.context
30761
ac7570d80c3d renamed ProofContext.note_thmss_i to ProofContext.note_thmss, eliminated obsolete external version;
wenzelm
parents: 30758
diff changeset
   135
  val note_thmss: string -> (Thm.binding * (thm list * attribute list) list) list ->
30211
556d1810cdad Thm.binding;
wenzelm
parents: 30190
diff changeset
   136
    Proof.context -> (string * thm list) list * Proof.context
28082
37350f301128 explicit type Name.binding for higher-specification elements;
wenzelm
parents: 28017
diff changeset
   137
  val put_thms: bool -> string * thm list option -> Proof.context -> Proof.context
66246
c2c18b6b48da tuned signature;
wenzelm
parents: 66245
diff changeset
   138
  val alias_fact: binding -> string -> Proof.context -> Proof.context
60379
51d9dcd71ad7 tuned signature;
wenzelm
parents: 60377
diff changeset
   139
  val read_var: binding * string option * mixfix -> Proof.context ->
51d9dcd71ad7 tuned signature;
wenzelm
parents: 60377
diff changeset
   140
    (binding * typ option * mixfix) * Proof.context
51d9dcd71ad7 tuned signature;
wenzelm
parents: 60377
diff changeset
   141
  val cert_var: binding * typ option * mixfix -> Proof.context ->
51d9dcd71ad7 tuned signature;
wenzelm
parents: 60377
diff changeset
   142
    (binding * typ option * mixfix) * Proof.context
30763
6976521b4263 renamed ProofContext.add_fixes_i to ProofContext.add_fixes, eliminated obsolete external version;
wenzelm
parents: 30761
diff changeset
   143
  val add_fixes: (binding * typ option * mixfix) list -> Proof.context ->
6976521b4263 renamed ProofContext.add_fixes_i to ProofContext.add_fixes, eliminated obsolete external version;