{
    "archive_path": "archive/1789077959.379431",
    "base_url": "www.johndcook.com/blog/2026/09/09/formal-method-revolution",
    "basename": "",
    "bookmarked_date": "2026-09-10 22:05",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/www.johndcook.com/blog/2026/09/09/formal-method-revolution",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=www.johndcook.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "www.johndcook.com/blog/2026/09/09/formal-method-revolution/index.html"
    },
    "domain": "www.johndcook.com",
    "extension": "",
    "hash": "C4HMNAYWDHVM5TVFTSW4",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=www.johndcook.com"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-10T22:06:00.609542+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1789077959.379431",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:06:00.038745+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.johndcook.com/blog/2026/09/09/formal-method-revolution/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-10T22:06:00.902484+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1789077959.379431",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:06:00.618886+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://www.johndcook.com/blog/2026/09/09/formal-method-revolution/",
                    "--format=text"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-09-10T22:06:08.916242+00:00",
                "index_texts": null,
                "output": "ArchiveError: Mercury was not able to get article text from the URL",
                "pwd": "/data/archive/1789077959.379431",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:06:07.591894+00:00",
                "status": "failed"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpruy1mx35",
                    "https://www.johndcook.com/blog/2026/09/09/formal-method-revolution/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-09-10T22:06:07.578903+00:00",
                "index_texts": [
                    "Yesterday OpenAI announced a proof that settled a long-standing question about the Navier-Stokes equations from fluid dynamics. The announcement has created a lot of buzz, as one would expect. But there\u2019s an aspect of OpenAI\u2019s work that I haven\u2019t seen anyone talk about: they posted a Lean 4 formal proof at the same time as their conventional human-readable proof.\nQuite a few other mathematical conjectures have been settled recently using AI, and these have also been accompanied with formal proofs, using Lean 4 in particular.\nUntil very recently, generating machine-verifiable formal proofs has been excruciatingly tedious. In 2005, Henk Barendregt and Freek Wiedijk wrote\nTo give an indication of how much work is needed for formalisation, we estimate that it takes approximately one work-week (five work-days of eight work-hours) to formalise one page from an undergraduate mathematics textbook.\nThat was the rule of thumb: forty hours per page. And this in the context of undergraduate textbooks. Research publications are much denser than textbooks. Furthermore, page 100 of a textbook probably depends mostly on material on pages 1 through 99. A sentence in a research article could cite anything that has been published before.\nSay a research article takes 20 times more effort to formalize than page in an undergraduate textbook. Then formalizing the 166-page paper from OpenAI would take 132,800 person-hours. It took OpenAI 17 hours to verify their proof in Lean. I hesitate to use the word \u201crevolutionary,\u201d but lowering the cost of anything by four orders of magnitude is revolutionary.\nI\u2019ve used AI to generate formal proofs to check my work just for a little blog post. I wouldn\u2019t dream of doing that if I had to pay someone a week\u2019s salary to check my work.\nFormal verification doesn\u2019t just apply to mathematics. You could, for example, formally verify that a set of security policies are consistent and that, given certain assumptions, they accomplish their purpose. You could formally verify that a smart contract imposes a certain maximum liability. You could verify the correctness of mission-critical algorithms. These problems are easier than formalizing mathematics research, and it is easier to quantify the return on investment.\nRelated posts\n\nAutomation and validation\nFormal methods let you explore the corners\nWhen are formal methods worth the effort?"
                ],
                "output": "readability",
                "pwd": "/data/archive/1789077959.379431",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:06:06.067907+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.johndcook.com/blog/2026/09/09/formal-method-revolution/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-10T22:06:06.060422+00:00",
                "index_texts": null,
                "output": "The part of Navier-Stokes no one is talking about",
                "pwd": "/data/archive/1789077959.379431",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:06:06.044138+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--backup-converted",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--warc-file=/data/archive/1789077959.379431/warc/1789077960",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "https://www.johndcook.com/blog/2026/09/09/formal-method-revolution/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-09-10T22:06:06.029371+00:00",
                "index_texts": null,
                "output": "www.johndcook.com/blog/2026/09/09/formal-method-revolution/index.html",
                "pwd": "/data/archive/1789077959.379431",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:06:00.911726+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "The part of Navier-Stokes no one is talking about",
        "warc": null,
        "wget": "www.johndcook.com/blog/2026/09/09/formal-method-revolution/index.html"
    },
    "link_dir": "/data/archive/1789077959.379431",
    "newest_archive_date": "2026-09-10T22:06:07.591894+00:00",
    "num_failures": 1,
    "num_outputs": 5,
    "oldest_archive_date": "2026-09-10T22:06:00.038745+00:00",
    "path": "/blog/2026/09/09/formal-method-revolution/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "4d40685c-c140-453e-85a1-101c744fef49",
    "sources": [
        "/data/sources/1789077959-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1789077959.379431",
    "title": "The part of Navier-Stokes no one is talking about",
    "updated": "2026-09-10T22:06:00.038202+00:00",
    "updated_date": "2026-09-10 22:06",
    "url": "https://www.johndcook.com/blog/2026/09/09/formal-method-revolution/"
}