code: public static IConjunct either( IConjunct conjunct1, IConjunct conjunct2)
      {
      IConjunct conjunct;
  
      if( conjunct1.getDisjunctCount() == 0)
        {
        conjunct = conjunct2;
        }
  
      else if( conjunct2.getDisjunctCount() == 0)
        {
        conjunct = conjunct1;
        }
  
      else
        {
        Conjunction conjunction = new Conjunction();
        for( Iterator<IDisjunct> disjuncts1 = conjunct1.getDisjuncts();
             disjuncts1.hasNext();)
          {
          IDisjunct disjunct1 = disjuncts1.next();
          
          for( Iterator<IDisjunct> disjuncts2 = conjunct2.getDisjuncts();
             disjuncts2.hasNext();)
            {
            IDisjunct disjunct = new Disjunction( disjunct1, disjuncts2.next());
            if( !isTautology( disjunct))
              {
              conjunction.add( simplify( disjunct));
              }
            }
          }
        
        conjunct = simplify( conjunction);
        }
  
      return conjunct;
      }
docs: Returns the logical OR of the given CNF conditions.