2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
15 #NCicEnvironment.status ->
16 (NCic.hypothesis -> 'k -> 'k) -> 'k ->
17 ('k -> 'a -> NCic.term -> 'a * NCic.term) -> 'a -> NCic.term -> 'a * NCic.term
20 ?skip_body:bool -> (NCic.term -> NCic.term) -> NCic.obj_kind -> NCic.obj_kind
23 #NCicEnvironment.status -> NCic.substitution -> NCic.context -> NCic.term -> int list
25 #NCicEnvironment.status -> NCic.substitution -> NCic.metasenv -> NCic.metasenv
27 type meta_kind = [ `IsSort | `IsType | `IsTerm ]
28 val kind_of_meta: NCic.meta_attrs -> meta_kind
29 val set_kind: meta_kind -> NCic.meta_attrs -> NCic.meta_attrs
30 val replace_in_metasenv:
31 int -> (NCic.conjecture -> NCic.conjecture) -> NCic.metasenv -> NCic.metasenv
33 int -> (NCic.subst_entry -> NCic.subst_entry) -> NCic.substitution ->
35 val max_kind: meta_kind -> meta_kind -> meta_kind
37 module NCicHash : Hashtbl.S with type key = NCic.term
39 val mk_appl : NCic.term -> NCic.term list -> NCic.term
41 (* the context is needed only to honour Barendregt's naming convention *)
43 #NCicEnvironment.status -> NCic.substitution -> NCic.context -> NCic.term -> NCic.term
44 val apply_subst_context :
45 #NCicEnvironment.status -> fix_projections:bool ->
46 NCic.substitution -> NCic.context -> NCic.context
47 val apply_subst_metasenv :
48 #NCicEnvironment.status -> NCic.substitution -> NCic.metasenv -> NCic.metasenv
50 val count_occurrences :
51 #NCicEnvironment.status -> subst:NCic.substitution -> int -> NCic.term -> int
52 (* quick, but with false negatives (since no ~subst), check for closed terms *)
53 val looks_closed : NCic.term -> bool