← Back to context

Comment by applepple

5 years ago

Judging by how most people write code today, I find this idea terrifying. I sometimes wonder if it would be better if we went back to an ancient-Roman style legal system which maximizes the human interpretive element rather than attempts to remove it.

It's already the case in many countries today that there is too much focus on the wording of the law and not enough on the intent. People try to use a rigid fixation on the importance of words to twist the law in any direction which benefits them, even in ways that don't feel right.

We risk a Kafkaesque situation.

> Judging by how most people write code today, I find this idea terrifying

Most people today don't write code for safety critical systems. The abstract mentions they already uncovered a "bug" in an active law by rewriting it in their language, so it could be an immensely helpful tool for finding edge cases and loopholes in that mess.

> It's already the case in many countries today that there is too much focus on the wording of the law and not enough on the intent

Again, as the abstract mentions this is intended for laws that are meant to be interpreted 100% literally like an algorithm. Those exist and those are also exactly the ones that should be absolutely consistent.

The real problem I see is that clear, loophole-free laws are often not in the interest of the lawmakers. You only need to take a look at the underhanded ways various parties are trying to undermine privacy.

  • Another problem is that it will probably increase the proliferation of strict liability offences.

    The fact that a law is internally consistent and free of loopholes does not necessarily mean that it is a good law but an algorithmic approach to creating such laws risks making their creation too easy so that we end up with a large body of law that can't be argued against because it has been 'proven' correct.

    I'm reminded of a remark that Donald Knuth made regarding a piece of code. It went something like this: "Be careful if you use this, I have merely proven it correct but not tried to run it."

    • I'd urge people to consider their experience writing unit tests. It's not uncommon for me to write a test that my code fails, not because the code was wrong, but because my test was wrong. The same applies to proofs. You can prove that your code does something, but that doesn't prove it does what you wanted. It's easy for us to understand, but I could imagine lay people misinterpreting it.

  • >> Judging by how most people write code today, I find this idea terrifying

    > Most people today don't write code for safety critical systems. The abstract mentions they already uncovered a "bug" in an active law by rewriting it in their language, so it could be an immensely helpful tool for finding edge cases and loopholes in that mess.

    I'll give you an example from a field that I (unfortunately) have a reasonable amount of experience of where the law and contracts are supposed to be interpreted 100% literally like an algorithm: structured finance (eg the subject matter of the 2008 financial crisis). The prospectus of a structured security like a mortgage bond is typically a hundred or more pages of very dense legalese that was worked on intensively by highly-specialised lawyers and bankers for months. Its intent is to set up a small special-purpose company with strict rules on how it operates down to the last penny and zero discretion. This allows investors (in theory) to understand how the bond will perform.

    The opening chapter of my introductory textbook on structured credit analysis says the author (who has been part of those teams for years and has worked on hundreds or possibly thousands of bonds) has never read a bond prospectus for a structured security that does not contain serious drafting errors. I personally worked on a bond for months and read, edited and commented on the bond model and prospectus hundreds of times. We certainly were trying to make our prospectus as simple, clear and loophole-free as possible. Then a few years after it launched we discovered we had made a big mistake in drafting it that had gone unnoticed by me, the expert bankers and lawyers and all the investors so far. Luckily we were able to fix the problem without negative consequences. There is literally no chance that this error would have been found or solved by a formal system and if anything it would actually have been worse.

    Some things are complex enough that they are just very hard to do. The existing system allows for that by having a rigorous process of dispute, interpretation and argument to decide complex questions post facto.

    • > we discovered we had made a big mistake in drafting it that had gone unnoticed by me, the expert bankers and lawyers and all the investors so far. There is literally no chance that this error would have been found or solved by a formal system and if anything it would actually have been worse.

      There is no chance that a formal system wouldn't have revealed this bug? Static analysis and simulations wouldn't have helped?

    • > Some things are complex enough that they are just very hard to do.

      I agree with this wholeheartedly. Engineers have the ability to automate some very complex issues. But there will always be a class of issues beyond automation, simulation, analysis, etc. and we just have to accept that the only way to solve them is with slow, hard, error-prone work.

  • That line in the summary is a bit misleading. The authors didn't find a "bug" in any law - instead they found a corner case that wasn't coverred by an online tool hosted by the French government to estimate family benefits under French law:

    > After close inspection of the OpenFisca code, a discrepancy was located with the Catala implementation. Indeed, according to article L755-12 of the Social Security Code, the income cap for the family benefits does not apply in overseas territories with single-child families. This subtlety was not taken into account by OpenFisca, and was fixed after its disclosure by the authors.

    Here's the pull request for their fix to the benefits simulator: https://github.com/openfisca/openfisca-france/issues/1426

  • There's a real slippery slope issue here too though, for several reasons, that I'd expect would lead to overuse.

    It's a fancy new thing that will be branded as helping to avoid mistakes, reduce legal system costs, increase consistency, etc.

    So, it will be applied to existing laws more generally than the abstract suggests it should be.

    New laws will be made with this in mind, increasing application regardless of whether the new laws are actually literally interpretable.

    It will become entrenched and hard to remove as allocated funds to pay people to do the same jobs disappear.

To me it seems like you contradict yourself.

> it would be better [to adopt a law system] which maximizes the human interpretive element rather than attempts to remove it.

> twist the law in any direction which benefits them, even in ways that don't feel right.

The first statement seems to say that the more humans can interpret the law the better, the second statement seems to imply that people actually doing such interpretation with the tools available now is a bad thing.

It's a good thing your comment is not a legal text though. Otherwise some formalism would be quite welcome to derive the intended meaning.

  • I don't think it's a contradiction.

    If you follow the exact wording of the law, it's easier to find loopholes (like a hacker looking for a breach).

    If you follow the intent of the law, then it's much harder. A judge will see if you acted in bad faith, if your actions are against the spirit of the law.

  • There is no contradiction. Countries which put more focus on the intent of the law (like Europe) tend to have fairer outcomes than countries which focus too much on the wording of the law like in the US. I read that many criminals in the US get away with crimes because of failures of procedure by the prosecution for example; this is a clear sign that there is too much focus on the wording of the law. If intent counted more, then nobody would be acquitted of a crime on the basis of a technicality.

    It's the fact that people have accepted the primacy of the written word that they allow themselves to be swayed to accept verdicts which don't make sense. It's important to factor in the fact that criminal justice involves multiple jurors, so you don't want some outdated wording written in the 1900s to allow one bad juror to use wording of a law or precedent to convince other jurors of a conclusion which best matches the wording but defies common sense.

    It's like in the US constitution, there is this paragraph:

    ”No State shall enter into any Treaty, Alliance, or Confederation; grant Letters of Marque and Reprisal; coin Money; emit Bills of Credit; make any Thing but gold and silver Coin a Tender in Payment of Debts"

    And yet today the US government (which is clearly an alliance of states) pays back its debts by printing more money not backed by gold. People have used the wording "No state" to imply that the Federal government is not a state and therefore, it doesn't apply. But clearly this defies common sense about the intent of the law which was to prevent the government from printing unlimited money not tethered to any scarce asset to inflate away its true debt... And yet this is exactly what the federal government (the alliance of states) is doing nowadays.

    • > And yet today the US government (which is clearly an alliance of states)

      That's not correct: The "alliance of states" was under the (superseded) Articles of Confederation — the governance failures of which led to the 1787 constitutional convention. In contrast, the very first words of the Constitution state explicitly that "We, the People of the United States" [emphasis added] were joining together to establish a national polity that transcended the states.

      > People have used the wording "No state" to imply that the Federal government is not a state

      It's far, far more than just a mere implication — it's a foundational assumption. See, for example, the Supremacy Clause of the Constitution. [0]

      [0] https://www.law.cornell.edu/wex/supremacy_clause

    • I strongly agree with your main intent, i.e. that law should be interpreted by humans. However,

      Your fact " I read that many criminals in the US get away with crimes because of failures of procedure by the prosecution for example;"

      which you interpret as

      "this is a clear sign that there is too much focus on the wording of the law. "

      could also be interpreted as:

      police often use illegal means to target people and fabricate evidence, and the US's well-functioning legal system stops this.

      1 reply →

    • >People have used the wording "No state" to imply that the Federal government is not a state

      in a document delineating what qualifies as states and what qualifies as the federal government with all sorts of text about relations between the two it would seem to be a really reasonable implication to make.

      Furthermore your example is in a paragraph that starts "No State shall enter into any Treaty, Alliance, or Confederation", by your logic it follows that the Federal Government cannot ever enter into any Treaty, Alliance, or Confederation because the Federal Government is after all a State.

      3 replies →

    • If intent counted more, then nobody would be acquitted of a crime on the basis of a technicality

      One person's "technicality" is another person's last hope to have a core principle enforced like "innocent until proven guilty".

      Intent is a squishy thing that's open to endless subjectivity and biases. Intent should only be used when the letter of the law isn't sufficiently clear.

      Separation of Powers was one of the most brilliant concepts undergirding the US Constitution. It's already been damaged pretty badly over the years. We don't need to double down on that damage by insisting upon having judges ignore the wording of laws so they can go with their feelings regarding intent.

      1 reply →

    • IANAL and I am not too familiar with the US constitution, but the paragraph you mentioned seems to have a very clear intention: To forbid the individual states from a) performing diplomacy/foreign policy on their own and b) creating their own currency.

      At this point, I want to point out that while a lot of discussion always surrounds the status and the individual rights of the states, I think it really is clear that the US is the state (as in nation) and the individual states, while they have some autonomy, are the inseparable parts that the US is made of, just like in other federal states (nations).

      From that perspective, I think the justification for the paragraph you mention is clear: The states are not independent, and therefore they can't have diplomatic ties with other nations. In diplomacy, this has always been the case: Diplomatic ties always exist between independent nations, never between an independent nation and a federal, dependent state. There is nothing like an "Embassy of the U.S. State of Texas to the United Mexican States" since the State of Texas can't have diplomatic ties on its own.

      What you mention regarding printing more money does not apply here: The paragraph you mention talks about the US states, but not about the (nation) state itself, the USA. There exists no alliance of states, rather there is a federal republic consisting of states (which in turn are not allowed to have any diplomatic ties of their own). The (nation) state represented by the US government is obviously not a (federal) state inside the US, that would be absurd.

    • > But clearly this defies common sense about the intent of the law which was to prevent the government from printing unlimited money not tethered to any scarce asset to inflate away its true debt...

      That is a really, really strained interpretation of this clause. Because these exact words are used to give these powers to other entities in government:

      Article I, Section 8, clause 5: [The Congress shall have Power] To coin Money, regulate the Value thereof, and of foreign Coin, and fix the Standard of Weights and Measures;

      Article I, Section 8, clause 11: [The Congress shall have Power] To declare War, grant Letters of Marque and Reprisal, and make Rules concerning Captures on Land and Water;

      Article II, Section 1, clause 2: [The President] shall have Power, by and with the Advice and Consent of the Senate, to make Treaties, provided two thirds of the Senators present concur

      Some of the other things forbidden with "No State" are also expressly forbidden to Congress itself. How is it common sense that "No state" also includes "the federal government" when the federal government is sometimes given the power which is allotted to "no state" and sometimes expressly forbidden as well that which is allotted to "no state"?

    • > I read that many criminals in the US get away with crimes because of failures of procedure by the prosecution for example;

      How does anyone know they got away with a crime if their cases never went to trial? Isn't that exactly what a trial is there to establish.

      The USA has a long history of village folk "just knowing" that an accused is guilty. Seldom worked out well.

      Pilots have procedures they must follow. So do cops. They just need to do their jobs properly.

      3 replies →

"Risk"

Yeah, we crossed that Rubicon like Evil Kenevil jumped the Grand Canyon a long time ago.

I'd like to see this sort of rigor applied to the tax code so that we can all agree that "complexity is a subsidy" and just scuttle the whole mess in favor of something not an iron rod of oppression.

Clearly it needs an easy way to drop to a command prompt for input.

Seek death penalty? Abort, Retry, Fail?_

I concur, and as a result the same goes for contracts.

A friend recently told me "I never needed a lawyer because someone did not understand a contract, but several times because someone tried to finagle with legal sophistry".

Related:

When trying to compare the legal systems of various countries, it is instructive to note that they differ by large amounts. The basics of Law, and the governing principles and assumptions behind Law, vary quite a lot. Even within countries, the law is often not the same everywhere. Wikipedia has a good map of the 'basic' law systems used throughout the world:

https://en.wikipedia.org/wiki/List_of_national_legal_systems

> Judging by how most people write code today, I find this idea terrifying.

Writing code is not a single activity, it is a modern means of communication and information transmission. Code is written for a vast range of purposes, some better suited to less rigorous programmers than others. No-one is asking or expecting the authors of bad code that you have in mind to formalize legal systems. The latter task will be on the rigorous side of programming, presumably leaning heavily on static type checking / automated theorem proving.

As a programmer, and indeed a logical thinker in general, I find the fact that there is any human interpretation to be horrifying. At worst this means undesirables get worse punishments, and at best it means when going into the legal system, you have no idea what to expect. Indeed, you have no way to manage the risk that the law presents to you. Your only hope is to avoid it at all costs.

Can we solve this by generating example scenarios from the code and putting them to a common sense test? This is an integration test, of sorts.

Not if its functional programming. And it has a chance to move just about the same speed as the legal system.