diff --git a/packages/logic-solver/logic.js b/packages/logic-solver/logic.js index 337da15e12..a9f7581cd4 100644 --- a/packages/logic-solver/logic.js +++ b/packages/logic-solver/logic.js @@ -190,6 +190,8 @@ Meteor._inherits(Logic.OrFormula, Logic.Formula); Logic.OrFormula.prototype._genTrue = function (solver) { return [new Logic.Clause(solver._toN(this.terms))]; }; -//Logic.OrFormula.prototype._genFalse = function (solver) { - // XXX -//}; +Logic.OrFormula.prototype._genFalse = function (solver) { + return _.map(this.terms, function (t) { + return [new Logic.Clause(-solver._toN(t))]; + }); +}; diff --git a/packages/logic-solver/logic_tests.js b/packages/logic-solver/logic_tests.js index b801916f4c..c0f0d9a3cb 100644 --- a/packages/logic-solver/logic_tests.js +++ b/packages/logic-solver/logic_tests.js @@ -20,4 +20,6 @@ Tinytest.add("logic-solver - Logic.Or", function (test) { s.require(Logic.or('-c', 'd', 3)); test.equal(s._clauseData(), [[3, 4], [-5, 6, 3]]); + s.forbid(Logic.or('a', '-b')); + test.equal(s._clauseData(), [[3, 4], [-5, 6, 3], [-3], [4]]); });