aboutsummaryrefslogtreecommitdiff
path: root/pretyping/evd.mli
diff options
context:
space:
mode:
authorherbelin2007-05-28 22:54:04 +0000
committerherbelin2007-05-28 22:54:04 +0000
commit9d2ebaa610b0fde6354cf86e4bbfae95cec71f09 (patch)
treef3469ca85cba86dcac953c7a62714bac35dde535 /pretyping/evd.mli
parentfcfba96d039bf86966ffa53eb12528f9c49d11c2 (diff)
Contrôle de la compatibilité de apply via une information dans les
métas permettant de savoir si une instance de méta vient d'un with-binding ou d'une unification, et si elle a déjà été typée ou pas. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9866 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/evd.mli')
-rw-r--r--pretyping/evd.mli12
1 files changed, 8 insertions, 4 deletions
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index b6ffd02c12..4375f54714 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -104,16 +104,20 @@ val metavars_of : constr -> Metaset.t
val mk_freelisted : constr -> constr freelisted
val map_fl : ('a -> 'b) -> 'a freelisted -> 'b freelisted
-(* Status of an instance wrt to the meta it solves:
+(* Possible constraints over the instance of a metavariable:
- a supertype of the meta (e.g. the solution to ?X <= T is a supertype of ?X)
- a subtype of the meta (e.g. the solution to T <= ?X is a supertype of ?X)
- a term that can be eta-expanded n times while still being a solution
(e.g. the solution [P] to [?X u v = P u v] can be eta-expanded twice)
*)
-type instance_status =
- | IsSuperType | IsSubType
- | ConvUpToEta of int | Coercible of types | Processed
+type instance_constraint =
+ IsSuperType | IsSubType | ConvUpToEta of int | UserGiven
+
+type instance_typing_status =
+ TypeNotProcessed | TypeProcessed
+
+type instance_status = instance_constraint * instance_typing_status
type clbinding =
| Cltyp of name * constr freelisted