Please rid me of this goto

Smoke Adams via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 23 19:36:50 PDT 2016


On Friday, 24 June 2016 at 01:49:27 UTC, Timon Gehr wrote:
> On 24.06.2016 02:14, H. S. Teoh via Digitalmars-d wrote:
>> On Fri, Jun 24, 2016 at 01:58:01AM +0200, Timon Gehr via 
>> Digitalmars-d wrote:
>>> On 24.06.2016 01:18, H. S. Teoh via Digitalmars-d wrote:
>>>> On Thu, Jun 23, 2016 at 11:14:08PM +0000, deadalnix via 
>>>> Digitalmars-d wrote:
>>>>> On Thursday, 23 June 2016 at 22:53:59 UTC, H. S. Teoh wrote:
>>>>>> This argument only works for discrete sets.  If n and m 
>>>>>> are reals,
>>>>>> you'd need a different argument.
>>>>>>
>>>>>
>>>>> For reals, you can use limits/continuation as argument.
>>>>
>>>> The problem with that is that you get two different answers:
>>>>
>>>> 	lim  x^y = 0
>>>> 	x->0
>>>>
>>>> but:
>>>>
>>>> 	lim  x^y = 1
>>>> 	y->0
>>>> ...
>>>
>>> That makes no sense. You want lim[x->0] x^0 and lim[y->0] 0^y.
>>
>> Sorry, I was attempting to write exactly that but with ASCII 
>> art. No
>> disagreement there.
>>
>>
>>>> So it's not clear what ought to happen when both x and y 
>>>> approach 0.
>>>>
>>>> The problem is that the 2-variable function f(x,y)=x^y has a
>>>> discontinuity at (0,0). So approaching it from some 
>>>> directions give
>>>> 1, approaching it from other directions give 0, and it's not 
>>>> clear
>>>> why one should choose the value given by one direction above
>>>> another.  ...
>>>
>>> It is /perfectly/ clear. What makes you so invested in the 
>>> continuity
>>> of the function 0^y? It's just not important.
>>
>> I'm not.  I'm just pointing out that x^y has an *essential*
>> discontinuity at (0,0),
>
> Which just means that there is no limiting value for that point.
>
>> and the choice 0^0 = 1 is a matter of
>> convention. A widely-adopted convention, but a convention 
>> nonetheless.
>> It does not change the fact that (0,0) is an essential 
>> discontinuity of
>> x^y.
>> ...
>
> No disagreement here. Nothing about this is 'arbitrary' though. 
> All notation is convention, but not all aspects of notations 
> are arbitrary.
>
>>
>> [...]
>>>> not something that the mathematics itself suggest.
>>>> ...
>>>
>>> What kind of standard is that? 'The mathematics itself' does 
>>> not
>>> suggest that we do not define 2+2=5 while keeping all other 
>>> function
>>> values intact either, and it is still obvious to everyone 
>>> that it
>>> would be a bad idea to give such succinct notation to such an
>>> unimportant function.
>>
>> Nobody said anything about defining 2+2=5.  What function are 
>> you
>> talking about that would require 2+2=5?
>> ...
>
> There exists a function that agrees with + on all values except 
> (2,2), where it is 5. If we call that function '+', we can 
> still do algebra on real numbers by special casing the point 
> (2,2) in most theorems, but we don't want to.
>
>> It's clear that 0^0=1 is a choice made by convenience, no 
>> doubt made to
>> simplify the statement of certain theorems, but the fact 
>> remains that
>> (0,0) is a discontinous point of x^y.
>
> Yup.
>
>> At best it is undefined, since it's an essential discontinuity,
>
> Nope. x=0 is an essential discontinuity of sgn(x) too, yet 
> sgn(0)=0.
>
>> just like x=0 is an essential discontinuity of 1/x.
>
> That is not why 1/0 is left undefined on the real numbers. It's 
> a convention too, and it is not arbitrary.
>
>> What *ought* to be the value of 0^0 is far from
>> clear; it was a controversy that raged throughout the 19th 
>> century and
>> only in recent decades consensus began to build around 0^0=1.
>>...
>
> This is the 21st century and it has become clear what 0^0 
> should be. There is no value in discrediting the convention by 
> calling it 'arbitrary' when it is not.


You do realize that e^(-1/t)^t is a counter example?

e^(-1/t) -> 0 as t -> 0
t -> 0 as t -> 0

but e^(-1/t)^t does not -> 1 as t-> 0, which is obvious since 
it/s 1/e.

So, We can define 0^0 = 1 and maybe that is better than 2, but it 
is arbitrary in the sense that it's a definition. It may bear 
fruit but it is not necessarily meaningful.

Suppose a person is running some numerical simulation that 
happens to be computing an a value for an equation that is 
essentially based on the above. Because of numerical rounding, 
lets suppose we end up with t = 0. At that moment the calculation 
goes haywire and destroys a spacecraft with 3 people on it. Those 
people have families and young children who end up growing up 
without a father and turn to crime....

All because of some idiot who wanted to break the laws of physics 
by arbitrarily defining something to be true when it is not.

Seriously, your logic has severe consequences.  Just because 0^0 
looks like 1, it is far more complex than that and your tiny 
little brain can't comprehend them. First law of mathematics: 
Please don't kill people, computers can't program themselves and 
grants can't write themselves, nor can the IRS collect from dead 
people.

Please, Just say no to 0^0 = 1!

Luckily, it was only a stimulation and no one got hurt... this 
time!










More information about the Digitalmars-d mailing list