Deep comparison of dicts - cmp() versus ==?

Rustom Mody rustompmody at gmail.com
Fri Mar 20 09:35:49 EDT 2015


On Friday, March 20, 2015 at 10:39:48 AM UTC+5:30, Ben Finney wrote:
> Chris Angelico  writes:
> 
> > Real numbers, yes […] but not IEEE floating point. Be careful of that
> > distinction; we're talking about computers here, not mythical numbers.
> 
> So real numbers are mythical? IEEE floating point values are more real
> than real numbers? Just what are you saying, man?

In all fairness to Chris, there have been notable mathematicians in the last 100
years who have said more or less exactly what Chris is saying: "The set ℝ is 
nonsense."  In fact these fights are the very reason that CS came
into existence.

1880s: Kronecker and his student Cantor were working together when Cantor 
started off on 'set-theory'
For a while Cantor was bemused with the direction of his (favorite!) student.
But he soon found it unacceptable and started disagreeing with Cantor, first
privately then publicly.

His famous statement dates from this disagreement:
"The Good Lord made the Natural numbers. All the rest is the work of man"
He was specifically implying that things like ℝ are just nonsense.
At that time almost all mathematicians were Kroneckerians.
Cantor ended up in an 'institution.'
Other famous statements of that time were from Gordon who said:
"This sir, is not mathematics, its theology"
[referring to a standard construction of set theory called
Axiom of choice]

A couple of generations later things had turned.

Mainstream mathematicians all accepted set theory, except a few trouble-makers 
called constructivists.
The constructivists said that the other mathematicians who they called
'Platonist' which derisively signified mystic after the cave allegory of Plato
http://dwildepress.net/critica/mystic4.html were being ridiculously loose and 
sloppy in talking about infinity as though it exists.

Hilbert -- the head of the classicists/platonists -- was angry with this charge,
made the famous statement: "Nobody will drive us out of the paradise created by Cantor."

And (in what he thought was super-cleverness) formulated the Entscheidung problem:

If the questions about mathematics could be finitistically (ie mechanically) 
solved, then the constructivists' charge (of mysticism) could be kicked out

But then Gödel showed that the dream of a complete and consistent math was a pipe-dream.
A job that Turing completed by showing the unsolvability of the Entscheidung problem.
http://www.philocomp.net/home/hilbert.htm

>From a math/logic pov these were all disastrous results.
But a side-effect of this disaster was that something called a 'universal-
machine' got invented…
viz a computer

An entertaining and longer account:
http://research.microsoft.com/en-us/um/people/gurevich/opera/123.pdf
Particularly note the Polya-Weyl bet
==================================
tl;dr "Real numbers are not real" is an argument at the creation of CS.
To find and work with a set that
- Does not have the nonsensical behaviors of floats
- Is not nonsensical in the sense of the constructivists' objections

is really a bit of an open problem:
http://www.encyclopediaofmath.org/index.php/Constructive_real_number



More information about the Python-list mailing list