Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Unfolded not cannot be refolded

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Unfolded not cannot be refolded


Chronological Thread 
  • 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


(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.


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?


Sincerely Yours,

Jason Hu




Archive powered by MHonArc 2.6.18.

Top of Page