X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_unification%2FcicMetaSubst.mli;h=2ee78a7a443d4989973728c2f062b87041beafdf;hb=cdb9c1c0efcf68e15f0d7e63f5d92dc87d2b3ac9;hp=9fbe0194658c0d985654af0df2dc68df51f4a572;hpb=779151991397bb0824ec058cbccfed83af0f61a5;p=helm.git diff --git a/helm/ocaml/cic_unification/cicMetaSubst.mli b/helm/ocaml/cic_unification/cicMetaSubst.mli index 9fbe01946..2ee78a7a4 100644 --- a/helm/ocaml/cic_unification/cicMetaSubst.mli +++ b/helm/ocaml/cic_unification/cicMetaSubst.mli @@ -23,18 +23,14 @@ * http://helm.cs.unibo.it/ *) -exception AssertFailure of string exception MetaSubstFailure of string +exception Uncertain of string +exception AssertFailure of string (* The entry (i,t) in a substitution means that *) (* (META i) have been instantiated with t. *) type substitution = (int * Cic.term) list -val delift : - int -> substitution -> Cic.context -> Cic.metasenv -> - (Cic.term option) list -> Cic.term -> - Cic.term * Cic.metasenv * substitution - (* apply_subst subst t *) (* applies the substitution [subst] to [t] *) (* [subst] must be already unwinded *) @@ -77,3 +73,22 @@ val are_convertible: substitution -> Cic.context -> Cic.term -> Cic.term -> bool val type_of_aux': Cic.metasenv -> substitution -> Cic.context -> Cic.term -> Cic.term +val tempi_type_of_aux : float ref +val tempi_type_of_aux_subst : float ref + +(*** delifting ***) + +val delift : + int -> substitution -> Cic.context -> Cic.metasenv -> + (Cic.term option) list -> Cic.term -> + Cic.term * Cic.metasenv * substitution + +(** {2 Format-like pretty printers} + * As above with prototypes suitable for toplevel/ocamldebug printers. No + * subsitutions are applied here since such printers are required to be invoked + * with only one argument. + *) + +val fppsubst: Format.formatter -> substitution -> unit +val fppterm: Format.formatter -> Cic.term -> unit +val fppmetasenv: Format.formatter -> Cic.metasenv -> unit