1 Punkte von GN⁺ 2025-06-29 | 1 Kommentare | Auf WhatsApp teilen
  • Die britische Passbeantragung wird wie ein Puzzlespiel betrachtet, und die Erfahrung wird beschrieben, diesen komplexen Antragsprozess mit Haskell zu programmieren und in Regeln zu fassen.
  • Die Online-Passbeantragung lebt vor allem vom Sammeln verschiedenster Dokumente, der Auslegung komplexer Regeln und unerwarteten Sub-Quests.
  • Die Logik des Antragsprozesses wird mit der 'Constructive Logic' verknüpft, wobei betont wird, dass Originaldokumente zwingend erforderlich sind, um jeden einzelnen Beweis zu stützen.
  • Mit der LogicT-Monade von Haskell und Zustandsverwaltung (State) werden die erforderlichen Dokumentlisten und die logischen Pfade zum Nachweis der britischen Staatsbürgerschaft verfolgt.
  • HMPO scheint in der Praxis dazu zu neigen, zuerst den komplexesten Nachweispfad zu verlangen, und wegen der Grenzen bei der Interpretation komplexer Gesetze werden Automatisierungstools nur zögerlich eingeführt.

Einleitung: Die Passbeantragung als Spiel

  • Während der Trend zunimmt, mit Programmierung Online-Spiele oder Rätsel zu lösen, wird auch die britische Passport Application auf diese Weise betrachtet.
  • Die Passport Application ist eine Art „Abenteuer-Puzzle-Dokumentensammelspiel“, das Briten alle zehn Jahre genießen, mit Kosten von etwa £100 und einem konsequent minimalistischen textbasierten Design.
  • Ziel dieses Spiels ist es, über verschiedene Behörden mehrere Nachweisdokumente (artefacts) zu sammeln und unter komplexen rechtlichen Kriterien zu beweisen: „Diese antragstellende Person ist britisch“.
  • Die Belohnung des Spiels ist ein Passheft und „das Datum, an dem der nächste Durchlauf möglich ist“.

Struktur und Schwierigkeitsgrad des Spiels

  • Die papierbasierte Offline-Version läuft über Einschreiben und Beglaubigungsverfahren; die in jedem Schritt zu sammelnden Dokumente werden in Anleitungen oder Tabellen beschrieben.
  • Der Einstieg ist vergleichsweise leicht, doch mit fortschreitendem Spiel tauchen verschiedenste „Side Quests“ und Hürden auf.
    • Beispiele: eine Identitätsbestätigung durch eine bekannte Person mit bestimmtem Beruf einholen, beglaubigte Übersetzungen fremdsprachiger Unterlagen beschaffen, kooperatives Familienspiel, Erkundung der jeweils eigenen Verwaltungsabläufe einzelner Behörden usw.

Erfahrungsbericht: Schwierigkeit 'erstes im Ausland geborenes Kind'

  • Der Autor übernahm für seine kleine Tochter die Schwierigkeit „erstes im Ausland geborenes Kind“ und rechnete aufgrund zahlreicher Vorerfahrungen bereits mit einem hohen Schwierigkeitsgrad.
  • Später stellte sich heraus, dass die Hälfte der anfangs geforderten Dokumente unnötig war; Anforderungen und Erklärungen zu den Unterlagen sind deutlich vage und verwirrend gestaltet.
  • Mit dem zuständigen Prüfer (examiner) kann nicht direkt kommuniziert werden; nur über einen vermittelnden Beratungsagenten ist inoffizielle Hilfe möglich.
  • Wiederholt kommen neue angeforderte Dokumente hinzu, teilweise werden sogar nicht existierende Unterlagen verlangt; Anforderungen wie die Vorlage von Geburts-/Heiratsurkunden seltener Vorfahren treiben den Schwierigkeitsgrad immer weiter nach oben.

Die Logik von HMPO: Bureaucratic Logic

  • Die Logik der Passbeantragung kann als Bureaucratic Logic betrachtet werden, abgeleitet aus der Constructive Logic.
  • Statt eines einfachen Beweises von „wahr/falsch“ müssen Originaldokumente als Nachweis für jede Regel direkt eingereicht werden.
  • Da der ausgeschlossene Dritte (Excluded Middle) nicht zulässig ist, kann man nicht mit „eines von zwei Szenarien wird schon stimmen“ argumentieren; man muss zwingend einem einzelnen Pfad folgen und die entsprechenden Unterlagen einreichen.
  • Insbesondere hängt die „Britishness“ von der Staatsangehörigkeit der Eltern ab, und die Dokumentenanforderungen verlaufen rekursiv in Form eines Familienstammbaums.
    • Basisfall: Geburt im Vereinigten Königreich vor 1983, Einbürgerung usw., also Fälle ohne erforderlichen Nachweis über die Eltern.

Regeln mit Haskell modellieren

  • Zur Modularisierung der Regeln und zur Automatisierung der Schlussfolgerungen wurde die Antragslogik in Haskell prototypisch modelliert, insbesondere mit der LogicT-Monade.
  • Es werden Typen wie Person/Document/Proof deklariert, um verschiedene Pfade von Nachweisdokumenten je nach Bedingung zu modellieren.
  • Eine Funktion zum Nachweis der Britishness durchsucht zusammen mit den Eingaben (Informationen zu jeder Person) mehrere mögliche Nachweispfade (Set of Proofs).
  • Entlang des Proof-Baums wird die minimale Dokumentenkombination (Set of Set Document) berechnet.
  • Mit der Kombination aus StateT und LogicT IO werden interaktive Abfragen und gemeinsamer Zustand umgesetzt; je nach „bekannten Informationen“ wird verzweigt und zurückverfolgt.
  • Logik zur Analyse der britischen Staatsbürgerschaftsstruktur:
    • einzelner Pfad über Einbürgerungsnachweis
    • bedingter (Basis-)Pfad bei Geburt im Vereinigten Königreich vor 1983
    • rekursiver Nachweis über die Eltern (einschließlich zusätzlicher Bedingungen wie rechtmäßige Ehe)
    • neuer Sonderpfad abhängig davon, ob ein Elternteil BOTBD (British Otherwise Than By Descent) ist
    • Ausnahmeregelungen wie Crown Service werden ebenfalls im Code behandelt

Beispielausführung und Nachweispfade

  • Über ghci werden anhand konkreter Eingaben (Geburtsort des Antragstellers, Staatsangehörigkeit der Eltern usw.) automatisch insgesamt drei Nachweispfade (Proofs) ermittelt.
  • Für jeden Nachweispfad wird eine Liste der erforderlichen Dokumente (Kombinationen aus Urkunden, Heiratsurkunden usw.) ausgegeben.
  • Beim komplexesten Pfad zeigt sich, dass rekursive Nachweise bis zu Vorfahren zurück sowie der Nachweis von Eheverhältnissen erforderlich sind.

Diskussion und Fazit

  • In der Praxis wirkt es, als verlange HMPO absichtlich zuerst den komplexesten Nachweispfad; tatsächliche rechtliche Widersprüche oder feine Sonderregeln folgen separaten Leitlinien oder dem Prinzip der „balance of probabilities“.
  • Würden Automatisierungstools breiter eingeführt, könnten Antragsteller ihren Nachweispfad und die benötigten Dokumente deutlich leichter ermitteln.
  • Da das Recht jedoch äußerst subtil und wandelbar ist, birgt eine einfache Automatisierung, bei der „der Computer ein yes/no verdict“ fällt, Risiken.
  • Der Autor versucht derzeit, den Nachweis über den zweiten und dritten Pfad zu führen.

Zusammenfassung zu Referenzcode und Dokumentstruktur

  • Der vollständige Haskell-Code ist auf GitHub einsehbar.
  • Dort finden sich Details zur Haskell-Logik, darunter verschiedene Typen, Nachweispfade, Modulstruktur und Abfragefunktionen.

1 Kommentare

 
GN⁺ 2025-06-29
Hacker-News-Kommentare
  • Erfahrungsbericht von jemandem, der in den letzten zehn Jahren an verschiedenen großen britischen Regierungssystemen gearbeitet hat. Die Entwicklung britischer Regierungssoftware wird als Prozess beschrieben, bei dem jahrhundertealte Parlamentsgesetze in Code gegossen werden. Eine Schwierigkeit besteht darin, dass man bei Änderungen von Gesetzen – wie im Fall des HMPO-Passsystems – in jedem System alle betroffenen Stellen finden und anpassen muss. Der Staat vergibt diese Arbeit an teure Beratungsfirmen, die motiviert sind, Verträge möglichst lange laufen zu lassen und den Gewinn aus dem Auftraggeber zu maximieren. Dabei sind Systemqualität und Flexibilität sehr unterschiedlich, und wenn sich das Gesetz erneut ändert, wiederholt sich derselbe komplexe Ablauf. Regierungsdienste werden auch deshalb teuer, weil es an einer zentralen Stelle fehlt, die Entscheidungen trifft und dieses Problem koordiniert.
    • Die Frage kommt auf, ob staatliches Outsourcing jemals für irgendjemanden wirklich gut funktioniert hat; man habe noch nie von einer erfolgreichen Geschichte gehört, in der der Staat etwas ausgelagert und damit Erfolg gehabt habe.
    • Es wird gefragt, warum Outsourcing-Anbieter offenbar keine vertragliche Pflicht zu einem „funktionierenden System“ haben. Verwunderung darüber, dass für Systeme, die nur scheinbar funktionieren, aber faktisch nicht ordentlich laufen, überhöhte Rechnungen gestellt werden.
    • Jemand berichtet von einer kürzlichen Passverlängerung in Frankreich: Es gibt eine neue Plattform für sämtliche Unterlagen, man füllt online nur ein einziges Formular aus, ein einziger Offline-Termin reicht aus, alles war in zehn Minuten erledigt, und der Pass wurde schnell zugestellt. Großbritannien sei also nicht hoffnungslos; stattdessen solle man echte Entwickler fest anstellen und die Entwicklung selbst übernehmen.
  • Das erinnert an einen Fall, in dem das niederländische Steuerrecht mithilfe einer DSL automatisiert und in Code gegossen wurde; empfohlen wird dazu die Jetbrains-DSL-Fallpräsentation.
  • Beim Begriff „base case“ zur Erklärung der Struktur der Staatsbürgerschaftsentscheidung wird als Beispiel genannt, dass vor 1983 im Vereinigten Königreich Geborene unabhängig von den Eltern Anspruch auf Staatsbürgerschaft haben. Der Kommentierende stammt aus einem Land, in dem Staatsbürgerschaft mit einem einzigen SELECT auf eine SQL-Tabelle erledigt wäre, und findet so eine Struktur kaum zu glauben.
  • Zur Einschätzung, Haskells Syntax sei intuitiv, heißt es, sie wirke erst dann intuitiv, wenn jemand sie erklärt habe; vorher sei sie das nicht. Haskell habe zu viele Operatoren, und selbst beim Lesen von Code sei die Bedeutung nicht sofort klar, wozu ein Link zum Haskell-Operatoren-Tutorial geteilt wird.
    • Jemand behauptet, grob gezählt sei die Zahl der in Haskell tatsächlich verwendeten Operatoren fast dieselbe wie in JavaScript oder vielleicht doppelt so hoch. Haskell habe zwar eine hohe Einstiegshürde, aber auch Sprachen wie Java oder Python seien anfangs durchaus komplex und wirkten erst leicht, wenn man sie gelernt und verinnerlicht habe. Selbst die grundlegende Python-Syntax mit : und = sei für Anfänger eine Quelle der Verwirrung; Intuitivität sei daher das Ergebnis von Gewöhnung.
    • Es folgt die Diskussion, dass etwas, das nach einer Erklärung intuitiv wird, am Ende doch einem intuitiven Konzept ziemlich nahekommt.
    • Erwähnt wird, dass Larry Wall etwas Ähnliches über Perl gesagt habe. Tatsächlich sei nicht die Syntax das Hauptproblem; ohne Haskells eigene Konzepte wie Monaden oder Lenses sei Verständnis schwierig, selbst wenn die Syntax einfach wäre.
    • Der Hinweis, dass die meisten Operatoren im verlinkten Material für Programmieranfänger eigentlich ein normaler Bestandteil seien; ebenso verstehe man ein Java-Programm oder eine mathematische Formel nicht, wenn man sie ohne Kontext sieht. Der Maßstab sollte sein, wie viel man verstehen kann, nachdem man die Grundlagen gelernt und ein paar Tutorials durchgearbeitet hat.
  • Dieser Inhalt beginnt zunächst wie eine Parodie, entwickelt sich aber nach und nach zu einer ernsthaften und eleganten Lösung. Am Ende bekommt man selbst Lust, dieses „Spiel“ tatsächlich zu spielen.
    • Kommentar dazu, dass man es tatsächlich spielen könne, aber der Endgame-Abschnitt im späteren Verlauf deutlich schwieriger sei.
  • Jemand berichtet von tatsächlichen Erfahrungen mit der Einreichung britischer Passunterlagen in Japan. Je nach Situation könnten die erforderlichen Unterlagen unterschiedlich sein; die Person musste ihre eigene Geburtsurkunde und die des Kindes, das Original des japanischen Familienregisterauszugs, Übersetzungen, eine Bescheinigung über die Annahme der Geburtsanzeige und viele weitere Dokumente vorbereiten. Von jeder Seite wurden Farbkopien verlangt, sogar Kopien fremder Pässe. Das Verfahren sei extrem unklar, und letztlich müsse man immer weiter Unterlagen nachreichen, bis die Anforderungen irgendwann erfüllt seien.
    • Es wird erklärt, dass der Vater des Kommentierenden zwar im Vereinigten Königreich geboren wurde, der Großvater aber im Ausland, was die Lage noch komplizierter machte.
    • In Japan habe man keine Geburtsurkunden der Eltern verlangt. Die Person lebt in Ungarn, besitzt die ungarische und britische Staatsangehörigkeit und sollte die Geburtsurkunden beider Eltern sowie aller vier Großeltern vorlegen. Da die Ehefrau kaum Kontakt zu Verwandten hat, wurde ein beigefügtes Schreiben mit Begründung akzeptiert. Obwohl die mütterliche Staatsangehörigkeit bzw. Herkunft für die eigene Staatsangehörigkeit faktisch kaum relevant sei, habe man dennoch einen befreundeten Juristen gebeten, die Angaben online zu prüfen.
    • Es wird gefragt, warum von allen Seiten des japanischen Passes des Kindes Farbkopien eingereicht werden mussten.
  • Ein britischer Passantrag lasse sich vollständig online erledigen; auch Erstanträge für neue Staatsbürgerinnen und Staatsbürger durch Adoption, Einbürgerung oder Abstammung seien nur mit einem Mobilgerät möglich, sogar die Fotoaufnahme gehe ohne separate App. Nach eigener Erfahrung sei der Prozess effizient, schnell und intuitiv.
    • Jemand habe kürzlich das Online-System zur Passverlängerung genutzt und halte es für die beste Website, die ihm seit Jahren begegnet sei. Sie funktioniere perfekt auf alten Rechnern und mit alten Browsern, habe eine sehr einfache und für alle zugängliche UI sowie eine freundliche Schritt-für-Schritt-Navigation. Solches Design solle sich auch im Business-Bereich weiter verbreiten; großes Lob an HMPO.
    • Jemand hat das neue Online-System kürzlich zum ersten Mal genutzt und selbst in Kalifornien in den USA den Pass schon nach zwei Wochen erhalten. Eine kanadische Passverlängerung habe dagegen vier Monate gedauert und einen umständlichen Ablauf mit vielen Unterlagen erfordert. Man hoffe, dass das smartphonebasierte Pilotprojekt zur digitalen Verlängerung breiter eingeführt werde.
  • Jemand berichtet, dass die Vorbereitung des Passes für die Tochter in Japan wegen Problemen wie nicht übereinstimmenden Nachnamen der Eltern auf der Geburtsurkunde sehr mühsam war. Am Ende habe man die Behörde überzeugt, dass die Person selbst im Vereinigten Königreich geboren sei und die Staatsbürgerschaft besitze, sodass direkte Kinder diese ebenfalls erben könnten. Das habe zwar nicht den Standardanforderungen an Unterlagen entsprochen, sei aber immer noch vergleichsweise glimpflich verlaufen.
  • Ein Erfahrungsbericht über das stellvertretende Spielen des „Passport Application“-Spiels. Die Regel der „mutable history“ sei interessant: Da sich die Tatsachenlage bestimmter Unterlagen selbst innerhalb kurzer Zeit ändern könne, müssten bereits gescannte Dokumente manchmal erneut eingereicht und gescannt werden. Als Scherz wird das so gedeutet, als würden die Entscheider stillschweigend ein Multiversum anerkennen. Die Kommunikation mit den Service-Mitarbeitenden und Sachbearbeitenden in der Rolle von „NPCs“ fühle sich wie einseitiges Gebet an, ohne dass die Botschaft wirklich ankomme. Es wird vermutet, dass der OP Fan des Spiels Mornington Crescent sei, da Passantrag und Regelwerk ähnlich wirkten.
    • Im britischen System könne man seinen Namen frei ändern, sodass sogar die Mutter des Kommentierenden ihn unter dem Nachnamen ihrer dritten Ehe in die Geburtsregistrierung eintragen lassen konnte. Auch Geburtsurkunden seien also nicht vollständig unveränderlich, da nur einige Felder fest seien. Das Passamt vergesse zudem frühere Verläufe, sodass ein bereits erklärter Widerspruch beim Nachnamen im Zusammenhang mit dem Pass erneut zum Problem wurde. Bei Anrufen, E-Mails und Anfragen an die Sachbearbeitenden („NPCs“) habe man jedes Mal andere Antworten erhalten. Es sei in seiner Inkonsistenz wie GPT gewesen. Selbst bei denselben Unterlagen bekam eine Tochter Nachforderungen, während die andere den Pass ohne jedes Problem erhielt. Die Mutter beschwerte sich schließlich beim Parlamentsabgeordneten, worauf das Problem innerhalb eines Tages gelöst wurde.
  • Jemand berichtet, das „Passport Application“-Spiel vor einigen Jahren selbst gespielt zu haben. Die Person wurde im Vereinigten Königreich geboren und hatte einen britischen Vater, war aber wegen der Unverheiratetheit der Eltern und weil die Geburt nach 1983, aber vor der Regeländerung von 2006 lag, zunächst kein Staatsbürger. Irgendwann in den 2010er Jahren wurde das Gesetz von 2006 rückwirkend angewandt, und die Person erhielt die Staatsbürgerschaft zuerkannt. Die wichtigste „Quest“ war die Vorlage der originalen Geburtsurkunde des Vaters, und ganz am Ende musste man sogar noch an einer verpflichtenden „Treueeid-Zeremonie gegenüber der Königin“ teilnehmen, was ziemlich bizarr wirkte.
    • Wenigstens gibt es einen Abspann, als Witz gesagt.