coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Castéran Pierre <pierre.casteran AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] apply iff_refl neither works or fails
- Date: Tue, 4 Aug 2020 11:14:43 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=pierre.casteran AT gmail.com; spf=Pass smtp.mailfrom=pierre.casteran AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm1-f42.google.com
- Ironport-phdr: 9a23:GVcecR2iNTuNpc1nsmDT+DRfVm0co7zxezQtwd8ZseMWLPad9pjvdHbS+e9qxAeQG9mCtbQb1aGP6ejJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglVhTexe7F/IRS5oQnMqMUdnJdvJLs2xhbVuHVDZv5YxXlvJVKdnhb84tm/8Zt++ClOuPwv6tBNX7zic6s3UbJXAjImM3so5MLwrhnMURGP5noHXWoIlBdDHhXI4wv7Xpf1tSv6q/Z91SyHNsD4Ubw4RTKv5LptRRT1iikIKiQ5/XnXhMNsg6xUrw+vqRJxw4DKYo6bN/1wc7jBfdMDQGpNQsZRWzBDD466coABD/ABPeFdr4TluVYBtwC+BRW2A+P10DBIgGf507c70+s/CwHGxhIvFM8JvXTMrdX6Kr0SUfqrw6XS0TrMdehW2Svj54jSaB8hp+qBXb11ccXLyEkvExnJgUmXqYzgJj6Y0PkGvGeH4eR6T+2vl3InpB9rojip3sohjo3Ei4ALx13a6Ch03Jo4KMO3RkNlfdOpEJVeuiWYOoV4Rs4vQW5mtDg0x7EYpJK2cyYHxZA7yhPDZPKKcpSF7xT+X+iSOTd1nGxpdK67ihqo8kWtyvfwWtSq3FtJtCZIncfAumgT2xPJ9sSLV/5w8Vu61jqS0w3e7+NJLls0mKfeJZMu3KI8moYWvEvfAyD5g1n6gaqIeUo5+OWn9uHqba/4qZCCK4B5jw/+MqogmsOlB+kzLxIAUHKB+eum0b3u5U35T6tOjv0xiqTZtYrVJcUfpqKgDQ5V15sv5w+xDzqpztgUh3YHLFVCeBKIi4jmJUvCL+z/Dfe6m1iskTFryO7aPrD5HJnBMnzOnK3icLt98UJQ1RQ/wNNF659bFL0NOPfzVVXwtNzcAB85KQu0w+P/BdVl14MRR3iPArWHP6/IrVCH/PkvI/WSa48Pojn9LeMo5/HrjXAjmF8debOl0ocQaHC9BvhmOVmWYWLwgtcdFmcHphYxTOvziFGbTTFTY2uyULkn6zEgCIOmCJ/DSZq3jLyA2ie7BJxWaXpcBlCCC3e7P7mDDvwLcWeZJtJruj0CT7moDYE7hj+0swqv4LN8MmvO8ysvjZPuzsJ4r7nLlBwo7zEyBM2Gz2yXRmdckWYBRjtw16d69x8ugmyf2LR11qQLXedY4OlEB19jaMzsitdiAtW3YTrvO9eETFH8H4ejCDA1C800mpoAPxw7FNKlgRTOmSGtBu1Nzu3ZNNkP6qvZmkPJCYN4wnfC2rMmigB/EMRKPGyiwKV48lqKXtKbowCij6+vMJ8k8mvV7m7alDiBuUhZVEh7VqCXBX0=
Hi,
It looks like the « apply iff-refl » destructs the iff into two implications,
and generates a new goal without any error.
Lemma test (A B: Prop): A <-> B.
Show Proof.
apply iff_refl.
Show Proof.
(*
(fun A B : Prop =>
let H : forall A0 : Prop, A0 -> A0 :=
fun A0 : Prop => match iff_refl A0 with
| conj _ x0 => x0
end in
H (A <-> B) ?Goal)
*)
In short, « apply" seems to do a lot of smart things, we have to look at the
doc …
Best regards,
Pierre
> Le 4 août 2020 à 09:10, Jeremy Dawson <Jeremy.Dawson AT anu.edu.au> a écrit :
>
>
> Hi,
>
> In this sequence,
>
> Lemma test (Y Z : Prop) : (Y <-> Z).
> Proof. apply iff_refl. Abort.
>
> the tactic apply iff_refl does nothing - it doesn't succeed (naturally)
> but it doesn't produce the usual failure message either; can anyone tell
> why this is?
>
> Thanks,
>
> Jeremy
>
> PS what follows is a query I made a while back, but I didn't get any
> replies then, does anyone know how to stop Coq unfolding a constant in this
> situation?
>
> On 9/7/20 11:46 pm, Jeremy Dawson wrote:
>> Hi,
>> I have a goal
>> swapped ((single a ++ qs) ++ vs) ((qs ++ vs) ++ single a)
>> where single is defined by
>> Definition single X (a : X) := [a].
>> When I try
>> rewrite - !app_comm_cons.
>> it unfolds one of the occurrences of single x
>> (which stops my carefully written Ltac function from working and took ages
>> to pinpoint what was happening).
>> How do I stop this from happening?
>> Thanks
>> Jeremy
- [Coq-Club] apply iff_refl neither works or fails, Jeremy Dawson, 08/04/2020
- Re: [Coq-Club] apply iff_refl neither works or fails, Castéran Pierre, 08/04/2020
- Re: [Coq-Club] apply iff_refl neither works or fails, Jeremy Dawson, 08/04/2020
- Re: [Coq-Club] apply iff_refl neither works or fails, Castéran Pierre, 08/04/2020
Archive powered by MHonArc 2.6.19+.