L4

tags
Rules as Code

Law-oriented programming language in development at SMU/Legalese.

Apparently there was some work happening toward an L4-based rule language pandoc type thing (https://www.youtube.com/watch?v=HIPnImfeGDk&list=PLPe2V49i5UNcU5DfojEmGJjEqTY39SOCu&index=13)

cf Docassemble compiler (demo)

[2022-09-21 Wed] CodeX-II meeting

Demo video: https://www.dropbox.com/s/4a0p31b2qh6e1s1/mengwong%20codex%20insurance%20Screen%20Recording%202022-09-22%20at%201.53.37%20AM.mov?dl=0
Trying to develop a user-friendly CDL, for the non-computer-scientist but tech-savvy person with legal needs
Regulative (EVERY _ MUST) vs constitutive (_ MEANS) rules
Contract as DFA
Qualification: LAP-ish horizontal/vertical conjunction/disjunction
– fin –
MW: Thanks to Martin Stecker, expert in logic/types/formal verification
PD: Did you get any interface generated for the insurance K? Like the yes/no/unsure UI you showed
MW: Yes, it'll work for the insurance K the same way
MG: Spec for L4? Questions about variables, negation, stratification, recursion, aggregation
MS: Still in progress. Best thing is to look at the intermediate language, which is first-order logic.
MS: Recursion is no problem in principle
MS: Think of logic programs as just predicate logic, avoid non-monotonic logic. We have several ways of dealing with defeasibility, e.g. preference relation over rules
MW: What would make this adoptable?
AK: Gut is there needs to be an intermediate step, most of legal community is never going to do even simple coding, but integrate with whatever they use now for drafting and there's potential.
PD: Need better insurance ontology
PD: What is the effort to convert an existing policy? What time/skills do you need? Increased power may actually be worse, because you need more skilled people to avoid shooting yourself in the foot
PD: IMRC, new standard contracts from Lloyd's, maybe requiring computable representation. Maybe regulators will require this kind of thing more broadly
MG: Strong intellectual affinity between L4 and Epilog. Our POV is treat CDL as output or interchange language. Needs to be a smart IDE somewhere. Difference between Epilog and CDL is contract and domain ontology.

Questions

Somewhat confused how the spreadsheet works. What does it mean for cells to be adjacent? Depends on the specific construct?
What kind of diagnostics can you do in the spreadsheet interface? Inline compiler errors, warnings?
What kinds of questions can you ask with L4? Is this true, when is this true, why is this true, what else is true, what would make this true, what information is missing
Data format for input to rules?