I think the idea that laws are strict rules that are enforced in a robot-like fashion is a common misconception, specially in engineering circles. That's not true in civil law and certainly not true in common law. There are very simple and straightforward cases that can be thought more or less like that, but almost all criminal cases and many civil cases too are very much a game of convincing other people and not satisfying a set of rules. Jury equity is a thing, technically you can acquit someone by not making any efforts into convincing the jury that your client didn't break the law.
The law does not have the last say, humans do. Loopholes are just loopholes as much as the court considers them to be valid.
The fact the process is sitting on a case for YEARS because they can't decide how to interpret the facts, or which laws apply, or what they mean, or even simply due to the procedure being enormously inefficient for everyone involved, in fact usually means that whether you are found guilty or not in the end... you lose.
And humans can always have the last say. Computers don’t take that away from anyone. Having computable law doesn't mean 100% of it is computed by dry algorithms.
It is very much a benefit that it's interpretative and slow. We want it to reflect the culture and people's common sense. We want it to be as fail proof as possible (even if it take ages to come up with all the evidence and arguments). And fail proof here is not to interpret the law in the most pedantic of ways, but in the way that is the most just. The reason for lawyers and courts are exactly the edge cases that are difficult to agree upon.
Maybe a good law would be that if you can't be arsed to write the law in a formal language, or can't figure out how, then it shouldn't be a law in the first place :)
They are. It is called turbotax and it is built and maintained by Intuit, who also has powerful lobbyists.
I think what you want is a non-spaghetti open-source software program maintained by a governance structure which is both
A. Competent and communicative.
B. Accountable to the same public which is in charge of doing performance reviews for the current legislators.
You mean natural languages. Formal languages (of which programming code and math are examples) are also human languages, but more well defined and usually designed by few (opposed to emerged from usage by many).
There is of course a separation between safety and standards that is hard for laws and codes to grasp. The separation between intention and results is one of the reasons why you want these things explicitly defined as part of a formal specification for a law, it makes it possible to determine whether it is having the desired effect, and if it is not it could .e.g trigger a clause removing the code from being in effect. Rent controls would be a perfect example for this, though the whole point of my argument in my top level response is that trying to measure whether rent control is effective is the hard part (every serious study of rent controls shows that they are not).
An interesting aspect of law-related automation concerns cases that could "be resolved with mathematical efficiency", but for whatever unfortunate reason end up slipping through the cracks in enforcement. Unequal, unpredictable and discretionary enforcement is often source of corruption and inequity, so filling those gaps would be welcome.
Because, and this is where law just messes with my brain, the field deals as much in the NORMATIVE as it does in the objective and subjective. in my limited understanding...I'm left feeling like the normative is treated as objective by those in the field, but looks subjective to those outside of it.
I wouldn't trust a computer to be my doctor, and I wouldn't trust one to be my lawyer either. As assistants to my doctor and lawyer, sure, but to replace them? Never.
This legalese reminds me of UML. The only truly comprehensive way to capture the essence of a program is to write the program.
That sounds very plausible. But do you think that human lawyers might gradually become a profession of people whose job partly involves interfacing with a software implementation of (large) parts of the legal code? And do you think there is any hope for defining (large) parts of the legal code in a formal language with well-defined semantics?
Computational law does not nor should it mean limiting ourself to purely objective concepts and automatically-resolvable disputes. We can still introduce as abstract parameters all the fuzzy humanistic things we want. This just forces us to separate those from the "boring parts", which will make everything more productive. This is a lot like how with fancy dependent types you can pass around proofs of undecidable/non-computable things -- "undecidable" and "subjective" are equally bad at run-time.
Done right, right, this is also good for fairness because it's exactly to the extent the objective and subjective stuff is all mixed together that "the party with the most expensive lawyers wins". All the drudgery keeps everyone but the rich out.
-------
All that said, there are still immense challenges to pulling this off. Doctors and lawyers are insanely protected classes in this country --- the last, most powerful guilds --- and everything is designed against this. In "physical small repeatable goods" capitalism, well you can always try to compete end-to-end to the final consumer and slowly eck out market. But court cases and ex lawyer judges make for relatively-rare, high-risk proving ground, and foxes guarding the hen-house!
Also, I am skeptical of this beginning with contracts / private sector and not law itself / governments. The way we write programs today is like a Gustafson's law vs Amdahl's law situation in which rather than reducing complexity/mental drudgery using machines, we simply fill up our expanded capacity with more --- from hand-calculating rocket trajectories to debugging garbage bloated software stacks. If as increased corporate profits went to longer EULAs and other paperwork, this could unleash a torrent of non-sense orders of magnitude greater: please sign these 50 MiBs!
If instead we had a standard library of contract components that could be composed in verifiably compatible ways, that would be a huge achievement. I think that's what legalese is doing.