diff options
| author | herbelin | 2006-10-24 08:33:27 +0000 |
|---|---|---|
| committer | herbelin | 2006-10-24 08:33:27 +0000 |
| commit | f321caf5abbbadc0388fae76601745c02bff0bce (patch) | |
| tree | ffff67fcb4218d6fcea8feaeafbacbe0b457bbe4 | |
| parent | ab2125274b67a0a31d35c4c315b188f170f5fcaa (diff) | |
Interprétation du terme comme type dans 'change' si pas de 'with' (pour bénéficier des coercions)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9264 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | tactics/tacinterp.ml | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index d49163bfba..f48e7935cb 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -714,7 +714,8 @@ let rec intern_atomic lf ist x = TacReduce (intern_red_expr ist r, clause_app (intern_hyp_location ist) cl) | TacChange (occl,c,cl) -> TacChange (option_map (intern_constr_occurrence ist) occl, - intern_constr ist c, clause_app (intern_hyp_location ist) cl) + (if occl = None then intern_type ist c else intern_constr ist c), + clause_app (intern_hyp_location ist) cl) (* Equivalence relations *) | TacReflexivity -> TacReflexivity @@ -2062,7 +2063,9 @@ and interp_atomic ist gl = function h_reduce (pf_interp_red_expr ist gl r) (interp_clause ist gl cl) | TacChange (occl,c,cl) -> h_change (option_map (pf_interp_pattern ist gl) occl) - (pf_interp_constr ist gl c) (interp_clause ist gl cl) + (if occl = None then pf_interp_type ist gl c + else pf_interp_constr ist gl c) + (interp_clause ist gl cl) (* Equivalence relations *) | TacReflexivity -> h_reflexivity |
