Das ist eine sehr interessante Frage.
Das Recht bewegt sich irgendwo zwischen der Alltagssprache mit ihren willkürlichen, sich ständig ändernden und oft weichen Regeln und der Programmiersprache mit ihren sehr spezifischen, definierten Regeln.
Legalese definiert tatsächlich seine Begriffe und daher haben viele im Gesetz verwendete Wörter (aber nicht alle!) Genaue Bedeutungen.
Bei der Interpretation schlägt jedoch Ihr Ansatz fehl, einen Fall einem logischen System zu präsentieren und ein Ergebnis zu erhalten. Das Gesetz ist eine allgemeine Definition, die an den jeweiligen Einzelfall angepasst werden muss. Oft ist dies ein trivialer, unkomplizierter Prozess, aber es gibt keine Garantie dafür und keine nicht-triviale Möglichkeit, die Grenze zu definieren.
Ein gutes Beispiel ist die Selbstverteidigung. In den meisten Rechtssystemen können Sie eine andere Person rechtmäßig verletzen, vorausgesetzt, Sie handeln in Notwehr. Der Wortlaut ist jedoch ausdrücklich kontextsensitiv. Zum Beispiel schreibt das britische Strafrecht:
Eine Person darf Gewalt anwenden, die unter den gegebenen Umständen zur Verhütung von Straftaten angemessen ist. [...]
In der Rechtsprechung wird definiert, was in bestimmten Fällen "angemessen" ist , aber es ist keine allgemeine Definition in den Büchern. Es gibt auch eine Rechtsprechung, die klarstellt, was genau "Prävention von Kriminalität" bedeutet. Da per definitionem noch kein Verbrechen begangen wurde, geschweige denn ein Gericht entschieden hat, dass die Klage tatsächlich ein Verbrechen ist, ist in diesem speziellen Fall ein angemessener Glaube ausreichend, der jedoch nicht tatsächlich gesetzlich verankert ist!
Um einen digitalen Entscheider über das Gesetz zu schaffen, müsste man nicht nur das Gesetz selbst, sondern auch die gesamte Rechtsprechung, viel natürliches Sprachverständnis und viele Regeln darüber, wie man all dieses Wissen anwendet , füttern, denn Manchmal ist die Rechtsprechung solide, manchmal kann man sie biegen (besonders wenn sie alt ist, da sich die Interpretationen im Laufe der Zeit ändern).
Und schließlich ändert und passt sich das Gesetz nicht nur im Buch, sondern auch in seinen Interpretationen an. Es gibt viele berühmte Beispiele höchster Gerichte, die ihre eigene 20-jährige Entscheidung außer Kraft setzen. Solche Anfechtungen der bisherigen Rechtsprechung treten sehr häufig auf, weil ein Richter entschieden hat, gegen diese geltenden Gesetze zu verstoßen, und er lieber das Risiko eingeht, vor einem höheren Gericht übergangen zu werden, als eine Entscheidung zu fällen, hinter der er nicht steht. Ich frage mich, wie Sie diese Fähigkeit in einem NP-vollständigen System modellieren würden.
Um die Komplexität eines Systems zu berechnen, müssen wir die Ein- und Ausgänge verstehen. Das Gesetz ist jedoch ein offenes System. Es kann buchstäblich alles in seiner Umgebung beeinflussen, insbesondere Veränderungen in Gesellschaft und Kultur. Die meisten Länder haben Gesetze in den Büchern, die kaum noch angewendet werden, weil sich die Gesellschaft verändert hat, aber der Gesetzgebungsprozess hinkt hinterher. Gesetze gegen Homosexualität sind ein aktuelles Beispiel. Oder das Todesurteil, das in den meisten Ländern jahrelang oder jahrzehntelang nicht angewendet worden war, bevor es aus den Gesetzen gestrichen wurde. Und nicht, weil es keine Fälle gab, in denen es hätte angewendet werden können, sondern einfach, weil die Richter es nicht angewendet haben, obwohl sie die Wahl hatten.
Diese Umgebungsfaktoren machen eine Abschätzung der Komplexität fast unmöglich, da wir sie nur dann in einer endlichen Liste aufzählen können, wenn wir alle Quantoren verwenden (z. B. "jede Art von ..." oder "alle ...").