[Haskell-cafe] Re: 0/0 > 1 == False
Henning Thielemann
lemming at henning-thielemann.de
Sat Jan 12 04:58:11 EST 2008
On Sat, 12 Jan 2008, Achim Schneider wrote:
> Kalman Noel <kalman.noel at bluebottle.com> wrote:
>
> > Achim Schneider wrote:
> > > whereas lim( 0 ) * lim( inf ) is anything you want
> >
> > Indeed I suppose that »lim inf«, which is a notation I'm not familiar
> > with, is not actually defined to mean anything?
> >
> It's an ad-hoc expression of "as the slices approach zero size, their
> number approaches infinity". It's more an observation than anything
> else. I have no idea how a professional mathematician would formalise
> it.
In Haskell you could professionally formalize it, if you would have a
function, which computes the limit of a sequence:
limit :: [Real] -> Real
(Cf. "Why functional progrmaming matters"
http://www.math.chalmers.se/~rjmh/Papers/whyfp.html)
let xs = iterate (1+) 1 -- example for "lim (inf)"
ys = map recip xs -- example for "lim (0)"
in limit (zipWith (*) xs ys)
If 'limit xs' and 'limit ys' are defined, then it holds
limit (zipWith (*) xs ys) == limit xs * limit ys
but in your case 'limit xs' does not exist. You can imagine it as
infinity, but to make it formally safe, you need something non-standard
analysis.
More information about the Haskell-Cafe
mailing list