Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Understanding sort polymorphism

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Understanding sort polymorphism


chronological Thread 
  • From: Brian Aydemir <baydemir AT cis.upenn.edu>
  • To: Coq List <coq-club AT pauillac.inria.fr>
  • Subject: [Coq-Club] Understanding sort polymorphism
  • Date: Wed, 11 Jul 2007 17:44:49 -0400
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Hi everyone,

I have a question about sort polymorphism in Coq 8.1. Consider the following example.

(* *** *)

Parameter bind : Set.

Definition env := list.

Print env.         (* env        : Type -> Type *)
Check (env bind).  (* env bind   : Type *)
Check (list bind). (* list bind  : Set *)

(* *** *)

My question: why are (env bind) and (list bind) assigned different sorts? The two are convertible with each other. It seems strange that "wrapping" list behind a Definition would all of a sudden change the sorts that are assigned to entities. What exactly is going on here?

Thanks for any help and clarification,
Brian





Archive powered by MhonArc 2.6.16.

Top of Page