Question: Mystery using lists in solve

Up until now, I have been using lists instead of sets in solve() in order to ensure the first equation is solved for the first variable, the second for the second, etc.  However, I have run into a case for which using an equation list and a variable list does not work, but the equation list alone is fine, and sets of both are fine, etc.  I would be grateful if somebody can explain why the first statement below does not produce a solution.

> soln := solve([foc1 = 0, foc2 = 0, foc3 = 0], [x1, x2, lambda]);
                               []
> soln := solve({foc1 = 0, foc2 = 0, foc3 = 0}, {x1, x2, lambda});
  {x1 = 0.3600000000, x2 = 1.440000000, lambda = -2.160000000}
> soln := solve([foc1 = 0, foc2 = 0, foc3 = 0]);
  {x1 = 0.3600000000, x2 = 1.440000000, lambda = -2.160000000}
> soln := fsolve([foc1 = 0, foc2 = 0, foc3 = 0]);
  {x1 = 0.3600000000, x2 = 1.440000000, lambda = -2.160000000}

I have also attached the worksheet for further information:  ListsInSolve.mw

Thanks!

Please Wait...