coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Kathrin Stark <kathrin.stark AT rz-online.de>
- To: <coq-club AT inria.fr>
- Subject: [Coq-Club] Question regarding the "Typeclasses Filtered Unification" option.
- Date: Fri, 23 Jun 2017 18:53:15 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=kathrin.stark AT rz-online.de; spf=None smtp.mailfrom=kathrin.stark AT rz-online.de; spf=None smtp.helo=postmaster AT mproxy1.isp.ktk.de
- Ironport-phdr: 9a23:eQyWLhV50t1ZRzji3rCEjb22GVnV8LGtZVwlr6E/grcLSJyIuqrYYxCFt8tkgFKBZ4jH8fUM07OQ6PG/HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjSwbLdwIRmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W7YlsN+g6xVrhK/qRJiwIDVb4+aOeFifq7ff9MWWXZNU9xTWiFHH4iyb5EPD+0EPetAqofyvUcOrRukBQmtAuPk1yJGhmPs0q0g0OQqDAbL3A86ENISsHTUttT1NKEIXeCu0KnH1y/Db/BN1Dfn6YnEaxchofeIXbJxd8re11MjGB7bgViJr4HuIjCb1vwVvmSF8uZsS/ijhmw9pw1sozWj2t0ghpfVio4N1FzI6Dt1zJw3KNGiVUJ2Yt+pHIFSuiyUMYZ9X9ksTHtyuCkgz70LoZ67czYOyJQg3xPfbuSHc5KP4hPsVOedPC10hHN+eLKnnRqy8lSgyu7mWsapzllGtitFkt/SuXARzxHf9NWLRuVn8kqjwzqDygHe5v1eLUwqiabXM5shzaQxlpoXv0TDBCj2mEDuga+VbEok5uio6/7mYrXgvJOcLJN0hRvkMqQtgcG/G+U5PhEJX2id/eS81bvj8lPjTLpXkPI6irPZv4zCJcQHuq65BBdY3Zok6xamFjupzNAYnWQcI19eYxKGj43pO0nUL/ziDPe/hU6skDZxyPzcML3hGMaFEn+WxLzmZPN271NW4As119FWoZxOXOIvOvX2D2z4qNzCDxlxCBC92eWvXNZ0yoMEWGTJGbOQKqD6q03N4eQrIu+BIoMY7mWuY8M57uLj2Cdq0WQWerOkiMMa
Hello,
I have a question concerning the "Typeclasses Filtered Unification" option.
Using the typeclasses eauto tactic, I would like to unify a pattern of the form
Test 0 ?n with another pattern of the form Test ?m ?m
- however, Coq complains that the patterns do not match:
pattern (Test ?META158 ?META158) on (Test 0 ?n) failed with: pattern does not match
I don't understand why - I would have guessed it could unify ?META158 with ?n with 0.
(Without the above option activated, it works out of course.)
So I wondered how exactly the pattern matching algorithm works? - Unfortunately I didn't find an answer to that.
The minimal code example can be found below.
Thank you very much!
Best,
Kathrin S.
------------------------------------------------------
Class Test (x y : nat) := testeqn : x = y.
Unset Typeclasses Filtered Unification.
Instance: forall n, Test n n.
Proof. reflexivity. Qed.
Set Typeclasses Filtered Unification.
Set Typeclasses Debug Verbosity 2.
Goal True.
evar (n : nat).
assert (Test 0 ?n). try typeclasses eauto.
(* Here we get:
simple apply Test_instance_0 with pattern (Test ?META158 ?META158) on (Test 0 ?n) failed with: pattern does not match *)
Abort.
- [Coq-Club] Question regarding the "Typeclasses Filtered Unification" option., Kathrin Stark, 06/23/2017
Archive powered by MHonArc 2.6.18.