Live data from Hacker News

CatalaLang/catala: Programming language for law specification

github.com

51–60 of 301 posts

Re: CatalaLang/catala: Programming language for law specification

#51
post #43

I think what I'd rather see is a standardize test suite format for laws that spells out the intentions. Once I lived in a state that proposed a very simple anti-child porn law with good intent, but it was too simple. It read sort of like "anyone sending explicit pictures of minors from a cell phone will be guilty of conveying child porn". It was written in the proper legal jargon, but wasn't a whole lot more detailed…

I partly like this idea in theory, but believe it is literally 100% impossible to come up with a better "test suite" than "the actual court system?"

The courts have to evaluate what they think the law's drafters meant: Yeah, it says this, but it's obvious the legislators didn't mean for it to be read that way. It'd be nice if there were footnotes that expounded on what the authors were trying to accomplish to help courts interpret the laws.

Re: CatalaLang/catala: Programming language for law specification

#54
post #21

My hunch is, in any sufficiently large rule set, there will be inconsistencies. Handwaily think Gödel, or just the need for bounded domains in DDD. Humans (or, well, AI) is needed to cope with inconsistencies. That said, pointing out the fact of existence of inconsistencies could be very valuable. But a system needs to embrace them, not fight them.

Gödel’s theorems don’t imply inconsistency for all large systems (unless “large” is taken to mean something strange), just for systems which are both not super-weak in what they can say, and complete (or if they have their own consistency as a theorem).

I don’t think Gödel’s theorems particularly support the claim you’re making.

In fact, here is an argument that a consistent rule-set (either can be extended to something consistent and complete, or ) can be extended to be made arbitrarily large and consistent:

take a ruleset which is consistent, but for which there is something for which it has no prescription one way or the other (neither explicitly nor implied collectively by other rules) (I.e. “not complete”). Then, add a rule specifying that thing and nothing else which isn’t implied by that thing. This will be consistent, as if it were not, then the negation of the rule added would have already been an implication.

This will either yield a larger ruleset of the same kind (consistent and incomplete), or it will yield one which is consistent and complete. Gödel’s theorems show that if the ruleset is an axiom system which is sufficiently expressive (e.g. contains Peano arithmetic) then the latter cannot be the result. So in this case, there are arbitrarily large extensions of the rule-set.

If it isn’t an axiom system, or is one for a rather weak system, then the “the result is a consistent and complete system” option, well, why would you want it to be larger?

Edit: perhaps what you are calling “inconsistencies” are what I would just call “exceptions”/“exceptional cases”?

To my mind, “embracing an inconsistency” doesn’t seem to make much sense in the case of law? Something has to be what actually happens. We (whether fortunately or unfortunately) cannot bring an actual contradiction into reality.

Well, I suppose if one takes a sub-truth(not sure if this is the right terminology? I mean the opposite of super-truth) approach to vague statements, one might say that a somewhat-bald man causes the statement “that man is bald, and also that man is not bald” to be true (and also false), and as such “bring a contradiction into reality”, but that’s not what I mean by the phrase.

I mean there is no full precise-ification of any statement, which we can cause to be simultaneously true and false irl.

Those acting as agents of the law must behave in some particular way.

When legal requirements contradict, people will not satisfy both of them. Perhaps one will be considered to take priority. Perhaps a compromise position between the requirements will be sought. Perhaps it will be left to the judgement of those following it in a case-by-case basis.

But in none of these cases is a contradiction implemented. Can they really be said to be embracing the contradiction?

Upon writing this edit I realize that I’m probably misinterpreting that part of your comment. I suppose the thing you are saying to embrace is not the individual contradictions themselves, so much as the system’s rules-as-written having contradictions, and therefore the necessity of dealing with such contradictions when implementing the rules, as the scenarios to which the contradictory statements apply, occur.

Re: CatalaLang/catala: Programming language for law specification

#55
post #38
post #9

Lawyer here. Oh, this again. I suppose this looks relatively harmless, but I'm always wary of "law is like computer code." The impulse to think this can strongly solve any real problem in the law is intuitively attractive, but I strongly predict this mostly never happens; it's the law's job to be intensely practical in the face of hard-edged "computer-like" rules. If anything, you get goofy confusion about what thing…

I like to turn this argument around to see how absurd it is. Why not just take the existing law, and have a machine execute it in the style of a computer program? We wouldn’t need judges juries or lawyers. You’d just type the specifics of your case and any supporting documents/evidence into the computer and a verdict would pop out. Of course, the system could be used for other stuff too, like checking building code c…

Not a lawyer. My thinking is very likely naive as I have no experience in this matter.

I see two potential issues:

- Picking evidences. "Evaluating" the law might need access to all the possible evidences that could exist, but that would certainly never be true, so you'd need someone to know which evidences to present. You probably cannot rely on some interactive process asking you such and such evidences because it would be presenting evidence that would trigger evaluations of chunks of laws. I would guess a lawyer with good knowledge of the law would probably be needed for this.

- Setting precedents. Wouldn't the "automated" law evaluation run into unprecedented cases all the time? You'd need someone to constantly issue a verdict on unforeseen situations all the time, and I guess you'd need a judge for this.

Maybe it could work on many "trivial" cases though.

Re: CatalaLang/catala: Programming language for law specification

#56
post #22

Earlier quoted context omitted.

> If anything, you get goofy confusion about what things "are?" My go-to on this is always the "smart contract" -- which can be useful little bits of automated robot money moving code, but emphatically are neither "smart" nor "contracts." They are contracts—just not legal contracts. One of many types of contracts in the world that are not legal constructs.

> They are contracts—just not legal contracts I think this proves op’s point of goofy confusion for what things are.

Like, what language is? I'm not sure i get the point.

Re: CatalaLang/catala: Programming language for law specification

#57

Earlier quoted context omitted.

> If anything, you get goofy confusion about what things "are?" My go-to on this is always the "smart contract" -- which can be useful little bits of automated robot money moving code, but emphatically are neither "smart" nor "contracts." They are contracts—just not legal contracts. One of many types of contracts in the world that are not legal constructs.

Most contracts are intended to be enforceable by law, as far as I know. Which kind of non-enforceable contracts did you have in mind?

Social contracts? Personal contracts? God-sworn oaths? Covenants? The legal system is just a small corner of the universe.

Re: CatalaLang/catala: Programming language for law specification

#58
post #34

Completely unrelated to Catalan (Català), the language spoken in Catalonia (Catalunya). I think if someone wants to google a question about this, "catala language beginner hello world" won't help them much.

I can only conclude that they didn't know that. It's such a bad name; we won't even be able to google "catala lang" because ... Catala is also a "lang"!

Imagine someone creates a programming language called Russian. Good luck googling "russian lang".

Re: CatalaLang/catala: Programming language for law specification

#59
Will it help?

On the one hand, I think it would be fantastic, if you had automated tests for the law. For example, when German politicians introduced the "hacker law", you could have pointed out that "This new law would break the 'security researchers need to be allowed to do penetration testing' test".

On the other hand, "Brexit is in conflict with the Good Friday Agreement, we need a solution for Nothern Ireland." was known without machine readable laws and test, but politicians ignored it anyway.

Maybe what's needed is a law that outlaws test-breaking laws and requires politicians to fix the tests first, but I bet that would just result in a lot of "commented" tests.

Post reply on HN