coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
- To: Fritjof <fritjof AT uni-bremen.de>
- Cc: coq-club AT inria.fr
- Subject: Re: [Coq-Club] feed goal into hypothesis
- Date: Mon, 6 Jul 2020 12:41:51 -0400
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk1-f178.google.com
- Ironport-phdr: 9a23:3x2D+hE+6aHGeIeRJ/WZ8Z1GYnF86YWxBRYc798ds5kLTJ7yos+wAkXT6L1XgUPTWs2DsrQY0rSQ6vurADRaqdbZ6TZeKcEKD0dEwewt3CUYSPafDkP6KPO4JwcbJ+9lEGFfwnegLEJOE9z/bVCB6le77DoVBwmtfVEtfre9FYHdldm42P6v8JPPfQpImCC9YbRvJxmqsAndrMYbjZZjJ6or1xfErHREd/lKyW92OFmfmwrw6tqq8JNs7ihdu+gt+9JcXan/Yq81UaFWADM6Pm4v+cblrwPDTQyB5nsdVmUZjB9FCBXb4R/5Q5n8rDL0uvJy1yeGM8L2S6s0WSm54KdwVBDokiYHOCUn/2zRl8d9kbhUoBOlpxx43o7UfISYP+dwc6/BYd8XQ3dKU8BMXCJDH4y8dZMCAeQBM+hGsofzpFkBrRW5CwajGOzhxSRFhmP00KAgz+gsCx3K0BImEtkTsHrUttL1NKIKXOy7zqnIyjPDb/JV2Tjj7IjHbA4urOqDXbJ1a8XRyE0vGxnZgVWXrIzpMS6e2+MPs2ic6epgVOGvhHAjqw5vvDei3cgsiozTiYIUzlDI7zl2wIEwJdChTkNwfNGrHodKuS6AK4t2Xt0tQ3tuuCsi1rELtoO3cDUUxZknxBPSaPOKfpaG7B/sWuicLzl1iGxrdb+/mhu/7Eiux+PhWsSq3lhHsClInNfIu34N1xLe6c6KQeZ+8Ee5wTuDyRzf5+VeLU03lafXMYAtzqAumpYJrEjOHCz7lF3ogKKXakko5+2l5/njb7r6o5KROI55hh3iPqkrhMCwG/g3PhYLUmiV9umwybPj8EjkTLlXgP02nKzUsJ7EKskZuKK0Bg9Y0ogt5hmlCTqtzc4WkmMdLF1ffRKKl4jpNE/KIPD/Ffq/hk6jkDZvx/zfJ73hAYjBImHNkLv8f7tw6FRQyAU0zdBY6JJUDq8OLOjvVU/2sdzUFh45MwqqzOb7ENhxyJ8SVGaVDqKaMK7eq0GE6vwxL+WWeYMYujXwJ+Ag5/H0jH85nVEdfbOu3ZsScH24HPNmI0OYYXrvnNgBFXkFsRQlQezljV2NSz9TZ3KoU60g4TE7DZqqDZ3fSYC1nLyBwCC7E4VKaWBBE1CACGvnd4GZW/gXcy+SOc9gkjkcVbe7UYMh1BeutBX7y7V9NObU9DcY5trf041b/ezPlxY8vWh6FcWB0WaDZ3xynyYCXTIz0aY5rUErmXmZ1q0tyf5fE91Q6vdEXy81MJfdy6pxDNW4ElbDedGIS1uiT9iODjQ4T9Z3yNgLNRUuU+6+hwzOinL5S4QekKaGUcRtrvDsmkPpLsM48E7okbE7hgB/EMRKPGyiwKV48lqLXtObowCij6+vMJ8k8mvN+WOElzTcuUhZVEtpUvyAUylANg3ZqtP24k6ERLirW+x+Y1lxjPWaI64PUeXHyFBPRfPtItPbOjvjlGK5BBLOzbSJPtPn
The "fun (x,y,z) = (x',y',z') -> fun1 a = a' /\ fun2 b =b'" direction
would only be true if none of the other match cases in fun produce
(x',y',z').
I would proceed by unfolding fun in the hypothesis and eliminating both
"fun1 a" and "fun2 b" keeping their equalities (hence using case_eq or
destruct eqn: tactics). The match cases that do correspond to a' and
b' will then be easy to prove from those equalities. The others will
require some way to show their results are not (x',y',z'), hence a
contradiciton - which means some decidable equality on that triple.
On Mon, 6 Jul 2020 18:19:46 +0200
Fritjof <fritjof AT uni-bremen.de> wrote:
> Hi,
>
> I have the following theorem:
> fun1 a = a' /\ fun2 b = b' <-> fun (x,y,z) = (x',y',z').
>
> fun1 and fun2 are called inside the function fun:
> fun(x,y,z)
> match fun1 a with
> | a' => match fun2 b with
> | b' => (x',y',z') (* these values are calculated somehow
> *) | bb' =>
> | aa' => ...
> end
>
>
> I can show the following: fun1 a = a' /\ fun2 b = b' -> fun (x,y,z) =
> (x',y',z'). (the first part)
>
> But not the second one: fun (x,y,z) = (x',y',z') -> fun1 a = a' /\
> fun2 b = b'. I didn't find a way to feed the left side of the
> implication into the hypothesis: fun (x,y,z) = (x',y',z').
>
> Does someone has a hint for me how to solve this?
>
> Best regards,
> --f.
- [Coq-Club] feed goal into hypothesis, Fritjof, 07/06/2020
- Re: [Coq-Club] feed goal into hypothesis, Pierre Courtieu, 07/06/2020
- Re: [Coq-Club] feed goal into hypothesis, jonikelee AT gmail.com, 07/06/2020
- Re: [Coq-Club] feed goal into hypothesis, Qinshi Wang, 07/06/2020
Archive powered by MHonArc 2.6.19+.