I was honoured to be named the ABA Innovation Fellows for 2018/2019. As I go through that fellowship, I want to share my story and the story of my project here. To start, I’d like to give you a little background on myself, and what I study.
I am an LL.M. student 👨🎓 in Computational Law 👨💻⚖, at the University of Alberta. I’m studying declarative programming languages that can be used to automate legal reasoning.
😕 What does that mean exactly?
Yeah, I know. It’s a mouthful. “Declarative programming languages” are one of the oldest forms of artificial intelligence. There are two main streams of artificial intelligence: rules-based, and data-based.
The basic idea of rules-based artificial intelligence is that you take what the human expert knows, and you turn it into a set of rules that a computer can follow to provide answers to complicated questions.
Data-based artificial intelligence, however, is what most people think of as AI today. Machine learning, reinforcement learning, these things are all data-based AI. The basic idea of data-based artificial intelligence is that you can use statistics to get a computer to recognize patterns in data. Instead of rules provided by experts, it requires data that it can do a statistical analysis of.
My research is into rules-based AI.
🤔 OK, so what is declarative programming?
Declarative programming tools are tools that allows you to set out rules, and let the computer figure out the process for following them.
Yeah, OK. Sorry.
Imagine a sign that said “If you are on the grass, get off the grass. If you are not on the grass, and you are at the edge of the grass, and you are moving toward the grass, stop and turn away from the grass before moving again.”
That sign is not telling you the rule. It’s telling you a procedure for following the rule. The sign gives you a process, not an outcome for you to seek. If you talk to a computer the way that sign is talking to you, you are doing procedural programming. And that’s how most programming languages are built, and what most programmers spend their time doing.
Now consider a sign that says “Please keep off the grass.” That is a rule. You have been given the rule, and you are supposed to figure out to use that rule to govern your behaviour. If you write software for a computer that way, by giving it rules, and letting the computer figure out how to follow them in order to achieve certain goals, that’s declarative programming.
And Declarative Programming is Old? 👴
Yeah. The first declarative programming language for deductive logic was Prolog. It’s about 40 years old now, like me. People have been writing about the potential for these tools in the legal realm for a long, long time. Richard Susskind, the world’s leading legal technology futurist, wrote his PhD, and subsequently a book, on the topic of using expert systems in the law. Those expert systems were built using Prolog. That was in the mid-80's.
OK… But Why Declarative Programming and Law? ⚖
When we write “keep off the grass” signs, we write them declaratively, not procedurally. The same goes for legislation, regulations, and a wide variety of legal rules. We use deductive logic, a lot of the time, to figure out what to do with them.
So people who work with rules for a living would be able to get more out of their software tools if their software tools were also written in a declarative way to use deductive logic. The process of translating from the sign, or law, or regulation into the code is less painful if both versions use the same paradigm.
So declarative logic programming tools are really well designed for solving some sorts of legal problems. And that was recognized very early on. The guy who invented Prolog, Bob Kowalski, proceeded almost immediately to attempt to encode pieces of UK legislation with it.
Hasn’t ‘New’ AI Made This Stuff Obsolete?
Not yet, and there doesn’t seem to be any immediate sign of that happening. One of the downsides of new data-based artificial intelligence techniques is that they lack the ability to explain their reasoning. Alpha Go can beat the best human player at Go 🏆, but it can’t teach anyone 👩🏫 except by being observed. Rules-based techniques are able to explain their reasons 💭, which is a really important feature in legal applications for a bunch of reasons.
One reason we explicability in legal AI is ethical concerns. If you don’t understand a machine’s reasoning, you don’t know whether it is mimicking unjust biases that exist in the data.
But Wait… If It Has All This Potential, Isn’t Obsolete, Has Existed for 40 Years, Isn’t Everyone Already Using it? 🤷
Not by a long shot. It is still a relatively unknown category of tools. It has seen recent growth, with the advent of companies focusing the use of this technology directly on the legal realm, such as Neota Logic, and open source tools that do similar things, like Docassemble. And it is better-known in other fields. But it is still very much at the fringes of the legal profession.
Answering that question is part of why I’m taking the degree. There are a lot of theories out there. Some of them have to do with lawyers, and law firms. Some of them have to do with the technology itself. And some of them have to do with problems in the way we write laws.
My plan for my thesis is to find as many of these tools as I can, learn what they can do, try to encode the same law in a couple of them and see what that experience teaches me, and then make some suggestions about how the tools should change, how the law should change, and how the lawyers and their firms should change in order to realize more of that potential. And also to see if I can understand what has gone wrong for the last 40 years, and what might help.
If you’re interested in all of that, let me know and I’ll shoot you my thesis when it’s done. But stay tuned here for a high-level introduction to my fellowship project, docassemble-openlcbr.