aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorherbelin2006-11-19 10:39:34 +0000
committerherbelin2006-11-19 10:39:34 +0000
commit043345f19f76a0a2f45a2281a57d45f6d2459e8a (patch)
tree83f4b32d7abeb0d8768b588d2d27b0fef2ea175f /tactics
parent11e1487d594d633b4db9a24eb4e12b25c755d88a (diff)
Raffinement de l'unification de "apply": mémorisation de certains
degrés de liberté concernant les instances de méta (cumulativité et possibilité d'éta-expansion) de telle sorte que la fusion d'équations se fasse modulo ces degrés de liberté. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9389 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/decl_proof_instr.ml4
-rw-r--r--tactics/setoid_replace.ml2
2 files changed, 3 insertions, 3 deletions
diff --git a/tactics/decl_proof_instr.ml b/tactics/decl_proof_instr.ml
index e7acd6d646..2e3e0d3c89 100644
--- a/tactics/decl_proof_instr.ml
+++ b/tactics/decl_proof_instr.ml
@@ -326,7 +326,7 @@ let enstack_subsubgoals env se stack gls=
let (nlast,holes,nmetas) =
meta_aux se.se_last_meta [] (List.rev rc) in
let refiner = applist (appterm,List.rev holes) in
- let evd = meta_assign se.se_meta refiner se.se_evd in
+ let evd = meta_assign se.se_meta (refiner,ConvUpToEta 0) se.se_evd in
let ncreated = replace_in_list
se.se_meta nmetas se.se_meta_list in
let evd0 = List.fold_left
@@ -361,7 +361,7 @@ let find_subsubgoal env c ctyp skip evd metas gls =
Unification.w_unify true env Reduction.CUMUL
ctyp se.se_type se.se_evd in
if n <= 0 then
- {se with se_evd=meta_assign se.se_meta c unifier}
+ {se with se_evd=meta_assign se.se_meta (c,ConvUpToEta 0) unifier}
else
dfs (pred n)
with _ ->
diff --git a/tactics/setoid_replace.ml b/tactics/setoid_replace.ml
index f0dca6b2d1..5da0bb047a 100644
--- a/tactics/setoid_replace.ml
+++ b/tactics/setoid_replace.ml
@@ -1729,7 +1729,7 @@ let check_evar_map_of_evars_defs evd =
match binding with
Evd.Cltyp (_,{Evd.rebus=rebus; Evd.freemetas=freemetas}) ->
check_freemetas_is_empty rebus freemetas
- | Evd.Clval (_,{Evd.rebus=rebus1; Evd.freemetas=freemetas1},
+ | Evd.Clval (_,({Evd.rebus=rebus1; Evd.freemetas=freemetas1},_),
{Evd.rebus=rebus2; Evd.freemetas=freemetas2}) ->
check_freemetas_is_empty rebus1 freemetas1 ;
check_freemetas_is_empty rebus2 freemetas2