B" a horn clause? If we convert it into disjunction forms, it will be "AvB" which is no..." /> B" a horn clause? If we convert it into disjunction forms, it will be "AvB" which is no..." /> B" a horn clause? If we convert it into disjunction forms, it will be "AvB" which is no..."/>

Is "~A=>B" a horn clause?

324 Views Asked by At

I just get confused for the definition of horn clause. Is "~A=>B" a horn clause? If we convert it into disjunction forms, it will be "AvB" which is not a horn clause.

So I wonder whether it is a horn clause. Thanks.

2

There are 2 best solutions below

2
On

~AvB would be a horn clause. Which is equivalent to A=>B. (At most one positive literal)

0
On

A Horn clause is a disjunction of literals with at most one positive literal, i.e.

~p1(...) \/ ~p2(...) \/ ... \/ ~pn(...) [ \/ p(...) ]

This can be, just for facilitating readability, written as

p(...) <= p1(...), p2(...), ..., pn(...).

So, if A and B are atoms, B <= ~A is not a Horn clause since this corresponds to the logical form A \/ B which has two positive literals.

The other way round, there are only positive literals allowed in the form written with "=>" and commas, and at most one literal / atom in the head of the implication. If there is no atom in the head, the clause is a query clause which is also legal.