code: private void addQuaternaryClause(final MiniSatStyleSolver s, int a, int b, int c, int d, int blocking) {
      assert this.clause.size() == 0;
      assert a != LIT_UNDEF && b != LIT_UNDEF && c != LIT_UNDEF && d != LIT_UNDEF;
      assert var(a) < s.nVars() && var(b) < s.nVars() && var(c) < s.nVars() && var(d) < s.nVars();
      this.clause.push(a);
      this.clause.push(b);
      this.clause.push(c);
      this.clause.push(d);
      if (blocking != LIT_UNDEF)
        this.clause.push(blocking);
      s.addClause(this.clause, null);
      this.clause.clear();
    }
docs: Adds a quaterary clause to the given SAT solver.
  @param s        the sat solver
  @param a        the first literal
  @param b        the second literal
  @param c        the third literal
  @param d        the fourth literal
  @param blocking the blocking literal