
How close are computers to automating mathematical reasoning? - auggierose
https://www.quantamagazine.org/how-close-are-computers-to-automating-mathematical-reasoning-20200827/
======
ogogmad
People bringing up GIT (Goedel's Incompleteness Theorem) don't understand that
GIT is a limitation of formal logic which affects human mathematicians as much
as computer-based mathematicians. Both humans and computers are forced to work
with a recursively enumerable set of axioms when constructing mathematical
proofs, and so therefore are bound by the same limitations.

Also, if you can check a proof, then you can certainly automatically construct
a proof, merely by dove-tailing over all possible proofs and checking whether
they're correct and imply the desired conjecture.

In other words, using GIT when discussing proof automation is irrelevant.

~~~
__MatrixMan__
I agree that GIT limits human provers as much as it limits automated ones, but
I don't agree that it's irrelevant to the issue.

A human mathematician can lean on intuition in ways that a computer can't.
Given a theorem that resists proof, a human might develop a feel for whether
it's worth continuing to prove via conventional means or whether the
troublesome territory is better approached from a different axiom set. That
intuition may be driven by the problematic theorem being one of the true-but-
unprovable ones that Godel assures us exists without that cause being apparent
to the mathematician.

The automated prover, on the other hand, faces a halting problem here. Unless
it is given some explicit reason to expect that the target is not attainable,
it might try forever. So such a prover might need to be GIT-aware in ways that
a human doesn't.

~~~
jackfoxy
As a human this explanation is emotionally satisfying. It appeals to my sense
of human exceptionalism. However how many true but unprovable theorems do we
know about? Has anyone ever bothered to compile a list of _true but unprovable
under the axioms xyz_? I would think it is exceedingly hard to manage such
research as every axiom set _xyz_ would require companion axioms _abc_ to be
provable, and such theorems (at least the non-trivial interesting ones) are
possibly hard to reach.

This _intuition_ for unprovableness may just be a mechanism for escaping local
minima that gets lucky often enough.

~~~
wisnesky
Many such lists exist. For example:
[https://en.wikipedia.org/wiki/List_of_statements_independent...](https://en.wikipedia.org/wiki/List_of_statements_independent_of_ZFC)

~~~
__MatrixMan__
That's certainly true, but Godel-type unprovability is separate from logical
independence, and indeed much harder to make lists of.

My earlier point is not that we could know for sure that our struggles are due
to being up against such a wall--just that our ability to suspect as much is
relevant to how we allocate our time.

~~~
wisnesky
Oh, such as a list of statements unprovable under a specific Godel numbering?
Definitely much more difficult - I never saw such a list in grad school,
although I wouldn't rule out the existence of one.

------
ur-whale
"If computer scientists are ever able to program a kind of synthetic
intuition, he says, it still won’t rival that of humans. "

Famous last words, rather similar to the initial comments made by Lee Sedol
before starting his famous game against AlphaGo.

I don't think machine will ever replace mathematicians. However, I'm ready to
bet that most Mathematicians in the coming 50 years who discovers anything
useful will do so with CAM (computer assisted math) tools, in the same way no
one designs any kind of building in 2020 without the help of a computer.

~~~
sukilot
"If computer scientists are ever able to program a kind of synthetic knitting
machine, he says, it still won’t rival that of humans. "

If computer scientists are ever able to program a kind of running, he says, it
still won’t rival that of humans. "

It's amazing to see an "expert" saying these things unironically.

The only thing impossible for a computer to event rival a human at are things
that are judged subjectively by humans. And even in they, computers are
winning. Youth today are learning their culture from computer programs and
bots, ever more preferring algorithmically or mechanically generated content
to real humans.

~~~
bawolff
So all the important things?

As a human, i care mostly about the things that i subjectively judge good.
Pretty much by definition.

------
juped
Math is and has always been a form of expressive art, but there's been a vocal
constituency since at least the early 20c that claims it's bloodless symbol
manipulation. Since computers excel at bloodless symbol manipulation, one
would expect them to be programmable to generate proofs of propositions; this
is uninteresting to mathematicians unless it has some artistic merit.

~~~
orange3xchicken
Many mathematicians would disagree with the claim that automated proof
checking/generation (see COQ & this presentation by Voevodsky:
[https://www.ias.edu/ideas/2014/voevodsky-
origins](https://www.ias.edu/ideas/2014/voevodsky-origins)) and involved
techniques (see the entire field of sat & smt solvers) are "uninteresting &
without artistic merit".

~~~
juped
Good thing I never claimed that, I just said it was uninteresting to
mathematicians unless it has artistic merit!

------
lixtra
Definitions and theorems to prove are (in some sense) more interesting than
the proof of a given theorem.

~~~
bunje
Yes, I agree. As a mathematician, I spend lots of time trying to find the
correct definitions with only a rough idea what I'm trying to prove (the
theorem).

~~~
orange3xchicken
Conversely, in theoretical cs, there are many longstanding open problems.
People who make progress on these problems are taken seriously and listened to
precisely because they have new techniques and novel approaches that have not
been considered previously - i.e. the theorems & definitions are well
understood, but the proofs are the significant element.

------
some-person
I think mathematics is an art as well as a science. For mathematicians it can
be very exciting to explore, create, and discover new mathematics and, I
think, computers provide a new tool in that exploration.

So even though a camera can, for example, create a perfect representation of a
sunset, that doesn’t mean paintings are now worthless.

Creating a painting of a sunset is more than just reproducing the sunset. In a
similar way mathematics is more than just producing a proof.

Further, the camera is a now a whole new adventure from an artistic
perspective because it is a new mechanism for creating art.

Similarly computerized systems provide a whole new adventure in terms of
exploring and understanding mathematics.

Just as the classic art of creating paintings doesn’t invalidate photography,
and photography doesn’t invalidate creating paintings (they are both exciting
ways to make art), computerized math systems and classical math are exciting
ways that can work together to discover mathematics.

------
ur-whale
“They’re very controversial for mathematicians,” DeDeo said. “Most of them
don’t like the idea.”

I've always found this attitude very weird. If I was a miner, I'd welcome the
arrival of a machine that helps me dig faster.

Even if I was an artist, musician, painter or otherwise working in a
"creative" field, I would welcome any kind of tool that helps liberate me from
the tedium of material things related to my craft and allow me to reach out
further and wider.

I think there's a category of Mathematicians that still believe that their
craft is something special, and that the help of machines will somehow taint
the "purity" of the work. What a sad and arrogant thing to believe.

~~~
ironSkillet
The article touches on it a little bit, but I think the main reason
mathematicians are hesitant to accept the value of machines is that although
they generate a "proof" in the technical sense, they usually don't generate
"understanding", which is really the currency of mathematicians. What good is
a proof if literally no human being can understand it? It won't lead to any
new mathematics, or new conjectures to think about etc.

~~~
ur-whale
Things immediately spring to mind:

1\. What good is a proof if you don't understand it. My answer: it is _super_
useful. You now know something is true. You may not understand _why_ it is
true, but you can _use_ it and _build_ on it. For example, if I write a piece
of code that relies on an impossible to understand proof generated by a
machine and gain a x1000 speedup with a guarantee that my shortcut will always
work, there's a ton of value in there. But the utility argument is rarely
something that resonates with Mathematician, they usually leave these
disgustingly material details to others.

2\. The modern "proofs" of important theorems, albeit produced by humans, are
equivalently impossible to understand to the _vast_ majority of
Mathematicians. Mochizuki's Inter-universal Teichmüller theory is an extreme
example of this (exactly _one_ person on the planet understands the proof,
assuming he's not a full-blown charlatan), but it's the same deal in other
sub-fields of Maths. Can you claim to be able to explain/understand the
classification of finite groups? The proof is so large and assembled by so
many people it basically takes investing one's entire career to come to grasp
with it.

3\. It won't lead to new mathematics. I don't think it's true, for two
reasons: a) who's to say the machines won't invent new mathematics. 2) falling
back on humans, once you know something is true, even if you don't understand
why, it's like a guiding lightbeam in a dark forest and there's a very good
chance that knowing something is true will lead to a simpler, human-graspable
proof.

There's is a very strong reek of stakhanovism [1] that emanates from the whole
"math against the machine stance", it's just sad.

[1]
[https://en.wikipedia.org/wiki/Alexey_Stakhanov](https://en.wikipedia.org/wiki/Alexey_Stakhanov)

[EDIT]: an one more thing : what is this "understanding" you speak of? that's
a rather fuzzily defined concept. One way to codify "understanding" is to make
something graspable by a human mind, by - sort of - compressing/reducing it to
things that are already known/grasped. But then, there's a very good chance
that some things just won't lend themselves to such treatment (incompressible
if you will, such as theorem whose _minimal_ proof just won't fit in a human
mind). I'd still like to know that they're true.

~~~
ironSkillet
Fair points, but you are minimizing the important detail that mathematics is
also a social activity, and so any argument about what constitutes mathematics
should be viewed with that in mind. Mathematicians are interested in math
because they want to understand things (meaning they can construct
abstractions and develop logical lines of reasoning that fit within the limits
of human cognition), so that they can develop new concepts and utilize
existing ones in novel ways. Using a computer to prove a theorem allows you to
add to the ledger of "things that are true" (which certainly has value, like
you mention), but unless the proof is understandable, you don't harvest any of
the other fruit that would normally come over the course of proving the
theorem "the natural way" (new abstractions to ponder, new conjectures etc). I
would argue that Mochizuki's "proof" occupies the same territory as a 100 GB
formal logic proof generated by a computer, if the end result is that the
proof is not communicable in a way that other mathematicians can relate to.

I'm not against creating machine generated proofs. We just shouldn't pretend
they have the same status within "mathematics as a social construct" that a
human written proof does.

------
Kednicma
It's irresponsible to not mention that a series of results from the 1930s
through the 1950s proved that generalized automated proof search is
impossible, in the sense that we cannot just ask a computer to find a proof or
refutation of Goldbach's Conjecture or other "Goldbach-type" statement and
have it do any better than a person. In that sense, no, computers will never
fully automate mathematical reasoning, because mathematical reasoning cannot
be fully automated.

What we can automate, and have successfully automated many times over, is
proof checking. In that sense, yes, computers have already fully automated
mathematical reasoning, because checking proofs is fully formalized and
mechanized.

I think that what people really ought to be asking for is the ease with which
we find new results and communicate them to others. In that sense, computer-
aided proofs can be hard to read and so there is much work to be done in
making them easier to communicate to humans. Similarly, there is interesting
work being done on how to make computer-generated proofs which use extremely-
high-level axiom schemata to generate human-like handwaving abstractions.

I'm still not sure how I feel about the ATP/ITP terminology used here. ATPs
are either of the weak sort that crunch through SAT, graphs, and other
complete-but-hard problems, or the strong sort which are impossible.
Meanwhile, folks have drifted from "interactive" to "assistant", and talk of
"proof assistants" as tools which, like a human, can write down and look at
sections of a proof in isolation, but cannot summon complete arbitrary proofs
from its own mind.

Edit: One edit will be quicker than two replies and I tend to be "posting too
fast". The main point is captured well by [0], but they immediately link to
[1], the central result, which links to [2], an important corollary. At this
point, I'm just going to quote WP:

> The first [Gödel] incompleteness theorem states that no consistent system of
> axioms whose theorems can be listed by an effective procedure (i.e., an
> algorithm) is capable of proving all truths about the arithmetic of natural
> numbers. For any such consistent formal system, there will always be
> statements about natural numbers that are true, but that are unprovable
> within the system.

> The second [Gödel] incompleteness theorem, an extension of the first, shows
> that the system cannot demonstrate its own consistency.

> Informally, [Tarski's Undefinability] theorem states that arithmetical truth
> cannot be defined in arithmetic.

I recognize that these statements may seem surprising, but they are provable
and you should convince yourself of them. I recently reviewed [3] and found it
to be a very precise and complete introduction to all of the relevant ideas;
there's also GEB if you want something more fun.

[0]
[https://en.wikipedia.org/wiki/Automated_theorem_proving#Deci...](https://en.wikipedia.org/wiki/Automated_theorem_proving#Decidability_of_the_problem)

[1]
[https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_...](https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems)

[2]
[https://en.wikipedia.org/wiki/Tarski%27s_undefinability_theo...](https://en.wikipedia.org/wiki/Tarski%27s_undefinability_theorem)

[3]
[https://www.logicmatters.net/resources/pdfs/godelbook/GodelB...](https://www.logicmatters.net/resources/pdfs/godelbook/GodelBookLM.pdf)

~~~
bigyikes
As someone unfamiliar with the results you describe, why can’t a machine do
better than a human? A smart human is better at writing proofs than a dumb
one. If we had a highly advanced general artificial intelligence, why couldn’t
it generate better results than the smart humans?

~~~
qayxc
It has been shown numerous times that there are limits to automated proof
generation.

One such result was that certain problems are undecidable, which means that
any automated approach would be prone to become "stuck" and never terminate.

Another results showed that the complexity of general automated proof
generation is exponential in nature.

Both these results mean, that it's impossible to tell whether a computation
just takes a very long time (say years) or whether the problem is indeed
undecidable (in which case the program would never halt.)

A human on the hand, is very well capable of solving the Halting Problem and
can discern whether a problem is undecidable [1].

This is of course a corner case, but it goes to show that there are indeed
limits to automated theorem proving.

A human would therefore - in principle - always need to proof that a problem
is _decidable_ in the first place before passing it to an ATP.

[1]
[https://en.wikipedia.org/wiki/List_of_undecidable_problems](https://en.wikipedia.org/wiki/List_of_undecidable_problems)

~~~
sudosysgen
Humans are not able to solve the halting problem. The halting problem isn't a
question of if you can decide that some programs will not halt, but that you
can decide if all programs would halt.

Which humans can not do.

~~~
qayxc
No - that's simply not true. The Halting Problem states that there is no
_Turing Machine_ (i.e. program) capable of deciding whether a given program
will halt.

And yes, humans are very well capable of solving that, because humans can in
fact proof whether any program halts.

This doesn't mean _every_ human can or that it has been done for every
program, but it means that humans are - in general - able capable of deciding
this, while algorithms (programs) can't.

~~~
tsimionescu
The Church-Turing thesis claims (and is believed to be right) that a Turing
machine can solve (compute) any problem that can be solved (is computable).

For now at least, we don't know of any counter-example to the Church-Turing
thesis. Humans are certainly not able to tell whether a program in general
will halt for any input it recieves. If you believe otherwise, please tell me
whether the following program halts:

    
    
        Foo():
            if P = NP:
                return true
            else:
                Foo()

~~~
qayxc
> If you believe otherwise, please tell me whether the following program halts

That's a logical fallacy - just because _I_ can't show whether P=NP doesn't
mean _nobody_ can!

Turing-Church is a _conjecture_ , not a theorem. There have been arguments
made against it [1].

[1]
[https://arxiv.org/ftp/cs/papers/0207/0207055.pdf](https://arxiv.org/ftp/cs/papers/0207/0207055.pdf)

~~~
sudosysgen
There is no reason to believe that the human mind can solve a superset of the
problems solvable by a Turing machine, and a lot of evidence to the contrary.

Also, the link you replied provides an argument of efficiency, not an argument
of possibility. It is arguing that we might use things that are not Turing
machines because they can solve the problem more efficiently, not because they
can solve problems Turing machines could never hope to solve.

------
dnautics
Here's what I forsee. GPT3 (or the like) learns strategies to solve problems
in a limited DSL (like isabelle). Prompt GPT3 with a problem (e.g. P = NP).
Have it walk down the tree of proof possibilities (possibly using Q-learning),
trim incorrect branches, and then out comes a proof. Somewhere in its modestly
coherent glossolalia, GPT3 will figure out how to prove something "tough for
humans" correct. Nice thing is, you might even be able to paralellize the
search using independent agents.

Is there anyone working on this? Drop a line.

~~~
sukilot
GPT-3 is approximate remixes of old text. How is that at all relevant to
theorem proving, which is a search problem?

~~~
serendipityrecs
Any proof is also a remix of old text (and often times old ideas too)

