X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_refiner%2FnCicUnifHint.mli;h=421ef9ffb66e0d48672e3b2e01a4ecd1ab24d147;hb=57a360d659425ce1ee9a69516b66a4d3c7b8eb62;hp=076ac2f628cc175eaf022a3b43820fdd0fbed877;hpb=4573f1fecaf83f4706f39702555d5319d132477b;p=helm.git diff --git a/helm/software/components/ng_refiner/nCicUnifHint.mli b/helm/software/components/ng_refiner/nCicUnifHint.mli index 076ac2f62..421ef9ffb 100644 --- a/helm/software/components/ng_refiner/nCicUnifHint.mli +++ b/helm/software/components/ng_refiner/nCicUnifHint.mli @@ -13,17 +13,34 @@ type db -val index_hint: - db -> NCic.context -> NCic.term -> NCic.term -> int -> 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 add_user_provided_hint : Cic.term -> int -> unit +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