coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Matthieu Sozeau <mattam AT mattam.org>
- To: Fabian Kunze <fkunze AT fakusb.de>, coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations
- Date: Sun, 23 Oct 2016 08:49:37 +0000
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mattam AT mattam.org; spf=Pass smtp.mailfrom=matthieu.sozeau AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm0-f51.google.com
- Ironport-phdr: 9a23:lOn1sxBOQkKzLy0/1/l8UyQJP3N1i/DPJgcQr6AfoPdwSP74oMbcNUDSrc9gkEXOFd2CrakV0ayI6Ou4BCRAuc/H6y9SNsQUFlcssoY/oU8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0IufrymUqabtcm81viz9pvPeE0IwWPlOfIhZCmx+CvYvMgfh8NBN6Ajx1OdrHhVffZb7W1hJk+IlVDw65H0tJVk6mFbv+8rv5pLVry/dKAlR5RZCi4nOiY7/pu4mwPESF6q72cAUmQbj1JzBBrI5QyyCpL4rjfzs8J40TWGNMiwSqo7D2fxp5x3QQPl3X9UfwUy93va34kp1PpW
Hi Fabian,
I don't think there's any ready to use tactic for your example, but you might want to have a look at the https://github.com/CertiKOS/coqrel library for logical relations [1], which might help in this case. We're currently thinking about mixing this library with the generalized rewriting/setoid_rewrite tactic to allow for this kind of dependent/heterogeneous rewriting [2], but we're not there yet.
[1] A Coq Library for Binary Logical Relations - Jerémie Koenig, Yale University
Best,
-- Matthieu
On Fri, Oct 21, 2016 at 11:27 AM Fabian Kunze <fkunze AT fakusb.de> wrote:
Hi,My intention was to rewrite 'with reduce_trans', so i would hope to be left with t ~>(j) u and the side condition i+j=i+j (by instantiation of the k in reduce_trans, since by rewriting in the goal, we would force the goal to instantiate the conclusion of reduce_trans).Best,FabianJohn Wiegley <johnw AT newartisans.com> schrieb am Do., 20. Okt. 2016 um 19:32 Uhr:>>>>> "FK" == Fabian Kunze <fkunze AT fakusb.de> writes:
FK> I can not register 'Transitive reduce' as 'reduce' is not transitive. I
FK> can also not register a proper "Proper"-Instance, as the argument 't' in
FK> 'reduce_trans' is in different positions of 'reduce'.
forall (R1 : s ~>(i) t), t ~>(j) u -> s ~>(i+j) u.
Wouldn't a rewrite using R1 here result in the goal: t ~>(i+i+j) u?
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
- [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations, Fabian Kunze, 10/20/2016
- Re: [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations, John Wiegley, 10/20/2016
- Re: [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations, Fabian Kunze, 10/21/2016
- [Coq-Club] Coercions with constructors of inductive types, richard dapoigny, 10/21/2016
- Re: [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations, Matthieu Sozeau, 10/23/2016
- Re: [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations, Fabian Kunze, 10/21/2016
- Re: [Coq-Club] Setoid Rewrite with non-transitive (step-indexed) Relations, John Wiegley, 10/20/2016
Archive powered by MHonArc 2.6.18.