News for hackers. Stuff that matters.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by resters on Thursday September 20, 2018 @07:02PM (#18036088)
What is the painful part? The level of detail required for it to check?
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by davemp on Thursday September 20, 2018 @07:23PM (#18036154)
How current proof assistants work is using the Curry-Howard correspondence, [1] the gist of it is that all of first order logic can be encoded into a type. All one must do is write an expression that type checks to what one is trying to prove. That turns out to be fairly hard for reasonably complex proofs.

[1]: https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspon...

Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Twisol on Thursday September 20, 2018 @09:27PM (#18036586)
To be only a little more precise, every proposition becomes a type of its own. The AND operator forms product types, the OR operator forms sum types, IMPLIES forms a function type... The proof of a theorem turns into an inhabitant of the theorem's type.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Retra on Thursday September 20, 2018 @11:02PM (#18036905)
The painful part is that you're using tools which are trying to bridge between wildly different logical foundations. Just because a computer beeps and says "proof correct" doesn't mean you've proven what you thought you have, so we need to first translate the logic in which your assumptions are derived into the logic of the machine. That is a complex and subtle project.

In other words, it's actually very easy to prove something with a computer, but it's very difficult to prove the thing you actually set out to prove. It's not any easier than writing a bug-free program.

Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by chriswarbo on Friday September 21, 2018 @11:47PM (#18044336)
> The painful part is that you're using tools which are trying to bridge between wildly different logical foundations.

If you're referring to the fact that many proof assistants (e.g. Coq) are based on constructive/intuitionistic type theory, whilst most mathematics is formulated in classical set theory, then yes there is some translation involved. However, I would point out that we can use classical logic pretty easily by adding excluded middle, double negation elimination, etc. to an intuitionistic system (this is available in the Coq standard library https://coq.inria.fr/library/Coq.Logic.ClassicalFacts.html ). There are also systems which can use set theory (directly or indirectly), like Metamath and Isabelle.

Personally, I much prefer type theory (which I self-learned, before pursuing a related PhD) to set theory (which I was taught as an undergraduate and enjoyed, but not enough to do it as a hobby). However, I'm well aware that my computer scientist background is nothing like that of a trained mathematician.

Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Jweb_Guru on Friday September 21, 2018 @05:47AM (#18038429)
Oh, come on. "It's not any easier than writing a bug-free program" is not even remotely true. Getting the spec right is way easier than getting the implementation right, in almost all cases. And the logic isn't that different from set theory--there's even a set theoretic model (which you get when you use Prop, to which you can add classical axioms).
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by mannykannot on Friday September 21, 2018 @09:43AM (#18039612)
If getting the spec right is way easier than getting the implementation right, then strict waterfall would be the most effective way to write programs, and the holy grail of software engineering would be to automate the process of generating implementations from formal specs (there are some people who think exactly that, but that has been the case for about five decades, with effectively no impact on how software is actually made.)

The reality is that we often overlook issues with the spec until we try to implement it, or try using what we have implemented, even when we are trying to get the spec right first.

Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Jweb_Guru on Friday September 21, 2018 @04:26PM (#18042421)
I have no idea where you're going with this, but getting the spec right is very different from actually finding a proof for it. I never said actually finding the proof was always easy. But I will say this for sure: getting the spec right and finding a proof for it are jointly much easier than writing a nontrivial bug-free program without a theorem prover. The success or lack of success of waterfall is not relevant here, as that has very little to do with formal verification; additionally, the success of most software methodologies is not measured solely on whether the end product was correct.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Retra on Friday September 21, 2018 @07:40PM (#18043477)
If programmers sat around writing <10K line pure programs with no user interaction, they would have just as lovely a time as Mathematicians. If theorem proving in mathematics is easy for you, it is because your aren't trying to prove hard things.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Jweb_Guru on Friday September 21, 2018 @09:13PM (#18043916)
Getting a spec right is not the same as proving a theorem. It is the same as stating a theorem. And I absolutely disagree with you that making small pure programs magically makes them bugfree.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by singularity2001 on Friday September 21, 2018 @03:35AM (#18037863)
Would it be possible to simplify the system by making default assumptions about a consensus/common-sense logic? Are topologists interested in different logical foundations?
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by alimw on Friday September 21, 2018 @05:54AM (#18038459)
You're right (and the GP isn't). A proof of your topological theorem in any one of Coq/Isabelle/Lean is a pretty good indication that it's correct, in spite of their various foundations.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by Retra on Friday September 21, 2018 @07:36PM (#18043459)
... assuming you correctly wrote your theorem in those frameworks.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by alimw on Saturday September 22, 2018 @08:16AM (#18045702)
I think you are exaggerating the difficulty of theorem statement compared to proof. Here is one (admittedly extreme) example in Lean, from the formal abstracts website.

theorem Wiles_Taylor : ∀ (x y z n : nat), x > 0 → y > 0 → n > 2 → x ^ n + y ^ n ≠ z ^ n := more years than I have to spare

Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by emileokada on Friday September 21, 2018 @05:00AM (#18038227)
A lot of proofs at masters level and beyond omit a lot of details because they can easily be checked, but would be tedious to write out explicitly. This means that a 1 page proof would probably actually correspond to 2-3 pages (or more!) if written out with all the details (e.g. with standard but tedious arguments fleshed out properly, and all cases delt with explicitly (rather than resorting to a 'and the other cases follow through similarly' remark)). When written in a proof assistant this would become even longer because natural language allows us to brush a lot details under the carpet because they are understood from context.
Re:Titans of Mathematics Clash Over Epic Proof of ABC Conjec... by chriswarbo on Friday September 21, 2018 @11:36PM (#18044311)
A great example of how tedious it is to list out all the steps of a proof is the Principia Mathematica https://en.wikipedia.org/wiki/Principia_Mathematica

"Proof assistants" like Coq and Isabelle can generate some of the more "obvious" steps using metaprogramming (known as "tactics").