This is the conclusion to a series of posts about encoding LSAT Puzzles in the Ergo Lite programming language. To start from the beginning, go to the introductory post.
If you’ve followed along this far, thanks for coming along for the ride. I hope it was interesting.
As I said at the beginning, the point is not that now you should now know how to write code in Ergo Lite. Far from it.
The point is that I hope you see why this is pretty cool:
?- question(?x,?y).?x = 6
?y = c?x = 7
?y = a?x = 8
?y = d?x = 9
?y = e?x = 10
?y = d5 solution(s) in 2.297 seconds; elapsed time = 2.325Yes
It took my laptop 2.3 seconds to answer those five questions to the LSAT, by searching through every possible fact scenario that complied with the rules in the preamble and the questions. And I didn’t tell it what the possibilities were. I just described what “valid” meant.
I didn’t tell it how to answer any of the questions. I just told it what the answers were, and asked it which ones were true.
And to do it, I needed to exercise my ability to interpret technical rules written in English. The very thing I studied to learn how to do at law school.
That gets my imagination going.
Imagine if instead of a preamble, it was a law. Imagine if instead of questions on a test, it was questions from a client. Imagine those questions could be written in Ergo Lite using a tool like Blawx, where
question(?x,?y) turns into this:
Imagine the code generated by Blawx could be used to power a user-friendly web tool that would allow your client to get an answer to their legal question without your being involved at all, all using completely free software. (Spoiler: It can.)
Imagine junior associates wrote code instead of memos, and legal knowledge resources turned into something that lawyers could use without having to read them.
Imagine you could automatically test proposed contracts for bugs by running through tens of thousands of randomly-generated fact scenarios in a few minutes.
Imagine the government provided encoded versions of the laws they wrote.
All that stuff is possible. That’s what I’m hoping lawyers will be better able to see.
And very importantly, it’s not possible without lawyers. It’s possible only when lawyers start using computers for reasoning the way accountants have been using computers for math for the last 40 years.
If you’re interested in working toward making some of those possibilities into realities, so am I. Let me know how I can help.
If you’re interested in seeing the source code for the project or getting access to the tools I used, check out the resources page.