X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_refiner%2FnCicUnifHint.mli;h=421ef9ffb66e0d48672e3b2e01a4ecd1ab24d147;hb=123e66ead6ee8f502bd2fc2baf5482fe78ae6f34;hp=115ddfb15b27fa5ad3868e9bef6d54ff5149bbb7;hpb=e6cfe36583259c1e3f6d91e66e50a647726c1716;p=helm.git diff --git a/helm/software/components/ng_refiner/nCicUnifHint.mli b/helm/software/components/ng_refiner/nCicUnifHint.mli index 115ddfb15..421ef9ffb 100644 --- a/helm/software/components/ng_refiner/nCicUnifHint.mli +++ b/helm/software/components/ng_refiner/nCicUnifHint.mli @@ -13,16 +13,34 @@ type db -val index_hint: - db -> NCic.context -> NCic.term -> NCic.term -> db +exception HintNotValid + +class type g_status = + object + method uhint_db: db + end + +class status : + object ('self) + inherit g_status + method set_uhint_db: db -> 'self + method set_unifhint_status: #g_status -> 'self + end - (* gets the old imperative coercion DB *) -val db : unit -> db +val index_hint: + #status as 'status -> NCic.context -> NCic.term -> NCic.term -> int -> 'status -val empty_db : db +val add_user_provided_hint : + #status as 'status -> NCic.term -> int -> 'status val look_for_hint: - db -> + #status -> NCic.metasenv -> NCic.substitution -> NCic.context -> NCic.term -> NCic.term -> - (NCic.metasenv * NCic.term * NCic.term) list + (NCic.metasenv * + (NCic.term * NCic.term) * (NCic.term * NCic.term) list) list + +val eq_class_of: + #status -> NCic.term -> NCic.term list + +val generate_dot_file: #status -> Format.formatter -> unit