Is business logic too much for classical logic?

Business logic is not limited to mathematical logic, as in first-order predicate calculus.

Business logic commonly requires “aggregation” over sets of things, like summing the value of claims against a property to subtract it from the value of that property in order to determine the equity of the owner of that property.

  • The equity of the owner of a property in the property is the excess of the value of the property over the value of claims against it.

There are various ways of describing such extended forms of classical logic.  The most relevant to most enterprises is the relational algebra perspective, which is the base for relational databases and SQL.  Another is the notion of generalized quantifiers.

In either case, it is a practical matter to be able to capture such logic in a rigorous manner.  The example below shows how that can be accomplished using English, producing the following axiom in extended logic:

  • ∀(?x15)(property(?x15)→∀(?x10)(owner(of)(?x10,?x15)→∃(?x31)(value(of(?x15))(?x31)∧∑(?x44)(∀(?x49)(claim(against(?x15))(?x49)→value(of(?x49))(?x44))→∃(?x26)(excess(of(?x31))(over(?x44))(?x26)∧equity(in(?x15))(of(?x10))(?x26))))))

This logic can be realized in various ways, depending on the deployment platform, such as: Continue reading “Is business logic too much for classical logic?”

Problems with Probabilistic Parsing

We are using statistical techniques to increase the automation of logical and semantic disambiguation, but nothing is easy with natural language.

Here is the Stanford Parser (the probabilistic context-free grammar version) applied to a couple of sentences.  There is nothing wrong with the Stanford Parser!  It’s state of the art and worthy of respect for what it does well.

Continue reading “Problems with Probabilistic Parsing”

Simply Logical English

This is not all that simple of an article, but it walks you through, from start to finish, how we get from English to logic. In particular, it shows how English sentences can be directly translated into formal logic for use with in automated reasoning with theorem provers, logic programs as simple as Prolog, and even into production rule systems.

There is a section in the middle that is a bit technical about the relationship between full logic and more limited systems (e.g., Prolog or production rule systems). You don’t have to appreciate the details, but we include them to avoid the impression of hand-waving

The examples here are trivial. You can find many and more complex examples throughout Automata’s web site.

Consider the sentence, “A cell has a nucleus.”:

Continue reading “Simply Logical English”