coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jason -Zhong Sheng- Hu <fdhzs2010 AT hotmail.com>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: [Coq-Club] Unfolded not cannot be refolded
- Date: Wed, 28 Mar 2018 22:39:20 +0000
- Accept-language: en-CA, en-US
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=fdhzs2010 AT hotmail.com; spf=Pass smtp.mailfrom=fdhzs2010 AT hotmail.com; spf=Pass smtp.helo=postmaster AT NAM01-SN1-obe.outbound.protection.outlook.com
- Ironport-phdr: 9a23:QifdlBU48JAXslQuh79Rlb/WTcbV8LGtZVwlr6E/grcLSJyIuqrYYxyHt8tkgFKBZ4jH8fUM07OQ7/i7HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba98IRmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W/XlMJ+kb5brhyiqRNjzIHZe5uaOOZicq7HYd8WWXdNU8BMXCJBGIO8aI4PAvIFM+lCtIn9oF0OpganCQavBOPvzTlIhnDr1qMn0+QuDwfG3AM5E9kTsnrUscj+OaAcUe+ozKnJzC7DY+1K1Tvg9ITFaRAhofaQXbJ1a8XRyE0vGxnZgVWXrIzoJjWY3fkOvWiD9+dtWv6jh3Qjpg1vuDSj2N0gh4vKi48T11vK7z92wJwvKt29UEN7YcCrEJ9XtyyCL4V7XsQsT311tCoj17MIoYO3cDENyJs82RHTcfuHc5WU4h34U+aRPDF4i29/dLKnnRay9lSgxfPgWcmo0VZKqSxFnsPLtnAQyxzT7s+HSvx+/ku7xTmP0AXT5vlFIUAyi6XbN4Ysz7EsmpYJtUnPADX6lFvsgKKUdUgo4u2o5P7mYrXiqJ+cLYh0igTmP6Qgh8O/AeU5MhMQU2SH5OiwyKbu/U3+QLVWi/05iKjZsJTAKcsHoa65BhdZ0pw/5BanEzemzNMYkGEbI1JCYRKLlpTmO1XTIP/jFvq/mFStkDJzx//cJLHhA5PNLmLCkLj7Z7p95VRcm0IPyoUV7JVNT7oFPfjbW0nrtdWeAAVze1i/xP+iA9Fg3KsfX3iOC+mXKvWBn0WP47cNKvKLYsdQijb6Lfdt3P7ji3B80X8ANf2n0ZsFcyrgR6xOI0KFZHPthpEKFmJc7Vl2d/DjlFDXCW0bXH21Ra9pvmhqWrLjNp/KQ8WWuJLE2S66GpNMYWUfUQKMFmvtfoSAHfwLbXDLe5Mzonk/TbGkDrQZ+1S2rgajkOhnKfbR8ywc85nk0YotvrCBpVQJ7TVxSv+l/SSNQmVzwjxaYRYThPk6mmokj1CJ3O5/nuBSEsFV67VRSAAmOJXAzut8TdfvRgbGedTPQ1GjEIyr
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi all,
Please consider following code:
Goal (forall n : nat, ~ (n >= 0) -> False) -> True.
unfold not. fold not.
This code unfolded not, so the goal becomes
unfold not. fold not.
(forall n : nat, (n >= 0 -> False) -> False) -> True
But the next one
fold not is not able to refold the
not to turn the inner condition back to ~ (n >= 0).
In general, I tried to write code like this,
intros.
match goal with
| [ _ : forall _, ?T |- _ ] =>
idtac T
end.
following the program above, in my Coq 8.6, it says no matching clause. But I suspect this error message is bogus, the real error should be Coq wouldn't allow us to capture a dependent right hand side of implication, due to the potential misuse of free variables.
That probably also explains why
fold cannot undo what
unfold has done.match goal with
| [ _ : forall _, ?T |- _ ] =>
idtac T
end.
This is especially disturbing, when I do
autounfold
in
*. There are many lemmas expressed with the presence of
not, and if
not is unfolded,
auto family does not seem work well with that form anymore. Might I ask
how do you guys handle it?
In general, is there a way to manipulate dependent rhs of implication?
- [Coq-Club] Unfolded not cannot be refolded, Jason -Zhong Sheng- Hu, 03/29/2018
- Re: [Coq-Club] Unfolded not cannot be refolded, ikdc, 03/31/2018
Archive powered by MHonArc 2.6.18.