]> matita.cs.unibo.it Git - helm.git/blob - matita/components/ng_kernel/nCicUntrusted.mli
Pretty printing of context (variable refreshing) fixed.
[helm.git] / matita / components / ng_kernel / nCicUntrusted.mli
1 (*
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.                     
5     ||I||                                                                
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_______________________________________________________________ *)
11
12 (* $Id$ *)
13
14 val map_term_fold_a:
15  #NCic.status ->
16  (NCic.hypothesis -> 'k -> 'k) -> 'k ->
17  ('k -> 'a -> NCic.term -> 'a * NCic.term) -> 'a -> NCic.term -> 'a * NCic.term
18
19 val map_obj_kind: 
20   ?skip_body:bool -> (NCic.term -> NCic.term) -> NCic.obj_kind -> NCic.obj_kind
21
22 val metas_of_term :
23  #NCic.status -> NCic.substitution -> NCic.context -> NCic.term -> int list
24 val sort_metasenv:
25  #NCic.status -> NCic.substitution -> NCic.metasenv -> NCic.metasenv
26
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
32 val replace_in_subst: 
33   int -> (NCic.subst_entry -> NCic.subst_entry) -> NCic.substitution ->
34    NCic.substitution
35 val max_kind: meta_kind -> meta_kind -> meta_kind
36
37 module NCicHash : Hashtbl.S with type key = NCic.term
38
39 val mk_appl : NCic.term -> NCic.term list -> NCic.term 
40
41 (* the context is needed only to honour Barendregt's naming convention *)
42 val apply_subst :
43  #NCic.status -> NCic.substitution -> NCic.context -> NCic.term -> NCic.term
44 val apply_subst_context :
45  #NCic.status -> fix_projections:bool -> 
46   NCic.substitution -> NCic.context -> NCic.context
47 val apply_subst_metasenv :
48  #NCic.status -> NCic.substitution -> NCic.metasenv -> NCic.metasenv
49
50 val count_occurrences :
51  #NCic.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