]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/cic_omdoc/doubleTypeInference.mli
20230e3bb0529ca2a36a0eb4ab94df8aa7d4cfe7
[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 syntactic_equality_add_time: float ref
10 val type_of_aux'_add_time: float ref
11 val number_new_type_of_aux'_double_work: int ref
12 val number_new_type_of_aux': int ref
13 val number_new_type_of_aux'_prop: int ref
14
15 type types = {synthesized : Cic.term ; expected : Cic.term option};;
16
17 module CicHash :
18   sig
19     type 'a t
20     val find : 'a t -> Cic.term -> 'a
21   end
22 ;;
23
24 val double_type_of :
25  Cic.metasenv -> Cic.context -> Cic.term -> Cic.term option -> types CicHash.t
26
27 (** Auxiliary functions **)
28
29 (* does_not_occur n te                              *)
30 (* returns [true] if [Rel n] does not occur in [te] *)
31 val does_not_occur : int -> Cic.term -> bool