Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club]Using a Prop to bound recursion

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club]Using a Prop to bound recursion


chronological Thread 
  • From: Adam Chlipala <adamc AT cs.berkeley.edu>
  • To: Tom Harke <harke AT cs.pdx.edu>
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club]Using a Prop to bound recursion
  • Date: Tue, 05 Dec 2006 18:23:38 -0800
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Tom Harke wrote:

Suppose I have an infinite stream, and I'm looking for a special element
in it.  I don't know where it is, I only know that it definitely occurs.
In fact, I've got a Prop demonstrating its existence.

Is it possible to write a function in Set which will find this element?
I haven't been able to, and I can't tell whether I should be able to.

My intuition is that this is impossible. Since you aren't allowed to eliminate values of types in Prop to construct values of types in Set, I can't see how you could get any "information flow" from the existential witness to the return value of your function. I don't know how to prove that it's impossible to write your function, though.

I'm new to Coq and a bit unclear on its limitations.

I wouldn't call this a limitation. Especially if you turn on impredicativity of Set, you can ignore Prop altogether and not have this problem. The reason to choose Prop versions of constructs in the first place is because you _want_ to prevent functions like yours from being written!





Archive powered by MhonArc 2.6.16.

Top of Page