Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Inductives in Modules

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Inductives in Modules


chronological Thread 
  • From: Roland Zumkeller <Roland.Zumkeller AT polytechnique.fr>
  • To: coq-club AT pauillac.inria.fr
  • Subject: [Coq-Club] Inductives in Modules
  • Date: Thu, 13 May 2004 16:27:09 +0200
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

I'd like to use modules to do model first-order signatures and algebras on them :

Module Type Signature.
  Variable V : Set.
  Variable F : nat -> Set.
End Signature.

When defining the following module

Module S : Signature.
  Inductive V : Set:= X | Y.
  Inductive F : nat -> Set:= Plus : F 2 | Zero : F 0 | One : F 0.
End S.

I get this error message:
  "User error: Signature components for label V do not match"

However when defining the inductive with another name first, everything works fine.

Module S1 : Signature.
  Inductive V_ : Set:= X | Y.
  Definition V := V_.

  Inductive F_ : nat -> Set:= Plus : F_ 2 | Zero : F_ 0 | One : F_ 0.
  Definition F := F_.
End S1.

Is this a bug or is there a deeper reason for this ?





Archive powered by MhonArc 2.6.16.

Top of Page