]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/cic_acic/doubleTypeInference.mli
86d8b23fabee6cac29723f5866a29dfb1f981d72
[helm.git] / helm / software / components / cic_acic / 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 val pack_coercion : (Cic.metasenv -> Cic.context -> Cic.term -> Cic.term) ref;;
18
19 val double_type_of :
20  Cic.metasenv -> Cic.context -> Cic.term -> Cic.term option ->
21   types Cic.CicHash.t
22
23 (** Auxiliary functions **)
24
25 (* does_not_occur n te                              *)
26 (* returns [true] if [Rel n] does not occur in [te] *)
27 val does_not_occur : int -> Cic.term -> bool