Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Inductive parameter of a inductive definition in Calculus of Inductive Constructions

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Inductive parameter of a inductive definition in Calculus of Inductive Constructions


chronological Thread 
  • From: Tie Cheng <chengtie AT gmail.com>
  • To: Coq-Club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Inductive parameter of a inductive definition in Calculus of Inductive Constructions
  • Date: Thu, 5 May 2011 23:17:34 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=biqDoP4Yb++DJwQJqGzky+fI3WCAIiY6o+bh4J6r4xEXrGyU46DyK4dn5nMwXooSbq xn4jP4aqgZerpFTluDe/nR5XN6rL73vOFwrjdTb0JBfHKuwrpTu7sIx827Pa20RKDSim bBziyhdYclKzTzX94kc6xPYkbgZj9jBkSFrvQ=

Dear all,

I am reading the 4th chapter of COQ reference manual - "Calculus of Inductive Constructions" and have a question about "Inductive parameters" and "real arguments" in "4.5.1 Representing an inductive definition".

According to the manual, an inductive definition Ind(Γ)(ΓI:=ΓC ) admits r inductive parameters if each type of constructors (c:C) in ΓC is such that 

C≡ ∀ p1:P1,…,∀ pr:Pr,∀ a1:A1, … ∀ an:An, (I p1 … pr t1… tq)

with I one of the inductive definitions in ΓI. We say that q is the number of real arguments of the constructor c.

The following List definition has 1 parameter:

Ind()(List:Set→Set:=nil:(∀ A:Set, List A), cons : (∀ A:Set, A → List A → List A) )

But the following definition has 0 parameter:

Ind()(List:Set→Set:=nil:(∀ A:Set, List A), cons : (∀ A:Set, A → List A → List (A*A)) )

What puzzles me is why the second definition has 0 parameter (unlike the first definition), actually I do not think I understand how to represent each of their constructors in form of ≡ ∀ p1:P1,…,∀ pr:Pr,∀ a1:A1, … ∀ an:An, (I p1 … pr t1… tq) to see their "r"...

Could anyone help?

Thank you very much

Tie



Archive powered by MhonArc 2.6.16.

Top of Page