aboutsummaryrefslogtreecommitdiff
path: root/engine/evd.ml
diff options
context:
space:
mode:
authorEnrico Tassi2019-03-12 12:20:28 +0100
committerEnrico Tassi2019-03-12 12:20:28 +0100
commit3c0e9465029d7dcddff2c9a813cfd727a3ed4444 (patch)
treeb6e474f2b3051f196a4c6803f43b5bd4154f3fef /engine/evd.ml
parent591af507e606aef4bd97dc226567289b1a959cc1 (diff)
parentd9f86f9920efda1057b09d10d64764babe1dec44 (diff)
Merge PR #7819: Ho matching occ sel
Ack-by: gares Ack-by: herbelin Ack-by: mattam82 Ack-by: ppedrot
Diffstat (limited to 'engine/evd.ml')
-rw-r--r--engine/evd.ml15
1 files changed, 15 insertions, 0 deletions
diff --git a/engine/evd.ml b/engine/evd.ml
index f0433d3387..dd2be29bd9 100644
--- a/engine/evd.ml
+++ b/engine/evd.ml
@@ -126,6 +126,19 @@ struct
end
+module Abstraction = struct
+
+ type abstraction =
+ | Abstract
+ | Imitate
+
+ type t = abstraction list
+
+ let identity = []
+
+ let abstract_last l = Abstract :: l
+end
+
(* The kinds of existential variables are now defined in [Evar_kinds] *)
(* The type of mappings for existential variables *)
@@ -143,6 +156,7 @@ type evar_info = {
evar_hyps : named_context_val;
evar_body : evar_body;
evar_filter : Filter.t;
+ evar_abstract_arguments : Abstraction.t;
evar_source : Evar_kinds.t Loc.located;
evar_candidates : constr list option; (* if not None, list of allowed instances *)}
@@ -151,6 +165,7 @@ let make_evar hyps ccl = {
evar_hyps = hyps;
evar_body = Evar_empty;
evar_filter = Filter.identity;
+ evar_abstract_arguments = Abstraction.identity;
evar_source = Loc.tag @@ Evar_kinds.InternalHole;
evar_candidates = None; }