13 comments

  • WhitneyLand 2 hours ago
    Great quote from Hilbert, I think it’s also a useful thought for software development.

    “The edifice of science is not raised like a dwelling, in which the foundations are first firmly laid and only then one proceeds to construct and to enlarge the rooms,” the great mathematician David Hilbert wrote in 1905 (opens a new tab). Rather, scientists should first find “comfortable spaces to wander around and only subsequently, when signs appear here and there that the loose foundations are not able to sustain the expansion of the rooms, [should they] support and fortify them.”

    • ratmice 18 minutes ago
      My only complaint with the article is that it doesn't seem to mention that digitized proofs can contain gaps but that those gaps must be explicit like in lean the `sorry` function, or axioms.
  • sxzygz 4 hours ago
    The problem with this ambition is that it turns mathematics into software development. There’s absolutely nothing wrong with this per se, however what happens is that, as in software, certain ideas get ossified. That’s why, for example, every OS has a POSIX layer even though technically the process/namespace/security model could be radically reimagined possibly to create more easily engineered, correct software.

    Mathematics is going through a huge, quiet, upheaval. The litmus test will be when, if ever, someone wins a Fields using a proof-assistant in an essential way.

    • msteffen 3 hours ago
      > what happens is that, as in software, certain ideas get ossified. That’s why, for example, every OS has a POSIX layer even though technically the process/namespace/security model could be radically reimagined possibly to create more easily engineered, correct software.

      Total amateur here, but it strikes me that one important difference is that performance matters in software in a way that it doesn’t in mathematics—that is, all proofs are equally valid modulo elegance. That means that abstractions in software are leaky in a way that abstractions in mathematics aren’t.

      In other words, in software, the same systems get reused in large part because they’ve been heavily refined, in terms of performance, unexpected corner-case behavior and performance pitfalls, documentation of the above, and general familiarity to and acceptance by the community. In math, if you lay new foundations, build some new abstraction, and prove that it’s at least as powerful to the old one, I’d think that you’d be “done” with replacing it. (Maybe downstream proofs would need some new import statements?)

      Is this not the case? Where are people getting stuck that they shouldn’t be?

      • zarzavat 27 minutes ago
        I know what you're saying but elegance is not simply an aesthetic concern.

        The value of a proof is not only its conclusion but also the insight that it provides through its method.

        The goal of mathematics is not to prove as many theorems as possible but rather to gain an ever deeper understanding of why certain statements are true. The way that something is proved can be more or less useful to advancing that goal.

        As an example the elementary proof(s) of the prime number theorem are just about as famous as the original proof. Sometimes the second bite of the cherry is even juicier than the first.

      • dooglius 3 hours ago
        Agreed; e.g. if you prove something about the real numbers, the matter of how R is constructed out of your axiomatic system doesn't matter
      • enricozb 1 hour ago
        Proof irrelevance I don't think is accepted in constructivist situations. Those are, however, not that relevant to the recent wave of AI math which uses Lean, whose type system includes classical mathematics.
    • fasterik 50 minutes ago
      >The litmus test will be when, if ever, someone wins a Fields using a proof-assistant in an essential way.

      You're assuming that the point of interactive theorem provers is to discover new mathematics. While that's an interesting research area, it seems like the more practical application is verifying proofs one has already discovered through other means.

    • perching_aix 1 hour ago
      Haven't science and mathematics always worked like this? Models are built, they ossify, and eventually get replaced when they become limiting. Software just makes that process more explicit. Or at least I don't see how math turning into software development would selectively promote this effect.
  • jl6 5 hours ago
    Imagine a future where proofs are discovered autonomously and proved rigorously by machines, and the work of the human mathematician becomes to articulate the most compelling motivations, the clearest explanations, and the most useful maps between intuitions, theorems, and applications. Mathematicians as illuminators and bards of their craft.
    • layer8 5 hours ago
      The question is whether the capabilities that would let AI take over the discovery part wouldn’t also let them take over the other parts.
    • tines 5 hours ago
      But in this future, why will “the most compelling motivations, the clearest explanations, and the most useful maps between intuitions, theorems, and applications” be necessary? Catering to hobbyists?
      • fasterik 47 minutes ago
        Most mathematicians don't understand the fields outside of their specialization (at a research level). Your assumption that intuition and applications are limited to hobbyists ignores the possibility of enabling mathematicians to work and collaborate more effectively at the cutting edge of multiple fields.
      • ndriscoll 4 hours ago
        Very far in the future when AI runs everything, of course math will be a hobby (and it will be great! As a professional programmer I'm happy that I now have a research-level tutor/mentor for my math/physics hobby). In the nearer term, it seems apparent to me that people with stronger mental models of the world are able (without even trying!) to formulate better prompts and get better output from models. i.e. as long as people are asking the questions, they'll do better to have some idea of the nuance within the problem/solution spaces. Math can provide vocabulary to express such nuance.
      • layer8 5 hours ago
        Mapping theorems to applications is certainly necessary for mathematics to be useful.
  • umutisik 6 hours ago
    With sufficient automation, there shouldn't really be a trade-off between rigor and anything else. The goal should be to automate as much as possible so that whatever well-defined useful thing can come out theory can come out faster and more easily. Formal proofs make sense as part of this goal.
    • _alternator_ 5 hours ago
      Let’s not forget that mathematics is a social construct as much as (and perhaps more than) a true science. It’s about techniques, stories, relationships between ideas, and ultimately, it’s a social endeavor that involves curiosity satisfaction for (somewhat pedantic) people. If we automate ‘all’ of mathematics, then we’ve removed the people from it.

      There are things that need to be done by humans to make it meaningful and worthwhile. I’m not saying that automation won’t make us more able to satisfy our intellectual curiosity, but we can’t offload everything and have something of value that we could rightly call ‘mathematics’.

      • justonceokay 4 hours ago
        > mathematics is a social construct

        If you believe Wittgenstein then all of math is more and more complicated stories amounting to 1=1. Like a ribbon that we figure out how to tie in ever more beautiful knots. These stories are extremely valuable and useful, because we find equivalents of these knots in nature—but boiled down that is what we do when we do math

        • sesm 43 minutes ago
          In my view mathematics builds tools that help solve problems in science.
        • ianhorn 4 hours ago
          I like the Kronecker quote, "Natural numbers were created by god, everything else is the work of men" (translated). I figure that (like programming) it turns out that putting our problems and solutions into precise reusable generalizable language helps us use and reuse them better, and that (like programming language evolution) we're always finding new ways to express problems precisely. Reusability of ideas and solutions is great, but sometimes the "language" gets in the way, whether that's a programming language or a particular shape of the formal expression of something.
        • _alternator_ 4 hours ago
          You don’t really have to believe Wittgenstein; any logician will tell you that if your proof is not logically equivalent to 1=1 then it’s not a proof.
          • justonceokay 4 hours ago
            Sure, I just personally like his distinction between a “true” statement like “I am typing right now” and a “tautological” statement like “3+5=8”.

            In other words, declarative statements relate to objects in the world, but mathematical statements categorize possible declarative statements and do not relate directly to the world.

            • IsTom 3 hours ago
              If you look from far enough, it becomes "Current world ⊨ I am typing right now" which becomes tautological again.
        • anthk 3 hours ago
          More like 1 = 0 + 1.

          Read about Lisp, the Computational Beauty of Nature, 64k Lisp from https://t3x.org and how all numbers can be composed of counting nested lists all down.

          List of a single item:

               (cons '1 nil)
          
          Nil it's an empty atom, thus, this reads as:

          [ 1 | nil ]

          List of three items:

              (cons '1 (cons 2 (cons 3 nil)))
          
          Which is the same as

              (list '1 '2 '3)
          
          Internally, it's composed as is, imagine these are domino pieces chained. The right part of the first one points to the second one and so on.

          [ 1 | --> [ 2 | -> [ 3 | nil ]

          A function is a list, it applies the operation over the rest of the items:

               (plus '1 '2 3') 
          
          Returns '6

          Which is like saying:

            (eval '(+ '1 '2 '3))
          
          '(+ '1 '2 '3) it's just a list, not a function, with 4 items.

          Eval will just apply the '+' operation to the rest of the list, recursively.

          Whis is the the default for every list written in parentheses without the leading ' .

              (+ 1 (+ 2 3))
          
          Will evaluate to 6, while

              (+ '1 '(+ '2 '3)) 
          
          will give you an error as you are adding a number and a list and they are distinct items themselves.

          How arithmetic is made from 'nothing':

          https://t3x.org/lisp64k/numbers.html

          Table of contents:

          https://t3x.org/lisp64k/toc.html

          Logic, too:

          https://t3x.org/lisp64k/logic.html

      • adrianN 3 hours ago
        There is a bit about this in Greg Egan‘s Disspora, where a parallel is drawn between maths and art. It is not difficult to automate art in the sense that you can enumerate all possible pictures, but it takes sentient input to find the beautiful areas in the problem space.
        • SabrinaJewson 1 hour ago
          I do not think this parallel works, because I think you would struggle to find a discipline for which this is not the case. It is trivial to enumerate all the possible scientific or historical hypothesis, or all the possible building blueprints, or all the possible programs, or all the possible recipes, or legal arguments…

          The fact that the domain of study is countable and computable is obvious because humans can’t really study uncountable or uncomputable things. The process of doing anything at all can always be thought of as narrowing down a large space, but this doesn’t provide more insight than the view that it’s building things up.

      • seanmcdirmid 5 hours ago
        Automating proofs is like automating calculations: neither is what math is, they are just things in the way that need to be done in the process of doing math.

        Mathematicians will just adopt the tools and use them to get even more math done.

        • quietbritishjim 5 hours ago
          I don't think that's true. Often, to come up with a proof of a particular theorem of interest, it's necessary to invent a whole new branch of mathematics that is interesting in its own right e.g. Galois theory for finding roots of polynomials. If the proof is automated then it might not be decomposed in a way that makes some new theory apparent. That's not true of a simple calculation.
          • ndriscoll 4 hours ago
            This is literally the same thing as having the model write well factored, readable code. You can tell it to do things like avoid mixing abstraction levels within a function/proof, create interfaces (definitions/axioms) for useful ideas, etc. You can also work with it interactively (this is how I work with programming), so you can ask it to factor things in the way you prefer on the fly.
            • integralid 2 hours ago
              >This is literally the same thing as

              No.

              >You can

              Not right now, right? I don't think current AI automated proofs are smart enough to introduce nontrivial abstractions.

              Anyway I think you're missing the point of parent's posts. Math is not proofs. Back then some time ago four color theorem "proof" was very controversial, because it was a computer assisted exhaustive check of every possibility, impossible to verify by a human. It didn't bring any insight.

              In general, on some level, proofs like not that important for mathematicians. I mean, for example, Riemann hypothesis or P?=NP proofs would be groundbreaking not because anyone has doubts that P=NP, but because we expect the proofs will be enlightening and will use some novel technique

        • jhanschoo 4 hours ago
          There are areas of mathematics where the standard proofs are very interesting and require insight, often new statements and definitions and theorems for their sake, but the theorems and definitions are banal. For an extreme example, consider Fermat's Last Theorem.

          Note on the other hand that proving standard properties of many computer programs are frequently just tedious and should be automated.

      • 3yr-i-frew-up 4 hours ago
        [dead]
      • anthk 3 hours ago
        [flagged]
        • integralid 2 hours ago
          First of all, I think your comment is against HN guidelines.

          And I expect GP has actually a lot of experience in mathematics - there are exactly right and this is how professional mathematicians see math (at least most of them, including ones I interact with).

    • storus 5 hours ago
      There are still many major oversimplifications in the core of math, making it weirdly corresponding with the real world. For example, if you want to model human reasoning you need to step away from binary logic that uses "weird" material implication that is a neat shortcut for math to allow its formalization but doesn't map well to reasoning. Then you might find out that e.g. medicine uses counterfactuals instead of material implication. Logics that tried to make implication more "reasonable" like relevance logic are too weak to allow formalization of math. So you either decide to treat material implication as correct (getting incompleteness theorem in the end), making you sound autistic among other humans, or you can't really do rigorous math.
      • jojomodding 30 minutes ago
        People keep getting hung up on material implication but it can not understand why. It's more than an encoding hack--falsity (i.e. the atomic logical statement equivalent to 0=1) indicates that a particular case is unreachable and falsity elimination (aka "from falsity follows everything") expresses that you have reached such a case as part of the case distinctions happening in every proof.

        Or more poetically, "if my grandmother had wheels she would have been a bike[1]" is a folk wisdom precisely because it makes so much sense.

        1: https://www.youtube.com/watch?v=A-RfHC91Ewc

    • YetAnotherNick 5 hours ago
      The thing is if something is proved by checking million different cases automatically, it makes it hard to factor in learning for other proofs.
  • pfdietz 3 hours ago
    A few comments:

    (1) Math journals are being flooded with AI slop papers loaded with errors. I can see a time when they will require papers to be accompanied by formal proofs of the results. This will enable much of the slop to be filtered out.

    (2) Formalization enables AI to do extensive search while staying grounded.

    (3) Formalization of the historical math literature (about 3.5M papers) will allow all those results to become available for training and mining, to a greater extent that if they're just given as plain text input to LLMs.

  • johnbender 6 hours ago
    I’m confused by the calculus example and I’m hoping someone here can clarify why one can’t state the needed assumptions for roughed out theory that still need to be proven? That is, I’m curious if the critical concern the article is highlighting the requirement to “prove all assumptions before use” or instead the idea that sometimes we can’t even define the blind spots as assumptions in a theory before we use it?
    • pavpanchekha 6 hours ago
      In calculus the core issue is that the concept of a "function" was undefined but generally understood to be something like what we'd call today an "expression" in a programming language. So, for example, "x^2 + 1" was widely agreed to be a function, but "if x < 0 then x else 0" was controversial. What's nice about the "function as expression" idea is that generally speaking these functions are continuous, analytic [1], etc and the set of such functions is closed under differentiation and integration [2]. There's a good chance that if you took AP Calculus you basically learned this definition.

      The formal definition of "function" is totally different! This is typically a big confusion in Calculus 2 or 3! Today, a function is defined as literally any input→output mapping, and the "rule" by which this mapping is defined is irrelevant. This definition is much worse for basic calculus—most mappings are not continuous or differentiable. But it has benefits for more advanced calculus; the initial application was Fourier series. And it is generally much easier to formalize because it is "canonical" in a certain sense, it doesn't depend on questions like "which exact expressions are allowed".

      This is exactly what the article is complaining about. The non-rigorous intuition preferred for basic calculus and the non-rigorous intuition required for more advanced calculus are different. If you formalize, you'll end up with one rigorous definition, which necessarily will have to incorporate a lot of complexity required for advanced calculus but confusing to beginners.

      Programming languages are like this too. Compare C and Python. Some things must be written in C, but most things can be more easily written in Python. If the whole development must be one language, the more basic code will suffer. In programming we fix this by developing software as assemblages of different programs written in different languages, but mechanisms for this kind of modularity in formal systems are still under-studied and, today, come with significant untrusted pieces or annoying boilerplate, so this solution isn't yet available.

      [1] Later it was discovered that in fact this set isn't analytic, but that wasn't known for a long time.

      [2] I am being imprecise; integrating and solving various differential equations often yields functions that are nice but aren't defined by combinations of named functions. The solution at the time was to name these new discovered functions.

      • lilyball 38 minutes ago
        > If you formalize, you'll end up with one rigorous definition

        Can't you just formalize both definitions and pick the one to work with based on what you want to do? Surely the only obstacle here is the time and effort it takes to write the formalization?

        Or, alternatively, just because you've formalized the advanced calculus version doesn't mean you need to use the formalization when teaching basic calculus. The way we've proven something and the way we teach that something don't have to be the same.

      • coldcity_again 5 hours ago
        That's very helpful and clear, thank you
  • zitterbewegung 6 hours ago
    I think the future of having lean as a tool is mathematicians using this or similar software and have it create a corresponding lean code. [1] This is an LLM that outputs Lean code given a mathematical paper. It can also reason within lean projects and enhance or fix lean code.

    [1] https://aristotle.harmonic.fun

  • ux266478 6 hours ago
    Rigor was never vital to mathematics. ZFC was explicitly pushed as the foundation for mathematics because Type Theory was too rigorous and demanding. I think that mathematicians are coming around to TT is a bit of funny irony lost on many. Now we just need to restore Logicism...
    • moi2388 3 hours ago
      Rigor was always vital to mathematics. That it wasn’t vital to mathematicians is exactly why we need automated proofs.
  • casey2 1 hour ago
    In the long run creating a certificate that guarantees a certain probability of correctness will take much less energy. Right now we can run miller-rabin and show with 1-(1/10^100) certainty that the number is/isn't prime. Similar for hash collisions, after a certain point these can't happen in reality. If Anthropic can get their uptime from 1 9 to 9 9s (software isn't the bottleneck for 9 9s) then we don't need formally checked proofs.
  • dbvn 3 hours ago
    There's no such thing as being too rigorous when you're talking about proofs in math. It either proves it or it doesn't. You get as rigorous as you need to
  • anthk 2 hours ago
    LLM's are not reproducible. Common Lisp, Coq and the like for sure are.
  • j45 5 hours ago
    Is digitized proofs another way of saying the equivalent of a calculator, when a calculator was new?
  • riverforest 6 hours ago
    Rigor is the whole point of math. The moment you start asking if there is too much of it you are solving a different problem.
    • woopwoop 6 hours ago
      Rigor is not the whole point of math. Understanding is. Rigor is a tool for producing understanding. For a further articulation of this point, see

      https://arxiv.org/abs/math/9404236

      • 1970-01-01 5 hours ago
        This conflates rigor with proof. Proof is the solve to the argument you are making. Rigor is how carefully and correctly the argument is made. You can understand something without rigor but you cannot prove it.
        • layer8 4 hours ago
          > You can understand something without rigor but you cannot prove it.

          I think I disagree. There are formal proofs and informal proofs, there are rigorous proofs and less rigorous proofs. Of course, a rigorous proof requires rigor, but that’s close to tautological. What makes a proof is that it convinces other people that the consequent is true. Rigor isn’t a necessary condition for that.

    • storus 6 hours ago
      Rigor is one solution to mutual understanding Bourbaki came up with that in turn led to making math inaccessible to most humans as it now takes regular mathematicians over 40 years to get to the bleeding edge, often surpassing their brain's capacity to come up with revolutionary insights. It's like math was forced to run on assembly language despite there were more high-level languages available and more apt for the job.
      • cbdumas 5 hours ago
        > It's like math was forced to run on assembly language despite there were more high-level languages available and more apt for the job.

        I'm not a mathematician but that doesn't sound right to me. Most math I did in school is comprised concepts many many layers of abstraction away from its foundations. What did you mean by this?

        • storus 5 hours ago
          My math classes were theorem, lemma, proof all day long, no conceptualization, no explanation; low-level formulas down to axioms. Sink or swim, figure it out on your own or fail.
    • meroes 6 hours ago
      If rigor is the whole point why are we so focused on classical math (eg classical logic) not the wider plurality?
      • SabrinaJewson 40 minutes ago
        How does that relate at all? Classical logic is not any less rigorous than other kinds of logic.
    • gzread 5 hours ago
      It seems you have never tried to prove anything using a proof assistant program. It will demand proofs for things like x<y && y<z => x<z and while it should have that built in for natural numbers, woe fall upon thee who defines a new data type.