Wikipedia-size maths proof too big for humans to check
newscientist.com
newscientist.com
Alas, such a proof throughly fails the second test. I can't see how to gain insight into the problem from such a proof, beyond just it validating previous thought chains of the form "If X were true, then I could deduce Y". It doesn't reveal more about the structure of the problem, or other results in the space.
It's no doubt useful (and all credit to the authors), but in terms of generating new mathematics, I'm dubious. Perhaps people more versed in this specific sub-field can tell me if I'm wrong?
Automated Theorem Proving is a very old field, one of the earliest fields of Artificial Intelligence. The first proof of this nature was the Four Color Theorem, proven by an automated reasoner as opposed to a mathematician.
At which point, the insight into the matter is understanding the AI algorithm and how the AI searches for a solution. And finally... how we can be sure that the AI itself is provably correct.
http://en.wikipedia.org/wiki/Four_color_theorem#Proof_by_com...
In Haken and Appel's proof there was no automated reasoning.
Similarly in this case. The theorem claims that for every C there is an N such that a sequence of length at least N has a sub-configuration of discrepancy at least C. In this case the researchers created a program to show that in a sequence of length at least 1161 there is always a sub-sequence of discrepancy of at least 2.
To the best of my understanding there is no automated reasoning, so I would be interested to see why you claim otherwise.
The FCT was solved with a hybrid method. Yes, you mention that there was significant human input in reducing the problem. However, a computer program was used to find (and prove) a huge number of those configurations.
Search and verification. That is all "automated reasoning" is. In AI circles the FCT is considered to have been solved by Automated Reasoning methods.
http://en.wikipedia.org/wiki/Automated_theorem_proving#Relat...
We run the risk of arguing past each other, and potentially being in "violent agreement," but consider this. If you take an 8x8 chessboard and remove any black square and any white square, the resulting mutilated chess-board is guaranteed to be exactly coverable by dominoes, each of which covers exactly two squares. We can program a computer to conduct an exhaustive search to show that this is true. Would you consider the program to be an automated reasoner?
With what I know of this recent result, the work seems equivalent. It's a big problem fed to a SAT solver.
Edit: See the last paragraph of section 1 in the paper: http://arxiv.org/pdf/1402.2184.pdf
One of the many "classic" problems given to students of Artificial Intelligence is the 8-Queens problem: http://en.wikipedia.org/wiki/Eight_queens_puzzle#Exercise_in...
It is a short step to go from "8-Queens Algorithm Design" to "8-Queens Logic Programming", and from there automated reasoning. After all, Logic Programming is purely based on automated reasoning using Horn Clauses. It just so happens to be one of the most optimized forms of automated logic, fast enough to be a general programming language (Prolog is one of the easiest languages to solve the 8-Queens problem)
Automated Reasoning covers new tricks, like tree pruning, different logic systems or methodologies (Tableau Logic)... but no matter how complicated it gets, it all comes back to the same methodology. Its simply a glorified search algorithm, defined over some space. (Prolog at its core is nothing more than a depth first search over the horn clauses specified by the programmer)
For an example that clearly demonstrates the search, here's a Wikipedia link to Tableau type automated reasoning:
http://en.wikipedia.org/wiki/Method_of_analytic_tableaux#Sea...
And of course, the Automated Conference on the Tableaux Automated Reasoning methodology:
http://en.wikipedia.org/wiki/International_Conference_on_Aut...
The "Art" of Automated Reasoning is not in the search methodology (which is almost always just depth-first search + heuristics), but in how to define those spaces. Horn Logic, Tableaux, First Order Logic / Resolution Rule, etc. etc.
So whenever a new "search space" is defined to solve a practical problem, it is always of great interest to the Automated Reasoning community.
>> If you take an 8x8 chessboard and remove any
>> black square and any white square, the resulting
>> mutilated chess-board is guaranteed to be exactly
>> coverable by dominoes, each of which covers exactly
>> two squares. We can program a computer to conduct
>> an exhaustive search to show that this is true.
>> Would you consider the program to be an automated
>> reasoner?
> Yes,
That surprises me. That feels a lot like describing Eliza as a conversationalist. Technically true, but ultimately unhelpful and unenlightening.By way of contrast with the above described brute-force search, which also only works on a fixed size board, here's a proof that works on all NxN boards, where N is even.
We can construct a tour of the squares, visiting each exactly once, each time moving from a square to one of the squares with which it shares a side. Removing one black and one white divides this into two (or possibly only one) segments. Each can easily be shown to be of even length, and therefore each is coverable by dominoes. QED.
If you simply enumerate a very large number of possibilities, it doesn't feel like reasoning.
What's not disputed I guess, is the commonly (to CS-educated engineers) held notion that FCT is a high-profile math problem that was solved/proved by intensive automatic means rather than a human written proof, and that that raises questions regarding the meaning of "proof".
At least that's what I took home from it.
Although, since I've done some research in the AI Field, I also recognize the distinction and the two. There is a controversy, even in AI circles, over what constitutes AI. So I'm not going to debate with you the merits of Strong AI vs Weak AI.
It is sufficient enough for me to just inform you... this controversy exists and is real.
---------------------------
http://www.i-programmer.info/babbages-bag/297-artificial-int...
>>> This is the curse of strong AI. Whenever you make something work, you know how it works and it no longer seems intelligent.
Finding common subexpressions in such a proof could be a separate field of research. It probably isn't a matter of looking for repeated strings.
I have some expertise in this field. My PhD is in combinatorics, which is closely related, and one of the main results used computer search. More, it's closely related to the Four Colour Theorem.
To me, what you say makes no sense at all. Perhaps this is what the field needs - people who know absolutely nothing making suggestions that are so far outside the box that those who have spent decades studying it would never consider them.
On the other hand, maybe there's nothing in it. Have you thought it through more? Do you have more ideas? Do you have any actual concept of what "sub-expressions" might mean in this context? Having written compilers for food I feel that I have some knowledge of the concept, but in this case it seems not to mean anything.
The way I read it, he was suggesting a possible way of reducing the size of the DRUP certificate from 13GByte by searching for common patterns, perhaps similar to the way bzip works.
Just a guess.
And, since it's so large, we probably can't do it by hand. So we would need to develop techniques to do it automatically. (Or semi-automatically.)
Of course, my "understanding" may be completely wrong.
[0] EDIT: actually it's the certificate from a SAT solver
And yes, the whole question is to ask to what extent we can trust this. Personally, it's just as likely that a human proof would have a subtle and hard-to-find error, missed by all the reviewers.
All the popular articles are claiming this humungous output is a proof. It's not a proof, it's a certificate from a SAT solver. There's a difference, and most comments people are making based on the popular accounts are misguided.
Hmm. Are bit flips from cosmic rays more likely than a human making a mistake verifying a proof, or even a large number of humans making the same mistake?
The negative witness, that is, the DRUP unsatisfiability certificate, is probably one of longest proofs of a non-trivial mathematical result ever produced. Its gigantic size is comparable, for example, with the size of the whole Wikipedia, so one may have doubts about to which degree this can be accepted as a proof of a mathematical statement.
I also suspect we're mostly in complete agreement.
You could just run the program and verify that the certificates match a few times, I guess you can't be 100% certain but the probability of a bit flip happening multiple times is extremely small.
The only thing you've missed is this - we now know that for C=2 the minimal length required to force a sub-sequence of discrepancy >=2 is 1161. The technique used gives a hint of how fast this dependency might grow, and that might give clues about techniques that probably won't work.
It also seems clear that a similar brute-force check of C>=3 won't be possible. Knowing these things gives clues as to how we might now proceed.
http://en.wikipedia.org/wiki/G%C3%B6del's_incompleteness_the...
Consider the universe. It is essentially a giant mechanical construct which works within the confines of every mathematical, physical, and even metaphysical truth.
Imagine that you don't exist. Then what can you learn from the universe? The universe itself might "discover" everything. But that is meaningless to you. Now assume you do exist in the universe. What truths does the universe teach you? Only the ones that you witness and understand.
If I come up with an incredible proof and write it down on paper and put it in my shirt pocket. Then I don't tell anyone until I die, and I'm cremated in the same shirt with the same proof, and my ashes are scattered across the ocean, what have I discovered? I only discovered something that was already true, I didn't bring the truth into existence, and while I didn't do anything with it nor share it with anyone it doesn't mean that it became any less true. But then what was the purpose?
The purpose of a proof is to take a truth and to distill it into an idea that can be shared. A truth on its own is meaningless. If I say a^2+b^2=c^2, a lot of context is required, what do a, b, c mean? What sort of geometry does this work in? Why is this the case? Is it ever not the case? When every question is answered, and you are certain of that, then you have a proof. Just knowing that a^2+b^2=c^2 is meaningless. Even if I could prove that the sum of the squares of two sides of a right angle triangle is equal to the square of the hypotenuse, that's still not completely meaningful, because it's not true in elliptic or hyperbolic geometries.
But the abstract idea, that the sum of the squares of two sides of a right angle triangle is equal to the square of the hypotenuse is Euclidean space is meaningful, because it leads to questions like "What would that mean about space if the sum of the squares of the lengths of sides of a right angle triangle were greater or smaller than the square of the hypotenuse?" and you start to consider alternative geometries.
If a computer were to definitively prove that a^2+b^2=c^2 what does that mean if you can not really understand the implications of the proof. Yes it's true, but what does it mean? And why?
But the twist is that with computer-aided proofs, being well-versed in the ways of using computers to help prove things may begin to count as having insight; and Coq (or whatever) programs may come to be studied so that one may gain insight, just as human proofs are studied today.
The insight is in the strategy.
A minor thing, but comparisons like this always drive me nuts. Just say "13GB proof too big for humans to check." Then there's no confusion.</sillyrant>
So is OGR-27 merely 27 numbers aka a 1-d pixel "graph" probably around five hundred something pixels, or is it really zillions of gigs of rulers all of which are longer than the OGR?
> All experiments were conducted on PCs equipped with an Intel Core i5-2500K CPU running at 3.30GHz and 16GB of RAM.
Why are these experiments not being conducted on a more powerful computer or a cluster?
- It would be awfully inconvenient to program
- It would require buying, building or obtaining access to such a machine
- It'd require investing some amount of time and/or money -- obviously completely unnecessarily -- because whatever desktop or laptop happened to be within reach is perfectly adequate to the task