title: Why is the AddMultiplicationEquality limited to only 2 variables?
body: <p>I am building a shift scheduler with a complex set of constraints, and I am using CP-SAT solver for this. I have an array like this:</p>
  
  <pre><code>    num_vals = 3
      for n in all_employees:
          for d in all_timeslots:
              shifts[(n, d)] = model.NewIntVar(0, num_vals - 1, 'shift_n%id%i' % (n, d))
  </code></pre>
  
  <p>am trying to setup a constraint where a product of consequent line of 5 IntVar values always equals to zero, so I am using something like this:</p>
  
  <pre><code>        sq_r = model.NewIntVar(0, 1,'sq_r')
          for wind in range(0,11):
              model.AddMultiplicationEquality(sq_r, [shifts[(n, wind)], shifts[(n, wind+1)], shifts[(n, wind+2)], shifts[(n, wind+3)], shifts[(n, wind+4)]])
  </code></pre>
  
  <p>But I am getting the following error:</p>
  
  <pre><code>Check failed: vars.size() == 2 (5 vs. 2) General int_prod not supported yet.
  *** Check failure stack trace: ***
      @   00007FF98D2B8C45  PyInit__pywrapsat
      @   00007FF98D2B6F82  PyInit__pywrapsat
      @   00007FF98D550E50  PyInit__pywrapsat
      @   00007FF98D54D8FF  PyInit__pywrapsat
  ....
  </code></pre>
  
  <p>I already checked the documentation on <a href="http://google.github.io/or-tools/python/ortools/sat/python/cp_model.html" rel="nofollow noreferrer">http://google.github.io/or-tools/python/ortools/sat/python/cp_model.html</a> and also some examples here and on github, but never found any example where more than 2 items are found in the variables list, although the docs are showing the following:</p>
  
  <pre><code>def AddMultiplicationEquality(self, target, variables)
  Adds target == variables[0] * .. * variables[n]
  </code></pre>
  
  <p>Any idea what might be the problem?</p>