aboutsummaryrefslogtreecommitdiff
path: root/engine/evd.mli
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2020-07-04 18:28:33 +0200
committerPierre-Marie Pédrot2020-08-06 12:33:58 +0200
commit29cc320bc3d54b9b4b8d78240db50cc8a878b033 (patch)
tree079aaddfe31d534b5ea43f10e4c4f00a5e2808d4 /engine/evd.mli
parent51ecccef0308eceec1ddd9776a03fd993b3ea71a (diff)
Store the default evar instance inside the evar info.
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 679173ca72..b05b74c893 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