coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jason -Zhong Sheng- Hu <fdhzs2010 AT hotmail.com>
- To: Dominique Larchey-Wendling <dominique.larchey-wendling AT loria.fr>, "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] How to organize this tricky proof?
- Date: Thu, 21 Mar 2019 21:57:16 +0000
- Accept-language: en-CA, en-US
- Authentication-results: mail2-smtp-roc.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 NAM03-DM3-obe.outbound.protection.outlook.com
- Ironport-phdr: 9a23:mkNKFx2kmRqfB7EmsmDT+DRfVm0co7zxezQtwd8ZsesWKfzxwZ3uMQTl6Ol3ixeRBMOHsqoC1bud6vu+EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCehbb9oLRi7qQrdutQYjIZjN6081gbHrnxUdupM2GhmP0iTnxHy5sex+J5s7SFdsO8/+sBDTKv3Yb02QaRXAzo6PW814tbrtQTYQguU+nQcSGQWnQFWDAXD8Rr3Q43+sir+tup6xSmaIcj7Rq06VDi+86tmTgLjhTwZPDAl7m7Yls1wjLpaoB2/oRx/35XUa5yROPZnY6/RYc8WSW9HU8lWSiJBH5i8b5MRAOUdIeZWoY79p14Uohu/AwmnGefjxzBMi3Pz26AxzuYvHhzc3AE4H9wArmnarMn7OqkRX+C6zrXHwjrYYvxMxTvx9JLFfgw9rf2RW797bMrfyVMoFwPAllierZbqPyiS1uQLrmOX9ulvVeKoi24hpAF6vyWhxscyhYnPiYIZ003P+ydkwI0oItC4RlN0Yd6lEZtLqS2WK5Z6Tt85TmFovyY61rgGtoS6fCgO0pgo2xnfa/mefoWO/xntWuGRITJii3JkfrKynxmy8Um8yu38S8m7y0xGritCktTKq3sD1ATT59CIR/dh5Eus3SiD2xrQ5+1eL005lrLXK5A/zbMzipYetEHOETHqlEjyjqKbc0Qp9vWm5unlZ7jrpYGQOo1phQz7MakihNGzAeo+PwMTRWaU4/6826fm/UDhQLVFkPk2kq7BvZ7COckVobK1DgFM3ogt7BiyAS6q0NMDknYZNl5Ffw+Hj5TyNFHJPfD4C+qwj060kDdxwPDGIqPuDYnRLnjCl7fhe6xx60lByAovydBf4JVUCrIbLP3vXU/xscTUDh4/MwOq3+bqENpw2p8EVW+LHKOVKqDfvUWG6+8sO+WMYZUauDf5K/gr/f7uino5lEcTfaa03ZsWaWu4Eup6L0mEfXbhmdcBEWAWvgo7VuPqiVmCXSRPaHa1WqIw/is7B56+DYffWoCth6SM0zu8Hp1Pf2xJFlSMEWrzeIifQPcNaCeSItd7nTAeVLihTZUh1RC0uwPgxbpnNLmcxipNmZXm1d50/vDe3TU77zd0AtXY7GyLQ2V1mGxAEzMx2aF5oFVgxxGH2LJzg/FJUMNe4f9NUwE1HZrb1e1zTd7oDEaJNNyOUROtRsisKTA3VNM4hdEUKQ4pENK7yxvHwiCCArkPlrXNCoZioYzG2H2kBc9mzHCOkZshiF8pCvBPOGupw+Zf6kCHCYLJgV7Dz//yXaQbwCvE9WPFxm2L6hILGDVsWLnICChMLnDdqs70swafFub/W4RiCRNIzIu5EoUPb9ToiVtcQ/K6Y4beZH60kma0Qx2Pw+HVNda4SyAmxCzYTXM8vUUL53/fblo+ATukqmPaSjdpEAC3Oh6+waxFsHq+C3QM4USKYklmi+Xn3Dcw3afZZ9ZIm7UOtWEmtil+G0u705TOEd2cqgF9faJaJ9Qg/FNA0mGfvAt4bMWt
I did dependent induction on `P t`, where `t` suitably reflects its cases.
I cannot do inversion because I need deeper inductive hypothesis.
From: coq-club-request AT inria.fr <coq-club-request AT inria.fr> on behalf of Dominique Larchey-Wendling <dominique.larchey-wendling AT loria.fr>
Sent: March 21, 2019 5:47 PM
To: coq-club
Subject: Re: [Coq-Club] How to organize this tricky proof?
Sent: March 21, 2019 5:47 PM
To: coq-club
Subject: Re: [Coq-Club] How to organize this tricky proof?
Hi Jason,
Could you be more specific,
>
consider a type `T` and an inductively defined proposition `P : T -> Prop`. theorem `foo : forall (t : T), P t -> Q t` is proved by doing an induction on `t` and then `P t`.
Most of the time, if you proceed by induction on "t", then you cannot proceed by induction on "P t" afterwards because "t" is not
a freely evolving variable anymore in "P t". Maybe you use inversion ?
Best,
Dominique
De: "Jason -Zhong Sheng- Hu" <fdhzs2010 AT hotmail.com>
À: "coq-club" <coq-club AT inria.fr>
Envoyé: Jeudi 21 Mars 2019 21:50:55
Objet: [Coq-Club] How to organize this tricky proof?
Hi,
consider a type `T` and an inductively defined proposition `P : T -> Prop`. theorem `foo : forall (t : T), P t -> Q t` is proved by doing an induction on `t` and then `P t`.
however, inside of `foo`, in each case of `t`, I will need another theorem `bar : forall (t : T), P t -> R t`, which is proved by induction on `P t` and some cases require `foo`.
since `bar` always operate on smaller `P t` instances, so these two theorems are true, but just mutually dependent.
my problem is, I am not sure how to organize this proof to make it shorter. clearly, I can prove `bar` for each particular `t` but it pointlessly adds so much more identical proofs. On the other hand, `foo` and `bar` are not structurally mutually recursive either, because `foo` decreases on `T` while `bar` decreases on `P t`, which stops me from using Fixpoint.
Is there any way to organize the proof, so that I only need to prove `foo` and `bar` once?
- [Coq-Club] How to organize this tricky proof?, Jason -Zhong Sheng- Hu, 03/21/2019
- Re: [Coq-Club] How to organize this tricky proof?, Dominique Larchey-Wendling, 03/21/2019
- Re: [Coq-Club] How to organize this tricky proof?, Jason -Zhong Sheng- Hu, 03/21/2019
- Re: [Coq-Club] How to organize this tricky proof?, Xavier Leroy, 03/22/2019
- Re: [Coq-Club] How to organize this tricky proof?, Jason -Zhong Sheng- Hu, 03/22/2019
- Re: [Coq-Club] How to organize this tricky proof?, Favonia, 03/22/2019
- Re: [Coq-Club] How to organize this tricky proof?, Dominique Larchey-Wendling, 03/21/2019
Archive powered by MHonArc 2.6.18.