coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Arnaud Spiwack <aspiwack AT lix.polytechnique.fr>
- To: t x <txrev319 AT gmail.com>
- Cc: coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Notions of Sets
- Date: Fri, 6 Sep 2013 06:57:56 +0200
forall X:Type, forall (A B:X->Prop), (forall x, A x <-> B x) -> forall P:X->Prop, exists x, A x /\ Px <-> exists x, B x /\ P x.
On 5 September 2013 22:20, t x <txrev319 AT gmail.com> wrote:
Thanks!I'm having trouble formulating (2) in Coq. Can someone show me sample code (or point me at some chapter I should read?)Then, all I need is to show that the "set" defined by l <= i < r is equiv to teh set defined by i = l \/ (l+1 < i < r).exists x, x in A /\ P x = exists x, x in B /\ P xA = B (* in the sense that for all x, x in A <-> x in B *),forall (A B : Sets) (* -- not necessairly the same "Set" as Coq's "Set" *),However, I want to formulate a more general theorem, something like this:[We're using propositional equivalence through all this.]Using propositional equivalence, this can be proved easily using the Z destructuring of {a = b} + {a < b} + {a > b}.
Here is a simple lemma. (I don't need help proving it. I need help making it more abstract).
(1)Lemma lem__Z_split: forall (l r: Z) (P: Z -> Prop), (exists i, l <= i < r /\ P i) = (P l \/ (exists i, l +1 <= i < r)).
(2)
- [Coq-Club] Notions of Sets, t x, 09/05/2013
- Re: [Coq-Club] Notions of Sets, Arnaud Spiwack, 09/06/2013
- Re: [Coq-Club] Notions of Sets, Cedric Auger, 09/06/2013
- Re: [Coq-Club] Notions of Sets, t x, 09/06/2013
- Re: [Coq-Club] Notions of Sets, Cedric Auger, 09/06/2013
- Re: [Coq-Club] Notions of Sets, Arnaud Spiwack, 09/06/2013
Archive powered by MHonArc 2.6.18.