Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Add Relation sequence bisimilar

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Add Relation sequence bisimilar


chronological Thread 
  • From: Keiko Nakata <keiko AT kurims.kyoto-u.ac.jp>
  • To: gonthier AT microsoft.com
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club] Add Relation sequence bisimilar
  • Date: Tue, 12 May 2009 22:11:55 +0900 (JST)
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

> CoInductive clock: Set := Tick (_ : clock).
> CoFixpoint ticks := Tick ticks.
> Definition foo := let: Tick _ as t := ticks return t = t in refl_equal _.
> Definition fubar := Eval compute in Some foo. (* Type error !! *)
> (** I fixed some typo :) **)

The error message says: 

"Tick (cofix ticks  : clock := Tick ticks) =
 Tick (cofix ticks  : clock := Tick ticks)" which should be coercible to
"(cofix ticks  : clock := Tick ticks) = (cofix ticks  : clock := Tick ticks)"

I could think the two terms are extensionally equal.

I have been looking for a way to forbid the intentional equality 
on colists at all so that any predicate on colists shall not distinguish 
bisimilar colists. That's why I am interested in "Add Relation colists 
bisimilar". 
Having a deep-embedded predicate language would be an option, which I am not
sure if I want.

Kind regards,
Keiko





Archive powered by MhonArc 2.6.16.

Top of Page