X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Ftactics%2FproofEngineHelpers.mli;h=6d1c7ffaa102a984ec8edef5fab9d0749c9dcbaa;hb=2289472271cf56d3af77fbbe634b643eac474a13;hp=013d6292aab5417287f276299f29c23277769e9c;hpb=cb473667ca89549ed0ca6dd2bfb03a5fe9eeaa82;p=helm.git diff --git a/helm/ocaml/tactics/proofEngineHelpers.mli b/helm/ocaml/tactics/proofEngineHelpers.mli index 013d6292a..6d1c7ffaa 100644 --- a/helm/ocaml/tactics/proofEngineHelpers.mli +++ b/helm/ocaml/tactics/proofEngineHelpers.mli @@ -68,7 +68,10 @@ val pattern_of: * subterms of the conclusion with their context. Note: in the result the list * of hypotheses * has an entry for each entry in the context and in the same * order. Of course the list of terms (with their context) associated to one -* hypothesis may be empty. *) +* hypothesis may be empty. +* +* @raise Bad_pattern +* *) val select: metasenv:Cic.metasenv -> ugraph:CicUniv.universe_graph -> @@ -80,6 +83,26 @@ val select: ] option list * (Cic.context * Cic.term) list +(** locate_in_term equality what where context +* [what] must match a subterm of [where] according to [equality] +* It returns the matched terms together with their contexts in [where] +* [equality] defaults to physical equality +* [context] must be the context of [where] +*) +val locate_in_term: + ?equality:(Cic.context -> Cic.term -> Cic.term -> bool) -> + Cic.term -> where:Cic.term -> Cic.context -> (Cic.context * Cic.term) list + +(** locate_in_conjecture equality what where context +* [what] must match a subterm of [where] according to [equality] +* It returns the matched terms together with their contexts in [where] +* [equality] defaults to physical equality +* [context] must be the context of [where] +*) +val locate_in_conjecture: + ?equality:(Cic.context -> Cic.term -> Cic.term -> bool) -> + Cic.term -> Cic.conjecture -> (Cic.context * Cic.term) list + (* saturate_term newmeta metasenv context ty *) (* Given a type [ty] (a backbone), it returns its head and a new metasenv in *) (* which there is new a META for each hypothesis, a list of arguments for the *)