← Nieuwste papers
💻 computer science

A Lean 4 Formalization of Euclidean Domain Algorithms from a 1986 Icon Experimentation Package

Dit artikel presenteert een volledige Lean 4-formalisering van de 1986 ICON Euclidean Domain-algoritmen, waarbij wiskundige definities, berekenbare implementaties en de reproductie van legacy-output worden gescheiden om machine-gecontroleerde bewijzen voor kernprocedures te bieden terwijl de oorspronkelijke benchmarkresultaten behouden blijven.

Oorspronkelijke auteurs: Lars Warren Ericson

Gepubliceerd 2026-06-16
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Lars Warren Ericson

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een oud, stoffig receptenboek uit 1986 hebt, geschreven door een chef genaamd Lars. Dit boek bevat 14 specifieke, complexe recepten voor het "koken" met getallen — dingen zoals het vinden van de grootste gemene deler, het oplossen van puzzels met resten, en het manipuleren van polynomen. Het originele boek was geschreven in een programmeertaal genaamd Icon, wat destijds een soort gespecialiseerd, eigenzinnig keukengereedschap was dat goed werkte, maar nu moeilijk te begrijpen is voor moderne computers.

Dit artikel gaat over een team dat dat receptenboek uit 1986 heeft vertaald naar Lean 4, een moderne, ultra-strikte taal die wordt gebruikt om wiskundige waarheden te bewijzen. Maar ze hebben niet alleen de woorden vertaald; ze hebben de hele keuken herbouwd om ervoor te zorgen dat het eten precies hetzelfde smaakt, terwijl ze ook een "inspecteur voor de veiligheid" hebben toegevoegd om te controleren of de wiskunde daadwerkelijk klopt.

Hier is hoe ze het hebben gedaan, onderverdeeld in eenvoudige concepten:

1. De Keuken met Drie Verdiepingen

De grootste uitdaging was dat moderne wiskundige tools (genaamd Mathlib) als een hoogtechnologische, geautomatiseerde keuken zijn. Ze zijn perfect en bewezen, maar ze zijn "niet-berekenbaar" — wat betekent dat je ze niet echt kunt draaien om het resultaat op een scherm te zien; ze bestaan alleen als abstracte bewijzen. Het 1986 Icon-pakket was echter een "draaien-en-zien"-systeem.

Om deze kloof te overbruggen, bouwden de auteurs een keuken met drie duidelijke verdiepingen:

  • Verdieping 1: De Bewijsverdieping (De Inspecteur voor de Veiligheid). Deze verdieping maakt gebruik van de moderne, hoogtechnologische Mathlib-tools. Deze bevat de "gouden standaard" van de wiskundige definities. Als je deze verdieping vraagt: "Is dit recept correct?", geeft het een door een machine gecontroleerd "Ja". Je kunt hier echter niet echt gaan koken.
  • Verdieping 2: De Berekenbare Verdieping (De Werkkeuken). Deze verdieping is een op maat gemaakte, ouderwetse keuken die de 1986 Icon-system exact nabootst. Het gebruikt pure, stap-voor-stap instructies die een computer daadwerkelijk kan uitvoeren om resultaten te produceren. Het heeft nog geen "Inspecteur voor de Veiligheid", maar het produceert exact dezelfde getallen als het originele 1986-boek.
  • Verdieping 3: De Rapportageverdieping (De Ober). Deze verdieping is verantwoordelijk voor het formatteren van de output. Het neemt de getallen uit de Werkkeuken en print ze uit in exact hetzelfde lettertype, de juiste spatiëring en stijl als het 1986-rapport. Hierdoor kan het team een "steekproef" uitvoeren om te controleren of het nieuwe systeem een perfecte kloon is van het oude.

2. De "Geest" in de Machine (De Ontdekking van de Typfout)

Een van de meest boeiende delen van het project was een historisch mysterie. In het 1986-rapport stond een tabel met resultaten voor een specifieke berekening (genaamd PREM). De gedrukte tabel toonde een enorm, ingewikkeld getal als antwoord.

Echter, toen de auteurs de originele 1986-code op een moderne computer draaiden, was het antwoord nul.

Het artikel legt uit dat het 1986-rapport een typfout had in de gedrukte tabel. De wiskunde was eigenlijk simpel: het delen van een polynoom door een constante moet altijd een rest van nul achterlaten. Het nieuwe Lean-systeem ontdekte deze fout door de code daadwerkelijk te "koken" en te zien dat het resultaat nul was, en niet het enorme getal dat in het boek stond. Ze hebben een 40 jaar oude documentatiefout hersteld door de code te draaien.

3. Wat Ze Daadwerkelijk Hebben Bewezen (en Wat Niet)

De auteurs zijn zeer eerlijk over wat er "bewezen" is en wat er alleen maar "vertrouwd" wordt.

  • De "Bewezen" Zaken (Niveau A): Voor basis integer-wiskunde (zoals het vinden van de grootste gemene deler van twee gehele getallen) hebben ze de moderne Inspecteur voor de Veiligheid gebruikt. Ze hebben een door een machine gecontroleerde garantie dat deze specifieke algoritmen wiskundig perfect zijn.
  • De "Vertrouwde" Zaken (Niveau B): Voor de complexere, meer geavanceerde recepten (zoals polynoomdeling of Fast Fourier Transforms) hebben ze nog niet bewezen dat deze overeenkomen met de moderne Inspecteur voor de Veiligheid. In plaats daarvan vertrouwen ze op Regressietesten. Dit betekent dat ze de nieuwe code hebben gedraaid en de output regel voor regel vergeleken met de 1986-output. Omdat de 1986-code 40 jaar lang heeft gewerkt, en de nieuwe code er perfect mee overeenkomt, "vertrouwen" ze het.
  • De "Te Doen"-Lijst (Niveau C): Ze hebben de "Coherentie-verplichtingen" geïdentificeerd. Dit is een belofte aan toekomstig werk: "Wij beloven dat we uiteindelijk zullen bewijzen dat de Werkkeuken (Verdieping 2) exact dezelfde resultaten produceert als de Inspecteur voor de Veiligheid (Verdieping 1)." Ze hebben dit nog niet gedaan, maar ze hebben exact in kaart gebracht waar het bewijs moet worden toegepast.

4. Waarom Dit Ertoe Doet

Dit artikel gaat niet over het uitvinden van nieuwe wiskunde of het gebruiken van deze algoritmen voor medische diagnoses of ruimtevaart. Het gaat over preservatie en verificatie.

  • Preservatie: Ze hebben een stukje computergeschiedenis (het 1986 Icon-pakket) gered door het te vertalen naar een taal die over 50 jaar nog steeds leesbaar zal zijn.
  • Verificatie: Ze hebben aangetoond dat zelfs "oude" algoritmen rigoureus gecontroleerd kunnen worden. Ze hebben bewezen dat de 1986-logica standhoudt, zelfs als het originele gedrukte rapport een typfout bevatte.
  • Transparantie: Ze hebben duidelijk gelabeld welke delen van de code wiskundig bewezen zijn en welke delen ze gewoon "gecontroleerd hebben tegen het oude boek en die overeenkomen".

Kortom, dit artikel is een renovatie van een tijdscapsule. Ze hebben een oud, licht stoffig huis genomen, de fundering versterkt met modern staal (Lean-bewijzen), de oorspronkelijke meubelindeling behouden (de 1986-algoritmen) en zelfs een barst in de muur gevonden (de typfout) die niemand vier decennia lang had opgemerkt.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →