diff options
| author | herbelin | 2000-10-26 13:17:49 +0000 |
|---|---|---|
| committer | herbelin | 2000-10-26 13:17:49 +0000 |
| commit | 6b3ac9bca3082fabee95bdd492d8cd9e26de7a0e (patch) | |
| tree | 07c1a99e1667a634bd8866da1a0ef9cf9f67b85b /kernel/reduction.ml | |
| parent | 1d59f1711831125c3837baef7d787e543d575b7a (diff) | |
Suppression cas Cast dans whd_ise et whd_ise1; Suppression du cast au moment de l'instanciation des Meta dans plain_instance
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@769 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/reduction.ml')
| -rw-r--r-- | kernel/reduction.ml | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/kernel/reduction.ml b/kernel/reduction.ml index 5ec58c1672..5af00238f3 100644 --- a/kernel/reduction.ml +++ b/kernel/reduction.ml @@ -928,6 +928,8 @@ let whd_meta metamap c = match kind_of_term c with let plain_instance s c = let rec irec u = match kind_of_term u with | IsMeta p -> (try List.assoc p s with Not_found -> u) + | IsCast (m,_) when isMeta m -> + (try List.assoc (destMeta m) s with Not_found -> u) | _ -> map_constr irec u in if s = [] then c else irec c @@ -1148,8 +1150,6 @@ let rec whd_ise sigma c = if Evd.is_defined sigma ev then whd_ise sigma (existential_value sigma (ev,args)) else raise (Uninstantiated_evar ev) - | IsCast (c,_) -> whd_ise sigma c -(* | IsSort (Type _) -> mkSort (Type dummy_univ)*) | _ -> c @@ -1158,10 +1158,6 @@ let rec whd_ise1 sigma c = match kind_of_term c with | IsEvar (ev,args) when Evd.in_dom sigma ev & Evd.is_defined sigma ev -> whd_ise1 sigma (existential_value sigma (ev,args)) - | IsCast (c,_) -> whd_ise1 sigma c - (* A quoi servait cette ligne ??? - | IsSort (Type _) -> mkSort (Type dummy_univ) - *) | _ -> c let nf_ise1 sigma = local_strong (whd_ise1 sigma) |
