Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club]and_rec

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club]and_rec


chronological Thread 
  • 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





Archive powered by MhonArc 2.6.16.

Top of Page