aboutsummaryrefslogtreecommitdiff
path: root/engine/evarutil.mli
diff options
context:
space:
mode:
Diffstat (limited to 'engine/evarutil.mli')
-rw-r--r--engine/evarutil.mli19
1 files changed, 16 insertions, 3 deletions
diff --git a/engine/evarutil.mli b/engine/evarutil.mli
index 41b58d38b0..6e1f67021f 100644
--- a/engine/evarutil.mli
+++ b/engine/evarutil.mli
@@ -21,7 +21,6 @@ open EConstr
(** [new_meta] is a generator of unique meta variables *)
val new_meta : unit -> metavariable
-val mk_new_meta : unit -> constr
(** {6 Creating a fresh evar given their type and context} *)
@@ -40,8 +39,18 @@ val new_evar :
?principal:bool -> ?hypnaming:naming_mode ->
env -> evar_map -> types -> evar_map * EConstr.t
+(** Low-level interface to create an evar.
+ @param src User-facing source for the evar
+ @param filter See {!Evd.Filter}, must be the same length as [named_context_val]
+ @param identity See {!Evd.Identity}, must be the name projection of [named_context_val]
+ @param naming A naming scheme for the evar
+ @param principal Whether the evar is the principal goal
+ @param named_context_val The context of the evar
+ @param types The type of conclusion of the evar
+*)
val new_pure_evar :
?src:Evar_kinds.t Loc.located -> ?filter:Filter.t ->
+ ?identity:EConstr.t list ->
?abstract_arguments:Abstraction.t -> ?candidates:constr list ->
?naming:intro_pattern_naming_expr ->
?typeclass_candidate:bool ->
@@ -103,6 +112,10 @@ val gather_dependent_evars : evar_map -> Evar.t list -> (Evar.Set.t option) Evar
solved. *)
val advance : evar_map -> Evar.t -> Evar.t option
+(** [reachable_from_evars sigma seeds] computes the descendents of
+ evars in [seeds] by restriction or evar-evar unifications in [sigma]. *)
+val reachable_from_evars : evar_map -> Evar.Set.t -> Evar.Set.t
+
(** The following functions return the set of undefined evars
contained in the object, the defined evars being traversed.
This is roughly a combination of the previous functions and
@@ -225,8 +238,8 @@ exception ClearDependencyError of Id.t * clear_dependency_error * GlobRef.t opti
(** Restrict an undefined evar according to a (sub)filter and candidates.
The evar will be defined if there is only one candidate left,
-@raise ClearDependencyError NoCandidatesLeft if the filter turns the candidates
- into an empty list. *)
+ @raise ClearDependencyError NoCandidatesLeft if the filter turns the candidates
+ into an empty list. *)
val restrict_evar : evar_map -> Evar.t -> Filter.t ->
?src:Evar_kinds.t Loc.located -> constr list option -> evar_map * Evar.t