Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] difference between simpl and unfold

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] difference between simpl and unfold


Chronological Thread 
  • From: shengyu shen <shengyushen AT icloud.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] difference between simpl and unfold
  • Date: Thu, 03 Sep 2015 20:15:17 +0800
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=shengyushen AT icloud.com; spf=Pass smtp.mailfrom=shengyushen AT icloud.com; spf=None smtp.helo=postmaster AT pv33p04im-asmtp001.me.com
  • Ironport-phdr: 9a23:zoFsShe8m8TE8hgRujysdfoJlGMj4u6mDksu8pMizoh2WeGdxc65bB7h7PlgxGXEQZ/co6odzbGG7+a4BSdcvN6oizMrTt9lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUiv2OQc9HOnpAIma153xjLDuvcWPKFkVzBOGIppMbzyO5T3LsccXhYYwYo0Q8TDu5kVyRuJN2GlzLkiSlRuvru25/Zpk7jgC86l5r50IAu3GePEzSqUdBzA7OUg04tfqvF/NV1ih/HwZB34WnxxHEhWN9xH3WN+lqSv3sOVsxTKaMMveTLswXimuqaxsTUm72288Kzcl/TSP2YRLh6VBrUf5qg==

according to doc of coq, there are 4 types of reduction:

beta, delta, iota or zeta


It seems that simple work on beta iota and zeta, while unfold work on delta only?

Shen
On Sep 3, 2015, at 6:17 PM, Pierre Courtieu <pierre.courtieu AT gmail.com> wrote:

You can see the behavior of simpl, cbn and unfold in the documentation.

In short: simpl is reduction heuristic. It only unfolds if some
further reduction (iota-reduction mainly I think) is triggered by the
unfolding, otherwise it does not unfold (to keep you goal small).

Remark: please use cbn instead of simpl if you are using coq-8.5. Its
behavior is most of the time better.

Hope this helps
P.



2015-09-02 16:10 GMT+02:00 shenshengyu <shengyushen AT me.com>:
Dear all:

I am a new leaner of Coq, I am reading the usage of tactics.

I am trying to prove the following theorem:

===================================
Theorem double_neg_i: forall P:Prop , P->~~P.
===================================

if I use “unfold not.” , I can transform the goal to


===================================
forall P : Prop, P -> (P -> False) -> False
===================================


But if I use “simpl not”, then nothing happen.

So my question is what is the difference of simpl and unfold?


Shen






Archive powered by MHonArc 2.6.18.

Top of Page