We associate a dNL (conjunction) function \({{F}^i_p}\)  to \(i^{th}\)  rule of every intensional predicate \(p\)  in our logic program. intensional predicates can use other predicates and variables in contrast to the extensional predicates which are entirely defined by the ground atoms. We view the membership weights \(m\)  in the conjunction neuron as a Boolean flags that indicates whether each atom in a rule is off or on. In this view, the problem of ILP can be seen as finding an assignment to these membership Boolean flags such that the resulting rules applied to the background facts, entail all positive examples and reject all negative examples. However, by allowing these membership weights to be learnable weights, we are formulating a continuous relaxation of the satisfiability problem. This approach is in some ways similar to the approach in dILP [1]}, but differs in how we define Boolean flags. In dILP, a Boolean flag is assigned to each of the possible combinations of two atoms from the set \(\mathbb {I}^i_{p}\) . They then use a softmax network to learn the set of winning clauses and they interpret those weights in the softmax network as the Boolean flags that select one clause out of possible clauses. However, as mentioned earlier, in our approach the membership weights of the conjunction (or any other logical function from dNL) can be directly interpreted as the flags in the satisfiability interpretation.
