coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jeremy Dawson <Jeremy.Dawson AT anu.edu.au>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] apply iff_refl neither works or fails
- Date: Tue, 4 Aug 2020 21:56:32 +1000
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=anu.edu.au; dmarc=pass action=none header.from=anu.edu.au; dkim=pass header.d=anu.edu.au; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xx/Jv41HtF+AZNXmjaLPUAlaxt8Cn+6cTAQy/Uggow8=; b=h65COgmfggmGZ43v9cxqYdCoLboP1dyZ3jSbVXvlDbJpUdnOtH8q30oqTh/WO4h2IzNSMHB453b5KET8W8jBrvh0BEpEGbpahsZyL473a25w6M8DAf826OW0JbPMeNuLw5nbV32zZ8mCRhkosW/G3osEq1dcWgMW9WOp2LCTzAKePqJJHupZ2kTHrXohnR599ofbi9D0DT58WRZcpXU6CwWAFayOu6TXGX9YXP6H7w0CquuNmD8X3ZiX/4LNNf80Bj7FfKVArtI4k2MSudojQMlpMxG/p5F2cXRuNHZ+b44TYqOWpUwFqdovE28LcSsxzqXIs3MvAdUotQ5jkqx78Q==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P8QDuXBJ+3e4fyXDgKh8I/I5TD+vwKYkd2JgeCelKRiNF6lSwBLcFIvY/RfRgHZ37nUqDaSuwEzIrRrgdUcdUH9PHjKioxzSGRSL/RV5R4dPMFlKgdQXXGyEdm1JNH6EFwcvu7wrloQRr0znLP3R4PMnl3GtdcbdtcdznaLP8aiEIvjVCE0uqtz8skODAoVTpgOOXm/xx0U23qV13hjfJgdNFDdDWdO0DrcvFHdJ7YpFVSUdjA8Xdvp5VsAKLmkcmpVvqdNhtM34rU9uq+CCoL94+0evrsTyg7nXWWdwyE3e2VCFlUSTYaJng6eS8ujYFSl8PizP85YTw8kvLUNzsQ==
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=Jeremy.Dawson AT anu.edu.au; spf=Pass smtp.mailfrom=Jeremy.Dawson AT anu.edu.au; spf=Pass smtp.helo=postmaster AT AUS01-ME1-obe.outbound.protection.outlook.com
- Ironport-phdr: 9a23:5tw9rRU6PRIaK2qLnPvQR/d4kNzV8LGtZVwlr6E/grcLSJyIuqrYbB2At8tkgFKBZ4jH8fUM07OQ7/m+HzNeqsrf+Fk5M7V0HycfjssXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6KfroEYDOkcu3y/qy+5rOaAlUmTaxe7x/IAi3oAnLtMQbgIRuJ6kwxxDUvnZGZuNayH9yK1mOhRj8/MCw/JBi8yRUpf0s8tNLXLv5caolU7FWFSwqPG8p6sLlsxnDVhaP6WAHUmoKiBpIAhPK4w/8U5zsryb1rOt92C2dPc3rUbA5XCmp4ql3RBP0jioMKjg0+3zVhMNtlqJWuA+vqQJxw4DUY4+bOvRxcaHBct0VSmVBX91cVzBCD46mc4cDE+QMMOReooLgp1UOtxy+BQy0Ce3r1DBInGH53ag60u88Hw/JxgIhH8kJsHTSsd74M6McXv6vzKbWyDXCb+la1znn54nGaRAhpveMUKlqfsrX1EkjDR3KgUiNqYD/JTyVy/0Avm6G5OVvSeyhkXQoqx1tojex3McsjJHEi40axF3Y9St13Zs5KNO2RUB1YtOqH4Zduj2VOodrQ84vR29mtSQ0x7AEpZO3YjYGxZAlyhPfd/GJc4iF7xHsWeuXPDx2h2pldaqwihqu60Ss1/HwW8uu3FpXoCdIk8PAum0T2xDN8sSKRf9w8l281TuMygzf8PxILE8pmabBNpIswb49m5wOukrZBCD2gl/5jKqOe0Uk5Oeo7+Pnb636q5CSKoF4lhzyPr0plMKwHOg0Kw8OUHOF9uim073j4FH5T65Njv0rlKnWrYrWJdwBpq6+Hw9azJos6wq+Dzeh1tQUh34HLE9ZeBKDiIjpPFLOLOrkAve4hlSgiDZrx/bYMb39GpjAIWTPnK38cbph6UNQ0hc/wN5e6p5OF70NPuz/Vlf0tNPCDx85NwK0w/zgCNV4zo4QXXyAArWHP6PXsV6E/OwhLPOCZY8Ovzb9LeMo6OTojX8kg1MSY7Sm3YYNZH+iA/RqO1+Zbmb0gtcdDWcKuRIzQ/DtiF2bSDJce3KyX78n6TwgE4KnDYLDRpi3j7Cb3Se7GIdWZmFcBVyWH3fobdbMZ/BZYyWLZ8RljzYsVL67SoZn2wv9mhX9zu9FI/DZ/zxQmZv8z99zr7nxmAs/8C0yI82CyGaLZ2hygyUFSyJw1b0p8h818UuKzaUt268QLtdU/f4cCl5mZ66Z9PRzDpXJYiyEZs2AEQz0S9O7Rzw9U5Q43o1WOhsvK5CZlhnGmhGSLfoVmriMWMNm25/nhyG0AuskjnHM2e8mkkUsRdZJOSu+nKlj+gPPBonP1UKEi6Ktcqda1ynIpj7anDi++XpAWQs1ap3rGHUWZ0/Yt9P8vxmQRrmzT7krL01I1JzbJw==
I see, thanks very much!
Jeremy
On 4/8/20 7:14 pm, Castéran Pierre wrote:
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+.