Earlier quoted context omitted.
well you've just gone and been inaccurate yourself - I said that I didn't believe all mathematical discoveries had an impact on computability, but you just suggested I was saying that not all computation is based in mathematics. Which is absurd and it's clear you think I'm stupid, where to me it's pretty clear you are misinterpreting what I'm saying, whether that's poor communication on my part or uncharitable interp…
> I said that I didn't believe all mathematical discoveries had an impact on computability, but you just suggested I was saying that not all computation is based in mathematics. Which is absurd No, that's not what I said. What I said was that this statement: "I don't think the space I'm talking about is equivalent to the state of all of our mathematical knowledge, as AFAIK not all problems relate directly to this spa…
Why I Don't Love Gödel, Escher, Bach
211–220 of 348 posts
Re: Why I Don't Love Gödel, Escher, Bach
#212> This might seem unfair, so I’ll give a very specific but pervasive instance of this sort of meaningless flavor. Many parts of the book invoke Zen, which is a school of Buddhism that originated in China and has spread to several other Asian countries but, in the Western mind, is usually associated with Japan. (We do, after all, know this school by its Japanese name Zen and not by its Chinese name Chán, its Korean name Sean, or its Vietnamese name Thiền.)
seems to miss the fact that Buddhism originated in India and that not only the Japanese word Zen but also Chinese Chán are adaptations of the Sanskrit dhān(a) (meaning originally something like 'concentration' or 'contemplation').
(Obviously philosophy is not static, and surely there were Chinese developments in it, but by the same token there were also Japanese developments and to point out that Zen Buddhism did not originate in Japan and fail to mention the anterior roots seems rather odd to me.)
Re: Why I Don't Love Gödel, Escher, Bach
#213Earlier quoted context omitted.
David Benatar is the most famous exponent of the opposing view: https://en.wikipedia.org/wiki/David_Benatar https://en.wikipedia.org/wiki/Antinatalism Edit: though several weaker views are more common in animal rights advocacy, for instance that being born in order to be raised for food is not a benefit to an animal, that being born in order to be raised for food in a factory farm is not a benefit to an animal, or th…
This is such a patently ridiculous, self-defeating viewpoint. Simple teleology defeats it, in the sense that everyone who holds this view will probably die childless, and will not be very successful at spreading their views generationally. As for the animals - hey, I said I want them treated decently. I don't extend them the same courtesies as I extend to humans because they're not human, and I don't shed a tear for…
> Simple teleology defeats it, in the sense that everyone who holds this view will probably die childless, and will not be very successful at spreading their views generationally.
This seems like a particularly raw invocation of
https://en.wikipedia.org/wiki/Argumentum_ad_populum
The same reasoning would seem to suggest that religions that successfully encourage people to have many children are most likely to be correct because they provide one method for spreading their views (that is, having children and then teaching them to believe in the religions' doctrines). This is one way that religious views do get spread in the world and one demographic factor in religious belief, but it's hard to see the connection between this and the correctness of each belief as we might otherwise understand correctness.
Re: Why I Don't Love Gödel, Escher, Bach
#214Earlier quoted context omitted.
> My interest is in creating a static analyser based on the set of axioms or deductions that can be derived from that space. From the sound of it, I think this might be a little backwards: axioms and deductions give rise to a space of possible proofs, and those can be used for things like static analysis. One example of going the other way is "reverse mathematics", where we try to find a set of axioms that give rise…
you're right, my phrasing wasn't ideal there. I'll try to clarify: what I want to do is to create a static analyser based on a set of axioms/deductions that can determine which of the "always halts/does not always halt/don't know" categories a program fits into. (I'm rephrasing the categories because a program like "(x: int) => x == 1 ? halt : loop" fits into the second category). What I'm wanting to figure out is th…
Or...
"x is a prime number"
"x is a counterexample to the Goldbach conjecture"
"x is an encoding of a planar map that cannot be four-colored"
"x is the encoding of an algorithm that solves the traveling salesman problem in polynomial time"
"x is the encoding of a formal proof of the Riemann hypothesis"
Re: Why I Don't Love Gödel, Escher, Bach
#215Earlier quoted context omitted.
It's just plain wrong to say that there are more facts in a theory than proofs of facts. Both of these sets are countably infinite. Godel's theorem proves that provable facts are a strict subset of all facts.
While I agree with you, in the context of a "hand wavey" explanation, "more" is not rigorously defined and so saying "plain wrong" is silly. A strict subset relationship is a reasonable interpretation of "more" in the context of an informal discussion.
Re: Why I Don't Love Gödel, Escher, Bach
#216Earlier quoted context omitted.
It's just plain wrong to say that there are more facts in a theory than proofs of facts. Both of these sets are countably infinite. Godel's theorem proves that provable facts are a strict subset of all facts.
While I agree with you, in the context of a "hand wavey" explanation, "more" is not rigorously defined and so saying "plain wrong" is silly. A strict subset relationship is a reasonable interpretation of "more" in the context of an informal discussion.
Re: Why I Don't Love Gödel, Escher, Bach
#217Earlier quoted context omitted.
> I said that I didn't believe all mathematical discoveries had an impact on computability, but you just suggested I was saying that not all computation is based in mathematics. Which is absurd No, that's not what I said. What I said was that this statement: "I don't think the space I'm talking about is equivalent to the state of all of our mathematical knowledge, as AFAIK not all problems relate directly to this spa…
If you think I'm trying to discover something then you've completely missed my point. I was never looking to discover some new concept, but to find an existing model of looking at computability and implement it as software. I know its possible to decide computability for at least some subset of programs because we can do it by eye, I'm just looking to do the same thing programmatically in a way that is theoretically…
Re: Why I Don't Love Gödel, Escher, Bach
#218There's a discussion in GEB about mystery/detective novels, and how the physical fact of seeing that you're near the end of the book leaks information about the state of the plot to you. He muses - what if you inserted some number of blank pages at the end, so you weren't sure where the end was? But no, that's too easy - you might flip through and see them. What about Lorem Ipsum text? Well, that's better, but still…
Wait what? Are you suggesting that at some point in the book the text is just padding to throw you off? I haven't read it yet, but if that is what you are suggesting then I actually want to read it now. (if not then my interest is still don't feel any pull to it at all)
Re: Why I Don't Love Gödel, Escher, Bach
#219Earlier quoted context omitted.
> My interest is in creating a static analyser based on the set of axioms or deductions that can be derived from that space. From the sound of it, I think this might be a little backwards: axioms and deductions give rise to a space of possible proofs, and those can be used for things like static analysis. One example of going the other way is "reverse mathematics", where we try to find a set of axioms that give rise…
you're right, my phrasing wasn't ideal there. I'll try to clarify: what I want to do is to create a static analyser based on a set of axioms/deductions that can determine which of the "always halts/does not always halt/don't know" categories a program fits into. (I'm rephrasing the categories because a program like "(x: int) => x == 1 ? halt : loop" fits into the second category). What I'm wanting to figure out is th…
The tricky thing is that it's not clear, since it depends entirely upon the formal system you're using!
As a simple example, let's say I have the following Java program:
if (2
This program will halt, but what if we change it? We "could clearly change" the `3` to a `1` and the resulting program would not halt. What if we changed the `3` to `"hello world"`? The result would neither halt nor not-halt, since it wouldn't even be a valid Java program in the first place, due to a type mismatch. Hence it may not at all be clear whether it's valid to swap out parts of a statement or not, let alone whether that will/won't change some property of the statement.That Java example failed due to type checking, but static analysis is very similar to type checking/inference, in the sense that it's calculating properties of code (or logical statements; they're equivalent via Curry-Howard) based entirely on the syntax. In this sense, we can think of any static analysis algorithm as being a (potentially very complicated and confusing) type system.
It's easy to see from the syntax above that the `2` and `"hello world"` have different types, and hence that this isn't valid code. When we start getting more powerful or complicated type systems, like dependent types, Goedel numbering, or some static analysis algorithm, then it can be arbitrarily difficult to figure out whether a particular arrangement of symbols is actually a valid statement or not.
This might seem petty, but consider your `is even` example, written in some dependently typed programming language (i.e. a powerful static analyser). We might say (in Agda, Idris, etc.):
halt : String
halt = "hello world"
f : Int -> String
f x = if isEven x then f (x + 1) else halt
Most type systems are "conservative", meaning that they treat "dunno" as failure. Since most dependently typed languages aren't smart enough to figure out that this halts, we would have to rewrite the program in a way that provides evidence that it halts. This can get very messy very quickly (e.g. see https://github.com/agda/agda-stdlib/blob/master/src/Relation... ). So the resulting program will be a massive pile of symbols, all carefully orchestrated such that the type checker is happy with the result.In that situation, it is certainly not clear whether we can just replace one expression with another, even if they're the same type (e.g. replacing one integer with another), since that might break some of the surrounding proofs.
If we think of a static analyser as a complicated type inference algorithm, which can sometimes infer such proofs and coercions, then we can think of your example as being the 'tip of the iceberg', which the static analyser can "elaborate" into a much more complicated form (this is exactly how Idris works http://docs.idris-lang.org/en/latest/reference/elaborator-re... and "tactics" in Coq are similar https://coq.inria.fr/refman/proof-engine/ltac.html ).
It is this explosion of symbols which makes it difficult to talk about formal systems by using informal statements (like your example). It can be very difficult to even figure out how to represent an informal statement in a formal way, but it's only then that we can ask specific questions about algorithms (e.g. what can or can't be deduced). Often, the answers to such questions turn out to be trivial properties of the formalisation; but it may take many decades to actually come up with that formalisation!
Re: Why I Don't Love Gödel, Escher, Bach
#220I think there is a modern predisposition particularly in analytic, academic circles wherein criticizing a work is tantamount to somehow being "more superior" than the work itself. This article reminds me of such ivory tower conceits. What I liked about Godel, Escher and Bach was that although it introduced some heavy concepts--it did so in a playful way. It opened many doors in relation to consideration of the world…
What's the point of, without any knowledge about him, attacking the reviewer as a poorly motivated elitist? That he disagrees with you does not mean that he is an inferior person to you.