Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Math Social Networks The Internet Science

Towards a Wiki For Formally Verified Mathematics 299

An anonymous reader writes "Cameron Freer, an instructor in pure mathematics at MIT, is working on an intriguing project called vdash.org (video from O'Reilly Ignite Boston 4): a math wiki which only allows true theorems to be added! Based on Isabelle, a free-software theorem prover, the wiki will state all of known mathematics in a machine-readable language and verify all theorems for correctness, thus providing a knowledge base for interactive proof assistants. In addition to its benefits for education and research, such a project could reveal undiscovered connections between fields of mathematics, thus advancing some fields with no further work being necessary."
This discussion has been archived. No new comments can be posted.

Towards a Wiki For Formally Verified Mathematics

Comments Filter:
  • Re:Uh ... (Score:5, Informative)

    by Free the Cowards ( 1280296 ) on Tuesday September 30, 2008 @06:24PM (#25210963)

    1. Russell did not, as far as I know, write any proofs in machine-readable language.
    2. Goedel proved that such an endeavor cannot contain all true statements. But of course they never claimed that it would.

    Maybe if you paid more attention you would be less amazed.

  • Yay! Truth Mines! (Score:3, Informative)

    by seanellis ( 302682 ) on Tuesday September 30, 2008 @06:26PM (#25210987) Homepage Journal

    What? You haven't read Diaspora by Greg Egan? Shame on you!

  • Re:Uh ... (Score:2, Informative)

    by RackinFrackin ( 152232 ) on Tuesday September 30, 2008 @06:28PM (#25211009)

    No. Godel proved that in any axiomatic system there exist statements whose truth values are formally undecidable. If the summary is correct, then this database would contain the whole of known mathematics and use automated theorem proving to do some advances.

  • Re:Uh ... (Score:5, Informative)

    by techno-vampire ( 666512 ) on Tuesday September 30, 2008 @06:43PM (#25211155) Homepage
    I'm no more of a mathematician than you are, but I've had the chance to discuss this with people who really do understand it. Your description is, I think, correct, but not your conclusion. What Goedel proved was not that such an endeavor was impossible, but that it could not be complete. This is because in any system sufficiently advanced to be interesting, there would always be some things that were true but which couldn't be proven to be true. (There would also, BTW, be things that were false but couldn't be shown to be false.)
  • by caramelcarrot ( 778148 ) on Tuesday September 30, 2008 @06:53PM (#25211259)
    And that's the beauty of it - it'd be impossible to vandalise because everything is checked!
  • by Cyberax ( 705495 ) on Tuesday September 30, 2008 @06:56PM (#25211283)

    It's a pretty much work. A lot of 'obvious' English sentences translate to bulky code for proof verifier.

    Just look at the definition of Peano arithmetic, for example: http://pauillac.inria.fr/coq/V8.1/stdlib/Coq.Arith.Plus.html [inria.fr]

  • by David Jao ( 2759 ) <djao@dominia.org> on Tuesday September 30, 2008 @07:25PM (#25211609) Homepage

    If they'd just make it a bit more accessible for the general public, and provide more examples of what they are doing, instead of abstracting everything and assuming everyone knew as much as them (or rather what symbols they are using to represent what they know), then maybe mathematics would be further advanced.

    Disclosure: I am a mathematician. I also graduated from Harvard, and I know Cam Freer personally.

    You make several interesting but separate points in your post. Let me respond to them one at a time. Regarding pay-to-view websites, I can assure you that many mathematicians are just as unhappy as you are with the lack of public access to publications. This issue is larger than just mathematics (see for example musicians vs. RIAA, which is essentially same issue), and to pin the blame on mathematicians is unfair. This is a problem that society as a whole needs to solve in all its incarnations.

    About making mathematics more accessible to the public, I agree that this step is necessary for ethical and practical reasons, and it's one of the reasons why I left a pure research position (with no teaching responsibilities) in exchange for a research position having some teaching responsibilities. However, I really doubt that public education would result in mathematics being further advanced. The cutting edge of new mathematics today is so far beyond the pale of the public that even a herculean effort at education won't be enough to bring very many people into the fold. There is a saying that the more you know, the more you know you don't know, and having been through a Ph.D program I can assure you that what you perceive as elitism is nothing of the sort -- the gap between current research and the general public is simply too wide for even the best educational efforts to bridge.

    In fact, it's not even clear to me that increasing the rate of advancement of mathematics is the right goal. Perhaps we should even be holding back the development of new mathematics to give the public a chance to catch up with what we've done.

    The project being discussed won't do any of these things. It won't make mathematics more accessible; anyone who's ever seen a machine-verifiable proof knows that they're even more obfuscated than perl code. It won't affect the overall rate of advancement in mathematics, because writing machine-verifiable proofs is much slower than writing standard mathematical proofs. It will of course increase our knowledge in the area of machine-verified proofs, but it's hard to argue that this area of mathematics is any more important than any other area like number theory. If you want to target the general public, the best way is still via sites like Wikipedia or Planetmath.org where the focus is on human-readable presentation.

  • by davejenkins ( 99111 ) <slashdot@da[ ]enkins.com ['vej' in gap]> on Tuesday September 30, 2008 @07:29PM (#25211647) Homepage
    If you don't like this one, help yourself to the others (from wikindex.com, in order of activity):
    • http://www.exampleproblems.com/ [exampleproblems.com] ExampleProblems Wiki Graduate level mathematics example problems with solutions.
    • http://maple.wikia.com/ [wikia.com] Maple This page is all about the The Maple Wiki.
    • http://diffgeom.wiki-site.com/ [wiki-site.com] Diffgeom This wiki is about differential geometry and related facets of ...
    • http://www.mathcasts.org/ [mathcasts.org] Mathcasts Mathcasts are screencasts (screen movies) which are created and shared to improve the learning and teaching of mathematics. Mathcasts were originally called math movies and then Whiteboard Movies but when the term screencasts became popular mathcasts seemed like a great name for them.
    • http://math.wikia.com/ [wikia.com] Mathematics Wiki Mathematics is a Wikia for the collection of math-related news, ...
    • http://algorithm.wikia.com/ [wikia.com] Algorithm In mathematics and computing, an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation... Algorithm The Algorithm Wikia is a wiki for gathering the latest
    • http://gametheory.wikia.com/ [wikia.com] GameTheory The Game Theory Wikia is a wiki about applied mathematics ...
    • http://matheaufgaben.wikia.com/ [wikia.com] Matheaufgaben Matheaufgaben Mathematics is a Wikia for the collection of math-related news, ...
  • by exp(pi*sqrt(163)) ( 613870 ) on Tuesday September 30, 2008 @07:34PM (#25211723) Journal
    I can give a concrete answer. Browse metamath.org [metamath.org], a similar project in which machine verified proofs are collected. Look at the vast amount of work required to prove even the most trivial things. For example check out 2+2=4 [metamath.org]. Make sure you drill down into the proofs of the theorems used, not just the top level. Converting real world mathematics into machine readable form is a vast endeavor. It's also something that doesn't interest mathematicians, so the collection of machine verifiable proofs will lag *centuries* behind the state of the art.
  • Re:Uh ... (Score:5, Informative)

    by zacronos ( 937891 ) on Tuesday September 30, 2008 @07:43PM (#25211841)
    Very close. To be 100% correct though, Goedel proved that any such endeavor would either be incomplete, or self-contradictory. In other words, for any sufficiently advanced system, there will be some things that are true but which can't be proven to be true within the system, or else there will be some things which can be proven to be true within the system but which can also be proven to be false within the system.
  • Re:Uh ... (Score:5, Informative)

    by johanatan ( 1159309 ) on Tuesday September 30, 2008 @08:07PM (#25212115)
    My apologies. [I had to brush up on the actual numbering system].

    Correction: The Godel numbering system assigned a unique prime number to each symbol and axiom of his arithmetic. Then, the IDs of the combinations of symbols making up formulas were computed by raising each symbol or axiom ID to the power of its position in the sequence. And, finally, the ID of each proof or theorem by applying the same algorithm to the formula IDs making up each proof. More info here [wikipedia.org].
  • Re:Uh ... (Score:5, Informative)

    by SoVeryTired ( 967875 ) on Tuesday September 30, 2008 @08:09PM (#25212127)

    "Goedel, Escher, Bach" is an absolutely astonishing book about this subject, and the foundations of logic in general. Applications to AI are also discussed. Admittedly, I had to stop reading it since it rather messed my head up (Got about 3/4 through and couldn't stop dreaming about maths). Highly recommended for any self-respecting geek.

    http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach [wikipedia.org]

  • by comingstorm ( 807999 ) on Tuesday September 30, 2008 @08:15PM (#25212173) Homepage

    instead of abstracting everything and assuming everyone knew as much as them [...] resent the way mathematicians try to maintain their elitist clique

    Umm... parent article is so many flavors of wrong I don't know where to start, so I'll just tick off some things:

    • For about the past hundred years, abstracting everything is what has allowed modern mathematics to become further advanced
    • If you go back before math got so abstract, things don't get easier -- they just get more complicated and arbitrary.
    • Notation looks scary if you're not familiar with it, but it's harder to learn the math without it. We've tried writing it all down in prose, and that seriously doesn't work.
    • Mathematicians aren't born knowing all of math and its associated notation; every time we go into a new subfield we have to learn all of that, same as you.
    • As a math guy, I would love it if more people were interested in learning and doing serious math. Many mathematicians devote their lives to trying to do improve this situation. So, if you've got some magical formula that'll make John Conway eclipse rock stars and hotel heiresses in the tabloids, then by all means let us know about it!
    • I won't hold my breath, though.

    In summary: maintaining our elitist clique takes no effort whatsoever. And if you've got an allergy to abstract thought, then maybe you're just not 37337 enough to join us...

  • Re:Uh ... (Score:3, Informative)

    by Free the Cowards ( 1280296 ) on Tuesday September 30, 2008 @08:35PM (#25212331)

    Machine readability is what separates this from Russell's work. In that, by using a machine-readable proof language, the proofs can be verified mechanically.

    Goedel's conclusion is completely irrelevant to this project, so I don't understand why you even discuss it.

  • Re:Uh ... (Score:4, Informative)

    by Free the Cowards ( 1280296 ) on Tuesday September 30, 2008 @09:21PM (#25212751)

    I only mentioned it because the guy I replied to mentioned it. Points 1 and 2 were separate.

    I do not understand your second paragraph at all. As far as I understand it, this wiki will not be mechanically searching for new, unknown theorems. All it will be doing is mechanically verifying human-created proofs for submitted theorems. For some reason people see machine verification and fly off into nonsense la-la land. But verifying a human-created proof is nothing particularly special. What's interesting about this wiki is only that it aims to build a large-scale repository of theorems and their proofs in a machine-readable language. Nothing about how it works is in any way revolutionary or even all that interesting, only how it's being organized.

  • Re:Uh ... (Score:3, Informative)

    by snarkh ( 118018 ) on Tuesday September 30, 2008 @09:24PM (#25212781)

    > there will be some things that are true but which can't be proven to be true within the system

    Close but not exactly -- there will be statements P, such that neither P nor (not P) can be proven within the system.
    However, whether such things are not necessarily true or false in themselves.

    For example the continuum hypothesis was shown to be independent of the axioms of the set theory. Therefore, you can add it as an axiom or add its negation as an axiom. It is not true or false in any reasonable sense (although, admittedly most people choose to think of it as being true, whatever that means).

  • Re:Uh ... (Score:5, Informative)

    by melikamp ( 631205 ) on Tuesday September 30, 2008 @10:30PM (#25213379) Homepage Journal

    I like the following elementary presentation I picked up from prof. M. Stanley at SJSU:

    A first order axiomatic theory can have any three of the following, but not all four:

    (1) Be recursively axiomatizable, i.e. a computer program can decide the set of axioms.
    (2) Be expressive enough to capture all the basic facts about arithmetic.
    (3) Be consistent, i.e. not allow to derive a contradiction.
    (4) Be complete, i.e. for any statement F, prove either F or (not F).

  • Re:Uh ... (Score:5, Informative)

    by logicnazi ( 169418 ) <gerdes@iMENCKENnvariant.org minus author> on Tuesday September 30, 2008 @10:49PM (#25213575) Homepage

    I am a mathematician and in fact one who works in this area and what you say is pretty much correct.

    More accurately what Godel showed is that no system complex enough to include arithmetic with a computable proof predicate is complete.

    Let's take this apart and see what it means.

    • Complex enough to include arithmetic: This means the system is complex enough to express standard questions in number theory e.g., for every even number > 2 there are two primes which sum to it and anything else that we can express by quantification over the relation of equality and the operations +, * and exponentiation. I could trivially make a complete consistent system which didn't allow you to express any interesting questions.

      More precisely the system must be sufficiently strong to prove a few basic facts about the integers and not prove false things about the integers.

    • Computable proof predicate: In standard first order logic this simply reduces to the requirement that the axioms in the system must be in principal enumerable by a computer (which is equivalent to saying that there is a sentence in number theory with only a single existential quantifier that can answer whether something is an axiom or not). Without this restriction I could simply declare my system took as axioms all true arithmetical statements. Obviously though to qualify as the sort of mathematics we can verify and check it better satisfy this.
    • consistent: The system doesn't prove both a statement and it's negation.
    • complete: A system is complete if it admits a proof of S or ~S for every statement S in the language of the system. For instance a theory of arithmetic is complete if it proves or disproves every statement built up from basic arithmetic operations (+, *, exponentiation) via logical operations (and, or, not, existential and universal quantification).

    -------------

    People tend to make this whole thing way harder than it is. Here is a quick paragraph long sketch of Godel's first incompletness theorem.

    Suppose there is a predicate P(s,p) which holds whenever p is an integer coding for a proof of the statement coded by the integer s (if you sit down for a few minutes you can figure out how to do the coding). Now suppose that P(s,p) can be expressed by a sentence in number theory involving only an existential quantifier, e.g, P(s,p) Ez(blah holds of s, p) where blah has no quantifiers.

    Now it turns out that if you are a bit clever you can show that there is a sentence G so that

    G holds iff (Ep)P('~G',p)

    Where 'G' denotes the integer that codes for the sentence G. In other words G says "There is a proof that this statement is false".

    Now suppose there was a proof of G. In this case it must follow that since the system correctly interprets arithmetic that there really is a proof of the negation of G. Hence both G and ~G have proofs so the system is incomplete. But if there was a proof of ~G then, as the system correctly interprets arithmetic, there is no proof of ~G. This is a contradiction. So neither G or ~G have a proof.

    ---------

    The only hard part here is showing that G can talk about itself. The formal proof is pretty straightforward if we leave out the details. We define a formula F(n) (where n is a free variable) defined by:

    F(n) n codes for a formula S(x) and (Ep)P('~S(n)',p)

    Now consider the formula F('F'), i.e. apply F to the integer that codes for F. Expanding out the definition we see that

    F('F') (Ep)P('~F('F')',p)

    So we get our G simply by setting G = F('F'). To get an understanding about where you might get the idea to define F as this you need to understand that existential statements are really program and that this is really an application of the recursion theorem.

  • Re:Uh ... (Score:5, Informative)

    by Ann Coulter ( 614889 ) on Wednesday October 01, 2008 @12:05AM (#25214173)

    Godel proved that Peano arithmetic is incomplete. There are some axiomatic systems that are both consistent and complete. Examples of such systems include plane Euclidean geometry and Presburger arithmetic.

    Here are more examples:
    http://en.wikipedia.org/wiki/Complete_theory [wikipedia.org]

With your bare hands?!?

Working...