aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar sacerdot <sacerdot@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-10-14 17:09:35 +0000
committerGravatar sacerdot <sacerdot@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-10-14 17:09:35 +0000
commit7a2bce7e9b5a00e6328f79f453bb7b3c72bdac39 (patch)
tree94878675f34a40286e2cd0d32b61923edab37675
parent677743433a558a4980aa8186008528de2babff95 (diff)
Bug fixed (reported by Maggesi): sometimes when the tactic had to generate new
existential variables it failed. Fixing by propagating the metavariable environment generated by the unification. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6215 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tactics/setoid_replace.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/tactics/setoid_replace.ml b/tactics/setoid_replace.ml
index e727f6897..315e9991d 100644
--- a/tactics/setoid_replace.ml
+++ b/tactics/setoid_replace.ml
@@ -1594,7 +1594,7 @@ let apply_coq_setoid_rewrite hole_relation prop_relation c1 c2 (direction,h)
let relation_rewrite c1 c2 (input_direction,cl) ~new_goals gl =
let but = pf_concl gl in
- let (hyp,c1,c2) =
+ let (sigma,hyp,c1,c2) =
let (env',c1) =
try
(* ~mod_delta:false to allow to mark occurences that must not be
@@ -1609,12 +1609,12 @@ let relation_rewrite c1 c2 (input_direction,cl) ~new_goals gl =
in
let cl' = {cl with env = env' } in
let c2 = Clenv.clenv_nf_meta cl' c2 in
- (input_direction,Clenv.clenv_value cl'), c1, c2
+ env',(input_direction,Clenv.clenv_value cl'), c1, c2
in
try
let input_relation =
relation_class_that_matches_a_constr "Setoid_rewrite"
- new_goals (pf_type_of gl (snd hyp)) in
+ new_goals (Typing.mtype_of (pf_env gl) sigma (snd hyp)) in
let output_relation,output_direction,marked_but =
mark_occur gl ~new_goals c1 but input_relation input_direction in
let cic_output_direction = cic_direction_of_direction output_direction in