[Haskell-cafe] There can be only one fix? Pondering Bekic's lemma

Nicolas Frisby nicolas.frisby at gmail.com
Wed Mar 21 11:38:39 EDT 2007


Whooops. Thanks for the correction.

On 3/20/07, Levent Erkok <erkokl at gmail.com> wrote:
>
>
>
> On 3/19/07, Nicolas Frisby <nicolas.frisby at gmail.com> wrote:
> > Nope, but I believe the two are equipotent. This usage of "believe" is
> > one of those "I think I remember reading it somewhere" usages.
> >
> > On 3/19/07, Henning Thielemann < lemming at henning-thielemann.de> wrote:
> > >
> > > On Sat, 17 Mar 2007, Nicolas Frisby wrote:
> > >
> > > > Bekic's lemma [1], allows us to transform nested fixed points into a
> > > > single fixed point, such as:
> > > >
> > > > fix (\x -> fix (\y -> f (x, y))) = fix f     where f :: (a, a) -> a
> > >
> > > The 'fix' on the right hand side is not the standard one (e.g.
> > > Control.Monad.Fix), is it?
>
> Yes, it is the standard "fix". The Bekic lemma actually reads:
>
>       fix (\x -> fix (\y -> f (x, y))) = fix (\x -> f (x, x))
>
>  which should explain the confusion here.
>
>  -Levent.
>
>


More information about the Haskell-Cafe mailing list