Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] usage of eq_ind

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] usage of eq_ind


chronological Thread 
  • From: Adam Chlipala <adam AT chlipala.net>
  • To: qgxu AT mail.shu.edu.cn
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] usage of eq_ind
  • Date: Thu, 27 May 2010 07:37:14 -0400

qgxu AT mail.shu.edu.cn
 wrote:
> Now, I am reading the book "Interactive theorem proving and program
> development: Coq'Art : ...".
> I have some question about the proving "eq_sym" using the defition for
> "eq_ind" on pages 99 and 100.

I'm happy to be able to give you two generic recipes for answering these
questions. :)

> On Page 99, there is a proof for "eq_sym":
> Defintion eq_sym (A:Type)(x y: A)(h: x=y) : y=x :=
> eq_ind x (fun z => z=x) (refl_equal x) y h.
>
> My question is:
> 1) what's the type of "eq_sym"?

Run this command to see:
Check eq_sym.

> 2) how to instance the definition of eq_ind in the process of proving
> the eq_sym?
> i.e.
> "x" in page 99 is corresponding to "A" or "x" of "eq_ind : forall (A:
> Type)(x:A)(P:A->Prop), P x -> forall y: A. x=y -> P y"?
> "refl_equal x" is corresponding to "P" ?

Run this command to get all the info you need:
About eq_ind.

The type that is displayed will make clear what all of the arguments
are. A later line lists which arguments are implicit. In a particular
application of [eq_ind], the arguments passed will be exactly those not
marked implicit, in exactly the same order you can read off from
[eq_ind]'s type.



Archive powered by MhonArc 2.6.16.

Top of Page