I was trying to come up with a system that would evaluate bylaws for an organization as to determine their underlying logic.

I think a first-order predicate system would work for representing the rules, which could be translated from the text via part-of-speech tagging and other NLP techniques.

Is there a systematic way to interpret the first-order logic rules as a whole, or some type of ML architecture that would work as a second layer to find similarities between the elements.

For example,

List of fun activities:

  • golf
  • coffee break
  • pizza


  1. On Friday, we play golf

  2. On Friday or Saturday, we take a quick coffee break, and if it's Saturday, we get pizza

Conclusion: our group has fun on weekends

It sounds far fetched, but I'm curious if it's possible. I also realize that perhaps more first-order logic would be a better fit for driving the conclusions of the second layer.

  • 3
    $\begingroup$ PROLOG has its roots in first order logic. Articles on the theoretical underpinnings of the language might be useful. $\endgroup$
    – Kramii
    Jun 15, 2012 at 16:18
  • $\begingroup$ @Kramii Yes, that's been on my "todo" list for quite some time, great suggestion. $\endgroup$
    – jonsca
    Jun 16, 2012 at 12:16
  • $\begingroup$ Predicates are just one step. Do you mean we play golf coming Friday, or every Friday, or every Friday except on holidays, or every Friday except when we have something more important to do, or ... Who are we, the same set of people each time? What if someone is ill? Etc. etc. etc. $\endgroup$ Aug 15, 2012 at 7:41
  • 1
    $\begingroup$ Some 20 years ago I heard a lecture from someone at Tilburg University who was working on this problem in a legal context. I think if you do a search for 'expert system' you'll find plenty of relevant literature. $\endgroup$ Aug 15, 2012 at 7:48
  • $\begingroup$ @reinierpost I always thought of expert systems as a way to put domain-specific knowledge into a system like this. I think that's a start, but I'm also looking for a way to do this without a lot of input from the "outside", I think. $\endgroup$
    – jonsca
    Sep 8, 2012 at 7:52

1 Answer 1


The trick here is that this works well provided that your rules can be expressed in predicate form. Is golf still fun if it's raining, or if you play poorly?

If you need something more flexible, you might want to look at some statistical/Baysean tools. There, you'd say that golf had a high probability of being fun, not that it was always fun all the time ever.

  • $\begingroup$ Do you know of any specific statistical/Bayesian tools, offhand? $\endgroup$
    – jonsca
    Aug 15, 2012 at 4:07
  • $\begingroup$ I accepted the answer, but as in the above comment, any further info would be appreciated! $\endgroup$
    – jonsca
    Sep 8, 2012 at 7:49
  • $\begingroup$ I don't know too much detail about probabilistic reasoning, you probably want to do some reading on "Baysean Inference", but I don't know of packages offhand that provide that capability. $\endgroup$ Sep 9, 2012 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.