diff options
| author | herbelin | 2007-05-28 22:54:04 +0000 |
|---|---|---|
| committer | herbelin | 2007-05-28 22:54:04 +0000 |
| commit | 9d2ebaa610b0fde6354cf86e4bbfae95cec71f09 (patch) | |
| tree | f3469ca85cba86dcac953c7a62714bac35dde535 /pretyping/evd.mli | |
| parent | fcfba96d039bf86966ffa53eb12528f9c49d11c2 (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.mli | 12 |
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 |
