diff options
| author | herbelin | 2011-10-11 19:17:58 +0000 |
|---|---|---|
| committer | herbelin | 2011-10-11 19:17:58 +0000 |
| commit | c1234a327b8ef2b52af1410dace719000c360f53 (patch) | |
| tree | 34bcfe5d05b3ff2c1d4ad41fa6e29ff44a5fb908 | |
| parent | e79b800bec660dc2724fa70c33f4e435ddbf885c (diff) | |
More on r14536 (an unused pattern-matching remained in the commit).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14546 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | kernel/term.ml | 1 | ||||
| -rw-r--r-- | kernel/term.mli | 1 | ||||
| -rw-r--r-- | pretyping/evd.ml | 7 |
3 files changed, 4 insertions, 5 deletions
diff --git a/kernel/term.ml b/kernel/term.ml index 72489b49a8..b464f4455b 100644 --- a/kernel/term.ml +++ b/kernel/term.ml @@ -325,6 +325,7 @@ let isRel c = match kind_of_term c with Rel _ -> true | _ -> false (* Tests if a variable *) let isVar c = match kind_of_term c with Var _ -> true | _ -> false +let isVarId id c = match kind_of_term c with Var id' -> id = id' | _ -> false (* Tests if an inductive *) let isInd c = match kind_of_term c with Ind _ -> true | _ -> false diff --git a/kernel/term.mli b/kernel/term.mli index 7992c0bab7..d5899f1855 100644 --- a/kernel/term.mli +++ b/kernel/term.mli @@ -230,6 +230,7 @@ val kind_of_type : types -> (constr, types) kind_of_type val isRel : constr -> bool val isVar : constr -> bool +val isVarId : identifier -> constr -> bool val isInd : constr -> bool val isEvar : constr -> bool val isMeta : constr -> bool diff --git a/pretyping/evd.ml b/pretyping/evd.ml index cb44c926ff..c73ff91a1e 100644 --- a/pretyping/evd.ml +++ b/pretyping/evd.ml @@ -168,12 +168,9 @@ module EvarInfoMap = struct (* Note: let-in contributes to the instance *) let make_evar_instance sign args = let rec instrec = function - | (id,_,_) :: sign, c::args -> - (match kind_of_term c with - | Var id' when id = id' -> instrec (sign,args) - | _ -> (id,c) :: instrec (sign,args)) + | (id,_,_) :: sign, c::args when isVarId id c -> instrec (sign,args) | (id,_,_) :: sign, c::args -> (id,c) :: instrec (sign,args) - | [],[] -> [] + | [],[] -> [] | [],_ | _,[] -> anomaly "Signature and its instance do not match" in instrec (sign,args) |
