Wednesday, March 12, 2008

Logic and Legal Drafting 101

In common English, "or" and "and" are often ambiguous. "Or" can mean either inclusive or exclusive or, among other things. "And" often means set union, which might correspond to either inclusive or exclusive "or" or logical "and." For example, "choose from a box containing X and Y" might mean "choose X or Y" (inclusive), "choose X or Y" (exclusive), or "choose X and Y" -- depending on whether you get to choose once, once or twice, or you must make two choices. There are any number of other ambiguities that arise when trying to deduce the logic, if any, behind many plain English uses of "and" and "or."

Nevertheless, it's not hard for a legal drafter to make the logic of a legal document clear. This should be Legal Drafting 101, a class which should be required in all law schools: use "X or Y, but not both" for exclusive or, "X or Y, or both" for inclusive or, "both X and Y" for logical and. It would probably save billions of dollars and many erroneous decisions per year if lawyers followed these three simple drafting tips. For that matter, technical writers and any other writers trying to make logical relationships clear might benefit from this advice.

Link here for a hilarious thread of some of America's smartest lawyers trying to decipher a Supreme Court opinion and decide whether it breaks one of De Morgan's Laws -- not (A or B) = not A and not B (where the "or" is inclusive). It may depend on what the meaning of "or" is.

3 Comments:

Blogger Daniel A. Nagy said...

Sometimes, I wish legal English had parentheses... Yet, I agree that these problems you mention can and should be avoided by careful drafting.

In fact, I think that limiting the complexity of logical expressions in legal documents is an important feature (of legal English) that is missing from E, making the latter ill-suited for the purpose of expressing contracts to which humans are expected to agree after inspection: with loops and complicated logic, it is possible to construct a smart contract that is essentially a cryptographic hash function in the sense that given the desired outcome, it is not easy to figure out what the corresponding conditions are.

6:56 AM  
Blogger Daniel A. Nagy said...

By the way, Nick, are you still actively researching smart contracts and computerized law in general? Are you supervising graduate students?

I am asking, because my business might need people who know this stuff in the (not too distant) future.

7:01 AM  
Anonymous nick said...

with loops and complicated logic, it is possible to construct a smart contract that is essentially a cryptographic hash function in the sense that given the desired outcome, it is not easy to figure out what the corresponding conditions are.

One can easily construct an English contract that nobody except some lawyers can understand, either. And they might bill you a very large number of very expensive hours to interpret it for you. At least all the logic and conditions of a smart contract can be simulated when the contract deals with simulable subject matter, such as finance. (Not that financial simulations are anywhere close to perfect, as Wall Street has again recently demonstrated).

My contract language, being event- and outcome-oriented instead of oriented towards machine instructions, is a simplification over trying to specify smart contracts in a machine-oriented language like Lisp or C. I expect further advances to occur from using user interfaces (forms, sliders, radio buttons, graphics representing the subject matter, and so on) to represent contractual conditions. Those user interfaces will be compiled into a target language, probably an event-oriented language similar to the one I have designed.

I'll contact you privately about your second question. I still think quite a bit about smart contracts, and occasionally still come up with ideas along those lines, which is something like active research. I've come up with a more advanced design for the contract language, for example.

1:46 PM  

Post a Comment

Links to this post:

Create a Link

<< Home