PROLEG is a programming language for encoding legal rules developed by Ken Satoh and others at the National Institute of Informatics in Japan.

An academic paper describing ProLeg is available at jurisin2010-ksatoh.pdf (

From the paper, it seems that the primary advantage of PROLEG over Prolog is that PROLEG provides a different syntax for dealing with the semantics of negation as failure in the encoding of statutory texts. Evidence which, if it exists defeats a conclusion, and if it does not exist has no effect, is described as an “exception” with regard to that conclusion rather than being described using “not”.

The difference between the two is evidently that the semantics of negation as failure “there must be no evidence that the following is true”, was not obvious to legal readers of the Prolog text, who were concerned that this expression did not take into account differences in who was obliged to prove what, or intuitively express the idea that the relevant matters are presumed not to hold in the absence of their having been raised explicitly.

Note that ProLeg is listed as “commercial” in the tags only because I am unable to find any way of accessing the actual software implementation of ProLeg itself.