/** * Returns the corresponding (equivalent) value expression in CNF. Makes * a copy of the original value expression, leaving it unmodified. * * @param vexpr * @return null if the value expression is already in CNF, an equivalent * value expression in CNF otherwise */ static public IValueExpressionNode toCNF(final IValueExpressionNode vexpr) { final IValueExpressionNode copy = (IValueExpressionNode)BOpUtility.deepCopy((BOp) vexpr); return pushDisjuncts(pushNegations(copy)); }
/** * Returns the corresponding (equivalent) value expression in CNF. Makes * a copy of the original value expression, leaving it unmodified. * * @param vexpr * @return null if the value expression is already in CNF, an equivalent * value expression in CNF otherwise */ static public IValueExpressionNode toCNF(final IValueExpressionNode vexpr) { final IValueExpressionNode copy = (IValueExpressionNode)BOpUtility.deepCopy((BOp) vexpr); return pushDisjuncts(pushNegations(copy)); }
pushDisjuncts((IValueExpressionNode) functionNode.get(0))); final IValueExpressionNode right = pushNegations( pushDisjuncts((IValueExpressionNode) functionNode.get(1))); (ValueExpressionNode)pushDisjuncts( (IValueExpressionNode) functionNode.get(0)), (ValueExpressionNode)pushDisjuncts( (IValueExpressionNode) functionNode.get(1)));
pushDisjuncts((IValueExpressionNode) functionNode.get(0))); final IValueExpressionNode right = pushNegations( pushDisjuncts((IValueExpressionNode) functionNode.get(1))); (ValueExpressionNode)pushDisjuncts( (IValueExpressionNode) functionNode.get(0)), (ValueExpressionNode)pushDisjuncts( (IValueExpressionNode) functionNode.get(1)));