Friday, September 18, 2026

The Impact of Generative AI in the Development of Mathematics

After the INFORMS-Pittsburgh event on Reliable AI in Healthcare (https://luma.com/bjrab6ek), among other things, conversation turned to the recent proof of the Navier-Stokes Millennium Prize Problem For a proper response, I recommend After Math by Silvia De Toffoli and Eamon Duede. And this is not a sudden reaction, it is part of an ongoing conversation this summer on AI and Mathematics that includes the First Proof Project which is on its third batch, the Leiden Declaration on Artificial Intelligence and Mathematics, and the reaction to the OpenAI proof of Navier-Stokes in A Severe Misalignment of AI in Mathematics, written by a group of 25 Fields Medalists (the highest honor in mathematics, awarded every four years to a few chosen mathematicians). So for a more thought out response, go to A Severe Misalignment or the Leiden Declaration. For a philosophy of Math, go to Terence Tao ICM 2026 Public Lecture - Mathematics in the age of AI These are my reactions as a practitioner of the mathematical sciences who is not nearly at that level, but my work applies mathematics in settings that non-mathematicians can use to get their work done.

First, a discussion on what it means to do a mathematical proof. (Terence Tao does a much more complete job). A mathematical proof is a logical series of arguments that starts from a given condition and demonstrates a final conclusion must be true. In the modern day, most people get their first exposure to this in high school geometry. The ancient Greek philosophers regarded the ability to do mathematical proofs to be absolutely essential for one to be able to participate in any form of logical argument. And in anything of any complexity, we find that we need to prove many intermediate results along the way. (there are referred to as 'lemmas'. Think of them as little proofs, suitable for beginning mathematical researchers.) And it is not enough that a mathematically correct proof is done, people have to understand it to understand its implications, both on the direct question at hand but also related concepts. The computer scientist (and mathematician) Richard Hamming stated "The purpose of computing is insight, not numbers", which is a core understanding in my own field of operations research.

In modern mathematics, this shows in if a proof is accepted. It is not enough for a proof to have artifacts that state that it is correct, this is not like a homework assignment. It is important that it can be understood. Terence Tao calls this the whiteboard test, you have to be able to explain the proof in front of an audience at a whiteboard. An example of this is the proof of the four color theorem. The Four color theorem states that no more than four colors are needed to color any map so that no two adjacent regions have the same color. It had been believed true for a century, based on observation of people making maps with a minimum of colors. It was first proven using computer in 1976, but it was not possible to check the computer generated proof by hand. Not until 1989 was a new proof developed that was accepted (and along the way it found and correct errors found in the 1971 proof along the way and found by others).

One of my graduate school professors at Northwestern, Collette Collard, greeted us with a statement that mathematics was beautiful and useful. (I am in operations research, mathematics is a means of understanding and improving operations). So a proof that no-one can understand is neither beautiful nor useful. So, in something as abstract as this, the rework to make a proof understandable has a normal side effect of making it beautiful. And, more important to someone like me whose mathematics is in the pursuit of other goals, the understanding leads to being useful. Because in the process of working through and understanding a proof, many other concepts are developed and proven along the way. And those other concepts also become points of departure for exploration. And potential impact. But a proof that is a deux ex machina, or created out of nothingness from an AI, an alien, or a deity, does not provide those insights for the person who shepherded the computer in discovering the proof, or those who read and (do not) understand the proof. This type of proof is a monument or idol, it can be looked on in awe, but it does no-one any good and is neither beautiful nor useful.

Can AI be taught to make proofs beautiful and useful? We have ways of checking that a proof is correct (the LEAN programming language and proof assistant, LEAN is also notable for programmers because it enables provably correct computer code), but it does not check for goodness or usefulness, or if it allows for insight, which is the point of the exercise for operations researchers like myself, or for society who invests in and desires to benefit from mathematics, even theoretical math which frequently becomes practical in unexpected directions with the passage of time. We have already had computer assisted proofs where we can check the endpoint, but we have not been able to teach the computer to go beyond correctness to organizing the proof so that insights are generated along the way which would make the mathematics useful.

I have sometimes been a judge at the ISEF (International Science and Engineering Fair) in mathematics. (Pittsburgh used to be one of the rotating hosts). The Carnegie Mellon University and University of Pittsburgh math faculty, who formed the core of the judges, explained to the rest of us that they would judge the quality of the math, the rest of us were there to assess the ability of the students to describe their math to normal people (as mere engineering and applied math PhDs were closer to normal people than research mathematicians). As mathematics does not require expensive or extensive equipment or resources, these kids were as good as anyone in the world. My approach to judging these projects was not to focus on the end result, but to identify what were the key insights that were needed along the way, and ask the participant how they attained that insight. And I knew I got it right when the participant launched into an animated discussion about that point. Because that is how math (and science) works, exploration (often in some direction) and insights into our world that come along the way, pointing to new directions of exploration or application.

For a mathematical proof, the burden after it is created is the same as any other proof. Do we understand it? What insights do we gain from the proof or effort? If there is no insights, so what? (which is the same thing my business partners would say if I brought such a thing to them)

Thursday, September 03, 2026

Adventures in vibe coding a github.io website

 I decided to create a github.io (https://lluang.github.io) website using academicpages.github.io framework, because that is what all the cool ML/AI kids seem to do these days.  And it seemed that having a professional web presence there is better than just my blogger site (which is no longer cool. and has lots of non-professional musings).  But it seems like a lot of work.  A rendered site requires lots of data files.  And websites are not my thing.  But working with Generative AI is kinda my thing. So I was going to (1) use generative AI to customize my fork of the academicpages site, (2) create the data files for presentations, publications, and media appearances by pulling it out of the long form of my CV, and (3) vibe code the transfer of my blogger posts into markdown format so it would populate my github.io site.

Setting up the website and creating markdown with the Jekyll YAML front matter was easy. Gemini identified an issue that was solved by updating the version of python being used to render the site, and guided me through various layout decisions.  Presentations and talks and publications were pulled out of my CV, and Gemini helped guide creating categories and filling in the YAML for the dates and permalinks.  The fun part was going to be converting the blog posts.

For the blog posts, I used this chance to practice vibe coding. While in the past I did this inside of an IDE, this time I did this from the terminal using Google Antigravity CLI. I had it write a python script that:

  1. Read posts from my blogger site.
  2. Extract the date and title.
  3. Extract text (and links)
  4. Write markdown from text and filled in YAML frontmatter
  5. Name the file using date and slug generated from the blog title
  6. Save this to my Obsidian folder.  This has a side effect of having additional writing samples with my thoughts and opinions in my own words for Generative AI to use when I'm using it to write.
My prompt was

write a script that takes posts from https://nnnnnn.blogspot.com and creates a markdown file for use in an academicpages site. Yaml header should include title, date, permalink in the _posts folder. File name should start with date of posting to the nnnnnn.blogspot site. put the markdown files in the posts directory

So Antigravity wrote a series of python scripts to explore the blogger site, inspect posts, identify links/media, format the posts, and bring everything together into a final script. 

I have created and executed the Python script convert_blogger_to_academicpages.py to fetch all posts from https://nnnnnn.blogspot.com and convert them into AcademicPages (Jekyll) Markdown format inside the posts directory.

  ### Key Script Features & Formatting

  1. Blogger JSON Feed Integration & Pagination:

      • Automatically handles Blogger feed pagination to fetch all 569 blog posts.

  2. AcademicPages YAML Front Matter:

      • Each file starts with front matter containing title, date, permalink (formatted as /posts/YYYY/MM/slug/), and tags (derived from Blogger categories).

      • Titles and tags are safely quoted to handle colons, quotes, and special characters.

  3. Date-Based File Naming:

      • Output files are named YYYY-MM-DD-slug.md matching the post's published date on Blogger.

      • Includes automatic collision handling if multiple posts share the same posting date and slug.

  4. Clean Content Conversion:

      • Converts Blogger HTML markup (images, links, iframe embeds, blockquotes, lists, tables) into clean Markdown.

      • Cleans up non-breaking spaces and redundant HTML wrapper elements.

  ──────

  ### Example Generated Markdown File

  From 2026-07-25-why-learn-theory.md:

    ---

    title: "Why learn theory"

    date: 2026-07-25

    permalink: /posts/2026/07/why-learn-theory/

    tags:

      - "artificial intelligence"

      - "generative AI"

      - "math"

      - "operations research"

    ---

    ![](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR_lBVkpEMA8BRtLSXvaiePVL-f77oCvFlEEk6kDtX-Tw&s=10)

    Why learn theory? We were bringing our daughter back from an arts camp in northern Michigan... 

After looking at the output, I did a series of prompts to take care of removing some extraneous links and my standard writing of docstring for every function.  While the python script was pretty good right away, I did a few prompts to improve the code and output.  And finally I gave Antigravity my usual instructions of writing complete docstrings for each function. (the docstrings also serve as the description of the code.)

This was a fairly straightforward task, although as I am not a web developer I would not have been able to write this. And certainly not in such a short amount of time.  I could have also had Antigravity actually create the markdown versions of the posts. I chose to use AI to write python because I wanted the consistency of actual python code handling the conversions.

To put this in my earlier context on using AI, I find that using Generative AI is great in anything that is not my area of work, it is having a reasonably competent assistant in any domain available as a teammate. I'm sure a real web designer could do a better job, and give me more options, but this was good enough for something that now looks like it has history. And I'm happy with the result.