
In Mathematics, Mistakes Aren’t What They Used to Be (2015) - dnetesn
http://nautil.us/issue/24/error/in-mathematics-mistakes-arent-what-they-used-to-be
======
kxyvr
I work professionally as an applied mathematician and I'd love if more people
were to embrace proof assistant tools. That being said, I've worked with Coq a
fair amount in the past and I find it _really_ hard to prove things related to
my primary field, optimization. Some of it is getting more practice with the
tools. However, how proofs are generated in these tools is different than how
I was trained to produce proofs and I don't find it to be a simple process to
just learn how. If anyone is curious about these tools, I recommend the
Coq'Art book
([https://www.springer.com/us/book/9783540208549](https://www.springer.com/us/book/9783540208549))

As an additional, somewhat controversial comment, I think these tools are
important because there's quite a bit of corruption with publishing. In short,
if you're well known and liked author, you often get a pass on your papers and
they're not well checked for errors. I've been yelled at by editors for
questioning proofs of famous people. I'm not the only one. No. I will not name
names or publications. Also, although it's not universal, when some journals
say communicated by so-and-so, that means that so-and-so vouched for the
paper, so they published it immediately without other peer review. Is the
paper right? Maybe. However, I find the practice unsettling.

Bringing the comment back to proof assistant tools, I believe they would
remedy some, but not all of the problems described above. We don't have to
worry if a paper got a pass because the author was well liked. When can just
run the proof through the tool and check that it's correct.

Anyway, if someone has some references or tutorials for people using proof
assistant tools for applied math kinds of results, I'd love to read them.
Things like stability regions for ODE solvers or convergence results for stuff
like Newton's method. Or, honestly, anything that helps understand the tools
and methodology more easily.

~~~
Tyr42
I really think that proof assistants like Coq are going to eventually be the
future of math. Once they are less painful to use :(

I spent a term working as a research assistant on Coq, proving a new induction
scheme for Featherweight Java classes. I came into the term quite hopeful, and
already with some Coq experience, but I really don't feel like these tools are
good enough to expect regular people to use. Even mathematicians.

I'm hopeful that in the distant future, we can get some AI assistance going
on, so that the proof assistant can actually _assist_ , not just check and
impede.

I would like my month spent on transitivity of subclassing back :( It's really
hard to use these tools as they are now.

~~~
eli_gottlieb
>I would like my month spent on transitivity of subclassing back :(

Oh God, that gave me flashbacks. I've done at least one transitivity of
subtyping proof where I actually got the right theorem, then found later in
the module that I had to rewrite the whole thing with a graph-theory library
supplying some theorems about DAGs/finite posets. It's horrible, and that
piece of work _still_ isn't done!

------
filereaper
I'm no mathematician and this might be way out of my league, but I've wondered
how Gödel's incompleteness theorems come into play if Mathematicians are using
proof assistants to verify their mathematics.

~~~
Houshalter
The incompleteness theorem says that there exist some (paradoxical and self
referencing) true theorems that you can't prove (i.e. "this sentence is
unprovable".) Neither humans nor proof assistants should be able to prove
them.

~~~
weinzierl
> there exist some _true_ theorems that you can't prove.

Emphasis mine.

Are all unprovable theorems true? I googled "are all Gödel sentences true",
but came up with nothing. Also: Are all unprovable theorems Gödel sentences or
are there other kinds?

EDIT: Lots of good answers to my first question, thanks a lot to everyone. For
the second one I think I also found an answer:

According to the Wikipedia article about the incompleteness theorems [1]: "The
Gödel sentence is designed to refer, indirectly, to itself." So the question
really is if there are non self-referential unprovable statements, and the
answer seems to be yes[2].

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

[2] [https://www.quora.com/Are-there-true-but-unprovable-
statemen...](https://www.quora.com/Are-there-true-but-unprovable-statements-
that-arent-self-referential)

~~~
kkylin
I'm not a logician, but I think the question (a good one) is not quite well-
posed. As I understand, in mathematical logic, a statement being _provable_
means one can deduce it from a set of axioms. If you have a set of axioms _A_
sufficiently powerful for Godel's construction to go through, the resulting
Godel sentence _s_ is (by construction) not provable from _A_ , but one can
always make it provable by appending _s_ to the axioms _A_.

For a statement to be _true_ , on the other hand, has a technical meaning: it
means that there is a model (in the sense of model theory, see
[https://en.wikipedia.org/wiki/Model_theory](https://en.wikipedia.org/wiki/Model_theory)
) in which both the axioms _A_ and the sentence _s_ are true. Godel's
completeness theorem
([https://en.wikipedia.org/wiki/G%C3%B6del%27s_completeness_th...](https://en.wikipedia.org/wiki/G%C3%B6del%27s_completeness_theorem))
asserts that _s_ is provable from _A_ if and only if _s_ is true in every
model in which _A_ holds.

~~~
hyperpape
It's a bit confusing to say that about the Completeness theorem without noting
that it only applies to first order logic. It's not generally true.

~~~
wfo
Yet first order logic encompasses 99.9% of the mathematics anyone ever does,
even professional mathematicians. The only people who consider anything but
first order logic are people who have gone out of their way to make a point to
study it just for its own sake. When the general subject of discussion is
proof assistants and proofs in normal mathematics, I don't think it's
necessary to constantly mention "only in first order logic". It's like
discussing structural integrity of a building and constantly mentioning that
all the calculations only hold on in our reality, but if we were living in an
alternate dimension and the physical constants of the universe were different
then the results wouldn't be applicable.

~~~
foldr
>Yet first order logic encompasses 99.9% of the mathematics anyone ever does,
even professional mathematicians.

I'm way out of my depth here, but I'm curious about this statement. In first
order logic you can't even assert that the natural numbers cannot be put into
a one-to-one correspondence with the real numbers, which seems like a fairly
basic mathematical fact.

~~~
UncombedCoconut
You can, as long as your first-order statement is in the language of set
theory, by translating "there does not exist a bijective function f: N->R".

~~~
foldr
Right, but you can't ensure that the only models of 'bijective functions' are
actually bijective functions. To switch to a slightly simpler example, you can
translate statements such as "x is finite" into a first order language (for
example, set theory), but you can't ensure that x actually is finite in the
models of this statement.

~~~
UncombedCoconut
To your first point: yeah, some discomfort around it is valid, but I see it as
a non-issue. Informally/philosophically, because a model's job is to capture
everything a first-order theory can see about your object of study - so it's
fine for (say) an "actually" countable set to model the reals, and not be up
to the task of "actually being" the reals. Formally, you differentiate between
internal and external statements and don't expect them to be the same (a
rigorous version of my pretentious use of scare quotes above :).

------
kkylin
Nice article. Two incidental notes: (1) Siobhan Roberts is an engaging
speaker, if you get the chance to hear her speak, it's worthwhile. (2) This
reminds me of
[http://calteches.library.caltech.edu/51/2/CargoCult.htm](http://calteches.library.caltech.edu/51/2/CargoCult.htm)
.

------
YeGoblynQueenne
>> Acknowledging something as true because the computer says so is not the
same as knowing why it is true. One might reckon it’s analogous to relying on
an Internet mash-up of reviews about the mysteries of Venice, rather than
going there and splurging on the water taxi and experiencing the magic for
oneself.

Water taxis are not a very efficient way to explore Venice. You need to get
off at some point and walk around the streets. There are a thousand little
nooks and crannies to investigate, that a water taxi can't reach. When you
need a boat you can get by most of the time with the vaporeto, which can be
quite cheaper especially if you get a day ticket. There's lines for most of
the islands around the city (Murano, Burano, St Michele, Torcello etc).

Er. That's all to be taken entirely literally, from my experience as a
frequent visitor to Venice. I'm not sure how it applies as a metaphor to
mathematics research.

------
KKKKkkkk1
I like this quote:

