Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] setoid rewriting

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] setoid rewriting


Chronological Thread 
  • From: Vadim Zaliva <vzaliva AT cmu.edu>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] setoid rewriting
  • Date: Mon, 8 Aug 2016 11:52:32 -0700
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=vadim.zaliva AT west.cmu.edu; spf=Pass smtp.mailfrom=vadim.zaliva AT west.cmu.edu; spf=None smtp.helo=postmaster AT mail-wm0-f50.google.com
  • Ironport-phdr: 9a23:XhBLMx1b0BegDsgismDT+DRfVm0co7zxezQtwd8ZsegULfad9pjvdHbS+e9qxAeQG96Ks7QV06GP6viocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXsq3G/pQQfBg/4fVIsYL+kQsiD14/ujrj60qaQSj0AvCC6b7J2IUf+hiTqne5Sv7FfLL0swADCuHpCdrce72ppIVWOg0S0vZ/or9YwuxhX7vkm7otLVbjwV6U+V71RSjo8YE4v48i+ixDPTA7H1HIYU3sf2k5WEQHB7Q/zdpz0r233uvcri3rSBtH/Ub1hAWfq1KxsUhK90Co=

Pierre and Matthieu, thanks for the responses!

I did not expect the results to be equivalent but I wanted to illustrate that all Foo's instances in the goal are rewritable, at least in this order. 

Perhaps the better example is:  

setoid_rewrite Foo at 1.

vs.

setoid_rewrite Foo.

Shouldn't the following 2 be equivalent?

Vadim
 

--
CMU ECE PhD candidate
Mobile: +1(510)220-1060


On Sun, Aug 7, 2016 at 7:50 AM, Pierre Courtieu <pierre.courtieu AT gmail.com> wrote:

AFAIK there is no reason these two tactics should be equivalent. setoid_rewrite only detects possible simultaneous rewriting but does not perform repeat in any way. The repeat can take advantage of the intermediate results to find new redexes.
For instance in the word rewriting context:
Foo: aabb -> ab
On aaabbb
Repeat Foo at 1 gives ab (due to intermediate result aabb).
Whereas setoid only gives aabb.

That said, it does not explain why setoid_rewrite takes so long. But as a general rule you can not expect thes tactics to behave identically unless particular cases.

P.

On dim. 7 août 2016 at 11:27 Matthieu Sozeau <mattam AT mattam.org> wrote:
It might be due to the compatibility constraints of the first being weaker than the second (which attempts a parallel rewrite of all the instances of Foo in the goal), leading to a divergence in the proof search.
-- Matthieu
On Mon, 1 Aug 2016 at 22:16, Vadim Zaliva <vzaliva AT cmu.edu> wrote:
Could anybody please explain to me why the following works:

repeat setoid_rewrite Foo at 1.

while this one does not (takes forever):

setoid_rewrite Foo.

I am using 8.5pl2.

--
CMU ECE PhD candidate





Archive powered by MHonArc 2.6.18.

Top of Page