coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Edsko de Vries <devriese AT cs.tcd.ie>
- To: Benjamin Werner <benjamin.werner AT inria.fr>
- Cc: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club]and_rec
- Date: Tue, 6 Mar 2007 14:13:43 +0000
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
On Tue, Mar 06, 2007 at 03:05:08PM +0100, Benjamin Werner wrote:
> I suggest the following. Prove:
>
>
> Lemma pia1 : forall A B, A/\B -> A.
> intros A B [a _]; trivial.
> Defined.
>
>
> Lemma pia2 : forall A B, A/\B -> B.
> intros A B [_ b]; trivial.
> Defined.
>
> Lemma surj_conj : forall A B, forall c : A/\B,
> c = (conj (pia1 _ _ c)(pia2 _ _ c)).
> intros A B [a b]; trivial.
> Qed.
>
>
> Then each time you are stuck, you simply have to do
> rewrite (surj_conj c)
> where c is the proof of the conjunction.
Thanks! That is quite elegant, and works very nicely. I also didn't know
about the syntax you are using (intro [a b]) - is there an implied case
analysis there? Good to know! Using intro [a b] gets me a conj _ _
straight away, which is the bit I couldn't get working..
Thanks again,
Edsko
- [Coq-Club]and_rec, Edsko de Vries
- Re: [Coq-Club]and_rec,
jean-francois . monin
- Re: [Coq-Club]and_rec,
Edsko de Vries
- Re: [Coq-Club]and_rec,
Pierre Castéran
- [Coq-Club]Xml and coq8.1, Thery Laurent
- Re: [Coq-Club]and_rec,
Pierre Castéran
- Re: [Coq-Club]and_rec,
Edsko de Vries
- Re: [Coq-Club]and_rec,
Benjamin Werner
- Re: [Coq-Club]and_rec, Edsko de Vries
- Re: [Coq-Club]and_rec, Jean.Duprat
- Re: [Coq-Club]and_rec,
jean-francois . monin
Archive powered by MhonArc 2.6.16.