coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Clément Pit-Claudel <cpitclaudel AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport
- Date: Tue, 12 Nov 2019 17:21:30 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=cpitclaudel AT gmail.com; spf=Pass smtp.mailfrom=cpitclaudel AT gmail.com; spf=None smtp.helo=postmaster AT mail-qv1-f44.google.com
- Ironport-phdr: 9a23:ZJnHjx8KmlELYv9uRHKM819IXTAuvvDOBiVQ1KB30uocTK2v8tzYMVDF4r011RmVBN6dsqgVwLOI6ujJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglVijexe65+IAuyoAneq8UbgJZuIbstxxXUpXdFZ/5Yzn5yK1KJmBb86Maw/Jp9/ClVpvks6c1OX7jkcqohVbBXAygoPG4z5M3wqBnMVhCP6WcGUmUXiRVHHQ7I5wznU5jrsyv6su192DSGPcDzULs5Vyiu47ttRRT1jioMKjw3/3zNisFokaxVvhyhqRx8zYDabo6aO/hxcb/Sc94BWWpMXNxcWzBdDo6ybYYCCfcKM+ZCr4n6olsDtQWzBQ22A+Pq1DBIgGP20rUg3eQgDQHKxRItH9YUv3TJsdr6KqMSWv2ywabU1TXDbu9W1iv56IfSbxAuvO+DXbZrfMrezEkgDQLFjlGKpYP5ODOV0/0Avm6G5ORjTeKik3Arpx11rzS1xcohipPFipwIxl3A7yl0z4k4KcWmREN6fdKpHp5dui6GO4dqWMwvRn1ktSM5x7EYpZG2eSYKyJopxxLDbvGKfJaH7xH9WOuULjp3mn1odby6ihmu7UetzvPzW8+p21hQtCVFiMPDtnUV2hzT9MeHTvx981+k2TmV1gDT7vhIIVkqlabGMpIhzLE9m5UJvUTMGS/2n0r2jKuIeUk+5ueo7OHnbq3npp+aKYB0lhnzProylsG7G+g1MQgDU3KF9eih0LDv50L0TbpSgv0ziKbZsZTaJcoBpq6+Bg9Yypos6w6+Dze6zNsYmWMILE9Ydx2Zi4jkIF7OIPXiAve+h1Sgiitkx/fDPrH5GJXCMmDDkKv9fbZ680NT1A0zzclG651IDrEBPen8V1TqtN3YCx85Kxa7z/zmCNV7zIMeWHiADrWXMKPI4he04bckJPDJb4sIsh78LeIk7rjglywXg1gYKIKtXJ4abmyPJvV6Zm6daGfgj9NJRWwSvxY1SOX3hFCGeTFWbne2Gak742doW8qdEY7fS9X10/S61yChE8gOPz0UOhW3CX7tMr68dbIMZSaVeJIzlzUFUf24VdZk203y8gD9zLVjI6zf/ShK7cu/hugw3PXakFQJzRIxF96UijjfQGR9n2dOTDgzjvgm8B5Nj2yb2K09uMR2UNla5vdHSAA/bMeOwOlzCtS0UQXELI6E
On 2019-11-12 16:58, Dan Christensen wrote:
> I would like Coq to figure out that by passing the arguments m and
> (3 * n) to add_comm you get an equality whose left-hand-side matches
> a sub-term of the given term, and have it generate the function
>
> fun k => (4 * k) * 2
>
> that you get by abstracting the sub-term.
Something along these lines? You'd have to generalize it to cover more
arguments, of course.
Goal forall m n, (4 * (m + (3 * n)) * 2) = 1.
intros.
match type of Nat.add_comm with
| forall a b, @?f a b = _ =>
let fn := fresh "f" in
set f as fn;
match goal with
| [ |- context[fn ?x ?y] ] =>
pattern (fn x y);
set x as arg1; set y as arg2
end
end.
m, n : nat
f := fun n m : nat => n + m : nat -> nat -> nat
arg1 := m : nat
arg2 := 3 * n : nat
============================
(fun n0 : nat => 4 * n0 * 2 = 1) (f arg1 arg2)
- [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Samuel Gruetter, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Clément Pit-Claudel, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Clément Pit-Claudel, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Clément Pit-Claudel, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/14/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Jason Gross, 11/14/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/15/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/15/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/15/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Samuel Gruetter, 11/12/2019
Archive powered by MHonArc 2.6.18.