aboutsummaryrefslogtreecommitdiff
path: root/engine/evd.mli
diff options
context:
space:
mode:
authorEnrico Tassi2020-08-19 11:17:49 +0200
committerEnrico Tassi2020-08-19 11:17:49 +0200
commitae38c38837e068721cc54d01570427aefdce49c5 (patch)
tree69adbd7922a6bc52f0758b8eca0095778f64c1d5 /engine/evd.mli
parentdaed771ff18978dea536b277e00c0ca0149129ee (diff)
parent2edad4e3903ee77155f8b164c6cf6df49c897a27 (diff)
Merge PR #12725: Store evar identity instances in evarinfo / named_context_val
Ack-by: SkySkimmer Reviewed-by: gares
Diffstat (limited to 'engine/evd.mli')
-rw-r--r--engine/evd.mli13
1 files changed, 13 insertions, 0 deletions
diff --git a/engine/evd.mli b/engine/evd.mli
index 3f17e63034..d338b06e0e 100644
--- a/engine/evd.mli
+++ b/engine/evd.mli
@@ -89,6 +89,15 @@ module Abstraction : sig
val abstract_last : t -> t
end
+module Identity :
+sig
+ type t
+ (** Identity substitutions *)
+
+ val make : econstr list -> t
+ val none : unit -> t
+end
+
(** {6 Evar infos} *)
type evar_body =
@@ -114,6 +123,9 @@ type evar_info = {
(** Information about the evar. *)
evar_candidates : econstr list option;
(** List of possible solutions when known that it is a finite list *)
+ evar_identity : Identity.t;
+ (** Default evar instance, i.e. a list of Var nodes projected from the
+ filtered environment. *)
}
val make_evar : named_context_val -> etypes -> evar_info
@@ -127,6 +139,7 @@ val evar_candidates : evar_info -> constr list option
val evar_filter : evar_info -> Filter.t
val evar_env : env -> evar_info -> env
val evar_filtered_env : env -> evar_info -> env
+val evar_identity_subst : evar_info -> econstr list
val map_evar_body : (econstr -> econstr) -> evar_body -> evar_body
val map_evar_info : (econstr -> econstr) -> evar_info -> evar_info