diff options
author | sacerdot <sacerdot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2004-10-14 17:09:35 +0000 |
---|---|---|
committer | sacerdot <sacerdot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2004-10-14 17:09:35 +0000 |
commit | 7a2bce7e9b5a00e6328f79f453bb7b3c72bdac39 (patch) | |
tree | 94878675f34a40286e2cd0d32b61923edab37675 | |
parent | 677743433a558a4980aa8186008528de2babff95 (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.ml | 6 |
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 |