]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/cic_omdoc/doubleTypeInference.mli
Defs in context may now have an optional type (when unknown).
[helm.git] / helm / ocaml / cic_omdoc / doubleTypeInference.mli
1 exception Impossible of int
2 exception NotWellTyped of string
3 exception WrongUriToConstant of string
4 exception WrongUriToVariable of string
5 exception WrongUriToMutualInductiveDefinitions of string
6 exception ListTooShort
7 exception RelToHiddenHypothesis
8
9 val type_of_aux'_add_time: float ref
10 val number_new_type_of_aux'_double_work: int ref
11 val number_new_type_of_aux': int ref
12 val number_new_type_of_aux'_prop: int ref
13
14 type types = {synthesized : Cic.term ; expected : Cic.term option};;
15
16 module CicHash :
17   sig
18     type 'a t
19     val find : 'a t -> Cic.term -> 'a
20   end
21 ;;
22
23 val double_type_of :
24  Cic.metasenv -> Cic.context -> Cic.term -> Cic.term option -> types CicHash.t
25
26 (** Auxiliary functions **)
27
28 (* does_not_occur n te                              *)
29 (* returns [true] if [Rel n] does not occur in [te] *)
30 val does_not_occur : int -> Cic.term -> bool