A Computer Takes the LSAT: Introduction
In this series of posts I’m going to show you what it looks like when you use a programming language called Ergo Lite to get a computer to answer puzzle questions from an LSAT exam.
The LSAT is the standardized admissions exam that most lawyers in North America will have suffered through, so I’m hoping it is a sort of shared experience that gives us lawyers a shared starting point.
Of course, the LSAT questions stand as an analogy for encoding other sorts of legal reasoning about rules. If we can get a computer to answer LSAT questions, we can get it to do other useful things with laws, and contracts, and regulations, and the like.
I’m going to explain what I’m writing in code, as I write it. But this is not a logic programming tutorial, and you should not expect to know how to write code in Ergo Lite when you are done reading it. It’s expected that most of the technical details will go over your head.
That’s OK. Keep reading.
The point is merely to take the mystery out of what encoding legal reasoning looks like, and make it more obvious to lawyers, in particular, what the potential applications are.
The series will be broken up into a number of posts:
- Introduction: You are reading it now.
- Preamble: I will encode the rules that all 5 questions will use.
- Test Data: I will generate all possible fact scenarios in code, so the computer can find answers by searching through all possibilities.
- Question 6, 7, 8, 9, 10: One post each for each of the five questions.
- Conclusion: Wrapping it all up.
- Resources: Links to all of the source materials, software, and the raw code used in this series.
Ready? Let’s begin with encoding the Preamble.
Jason Morris is an LLM Candidate in Computational Law at the University of Alberta Faculty of Law, the operator of Round Table Law, and co-founder of Lemma Legal Consulting. He can be reached at @RoundTableLaw on Twitter. If you need help getting computers to do law, feel free to get in touch.