Formal Modeling and Analysis of Legal Contracts using ContractCheck

12/06/2022
by   Alan Khoja, et al.
0

We describe a method and tool called ContractCheck that allows for the consistency analysis of legal contracts, in particular Sales Purchase Agreements (SPAs). The analysis relies on an encoding of the premises for the execution of the clauses of an SPA as well as the proposed consistency constraints using decidable fragments of first-order logic. Textual SPAs are first encoded in a structured natural language format, called blocks. ContractCheck interprets these blocks and constraints and translates them in first-oder logic assertions. It then invokes a Satisfiability Modulo Theories (SMT) solver in order to establish the executability of a considered contract by either providing a satisfying model, or by providing evidence of contradictory clauses that impede the execution of the contract. We illustrate the application of ContractCheck and conclude by proposing directions for future research.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/21/2023

Investigating Strategies for Clause Recommendation

Clause recommendation is the problem of recommending a clause to a legal...
research
12/13/2021

Ergo – a programming language for Smart Legal Contracts

We present a smart legal contract platform to support a wide range of sm...
research
10/09/2021

Dynamic Logic of Legal Competences

We propose a new formalization of legal competences, and in particular f...
research
11/22/2022

Contract Strengthening through Constrained Horn Clause Verification

The functional properties of a program are often specified by providing ...
research
09/08/2022

Bounded Satisfiability Checking of Metric First-order Temporal Logic

Legal properties involve reasoning about data values and time. Metric fi...
research
12/15/2020

Learning to Check Contract Inconsistencies

Contract consistency is important in ensuring the legal validity of the ...

Please sign up or login with your details

Forgot password? Click here to reset