X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Funiverse.mli;h=5f9d612b5e97720705c16d122c2b01d1c027b7da;hb=d0e97750e19af9286400a3e7b161a1c658684848;hp=4ae0ff961e2fa511c4ea8db2632629094fdcc4ce;hpb=4fdd0bfa2337b0d35846cdfd63bd3c3bb6fbd3e5;p=helm.git diff --git a/helm/software/components/tactics/universe.mli b/helm/software/components/tactics/universe.mli index 4ae0ff961..5f9d612b5 100644 --- a/helm/software/components/tactics/universe.mli +++ b/helm/software/components/tactics/universe.mli @@ -24,18 +24,40 @@ *) type universe + val empty : universe + + +val iter : + universe -> + (UriManager.uri Discrimination_tree.path -> Cic.term list -> unit) -> + unit + +(* retrieves the list of term that hopefully unify *) val get_candidates: universe -> Cic.term -> Cic.term list -val index: - universe -> - Cic.term -> (* key *) - Cic.term -> (* value *) - universe + +(* index [univ] [key] [term] *) +val index: universe -> Cic.term -> Cic.term -> universe + +(* collapse non-indexable terms, removing coercions an unfolding the head + * constant if any *) val keys: Cic.context -> Cic.term -> Cic.term list + +(* collapse non-indexable terms, not removing coercions *) +val key: Cic.term -> Cic.term + +val in_universe: universe -> Cic.term -> Cic.term option + +(* indexes the term and its unfolded both without coercions *) val index_term_and_unfolded_term: universe -> Cic.context -> Cic.term -> Cic.term -> universe + +(* indexex the term without coercions, with coercions and unfolded without + * coercions *) val index_local_term: universe -> Cic.context -> Cic.term -> Cic.term -> universe + +(* pairs are (term,ty) *) val index_list: universe -> Cic.context -> (Cic.term*Cic.term) list -> universe val remove: