aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2015-11-05 17:12:39 -0500
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2015-11-11 19:13:52 +0100
commitca30a8be08beeae77d42b6cb5d9f219e3932a3f7 (patch)
tree4997a8230cf8340b3ef1094f2a76f09606a66a02
parent2f56f0fcf21902bb1317f1d6f7ba4b593d712646 (diff)
Fix bug #3257, setoid_reflexivity should fail if not completing the goal.
-rw-r--r--tactics/rewrite.ml6
-rw-r--r--test-suite/bugs/closed/3257.v5
2 files changed, 9 insertions, 2 deletions
diff --git a/tactics/rewrite.ml b/tactics/rewrite.ml
index e8a7c0f60..af6953bf8 100644
--- a/tactics/rewrite.ml
+++ b/tactics/rewrite.ml
@@ -2077,8 +2077,10 @@ let poly_proof getp gett env evm car rel =
let setoid_reflexivity =
setoid_proof "reflexive"
(fun env evm car rel ->
- tac_open (poly_proof PropGlobal.get_reflexive_proof TypeGlobal.get_reflexive_proof
- env evm car rel) (fun c -> Proofview.V82.of_tactic (apply c)))
+ tac_open (poly_proof PropGlobal.get_reflexive_proof
+ TypeGlobal.get_reflexive_proof
+ env evm car rel)
+ (fun c -> tclCOMPLETE (Proofview.V82.of_tactic (apply c))))
(reflexivity_red true)
let setoid_symmetry =
diff --git a/test-suite/bugs/closed/3257.v b/test-suite/bugs/closed/3257.v
new file mode 100644
index 000000000..d8aa6a047
--- /dev/null
+++ b/test-suite/bugs/closed/3257.v
@@ -0,0 +1,5 @@
+Require Import Setoid Morphisms Basics.
+Lemma foo A B (P : B -> Prop) :
+ pointwise_relation _ impl (fun z => A -> P z) P.
+Proof.
+ Fail reflexivity.