diff --git a/packages/CLPBN/horus/LiftedCircuit.cpp b/packages/CLPBN/horus/LiftedCircuit.cpp index 01847dc26..eb1dec42e 100644 --- a/packages/CLPBN/horus/LiftedCircuit.cpp +++ b/packages/CLPBN/horus/LiftedCircuit.cpp @@ -526,6 +526,13 @@ LiftedCircuit::tryAtomCounting ( CircuitNode** follow, Clauses& clauses) { + for (size_t i = 0; i < clauses.size(); i++) { + if (clauses[i].nrPositiveCountedLogVars() > 0 + || clauses[i].nrNegativeCountedLogVars() > 0) { + // only allow one atom counting node per branch + return false; + } + } for (size_t i = 0; i < clauses.size(); i++) { Literals literals = clauses[i].literals(); for (size_t j = 0; j < literals.size(); j++) {