Simplest way for ANN to learn F = MA? Imagine a training set with 10 input features. The first two are mass (M) and accelertion (A) and the rest are all useless or irrelevant. The output is Force (F) which of course is equal to M*A.
It seems to me that an ANN architecture has no easy way to just multiply these two features together and give the answer. 
If the input vector was [1,1,0,0,0,0,0,0,0,0]
and the weights were all initialized to 1, then you would get (1*M) + (1*A). This doesn't provide the necessary straightforward multiplication. 
The ANN will obviously figure out the mapping somehow, but will it always do so in a very over-complicated way?
Is this a limitation in some respects or am I misunderstanding something important about ANN's?

 A: Yes, the network will probably approximate some sort of multiplication, but it is unlikely to generalize outside the range of inputs you train it on. 
You may have more luck learning and generalizing the rule by using a quadratic neuron, which is capable of multiplying inputs. RNTNs introduced here do something to that effect.
I suggest a neuron which does something like $f(x) = a(x^TWx + b^Tx + c)$, where $a$ is the activation function (possibly linear).
A: As Shimao said, a NNet will be able to learn some sigmoid based approximation of multiplication, but it will likely fail for new values that fall outside of the range of the training set. 
Remember that a 3 layer feedforward neural net is a universal approximator, given a sufficient number of neurons. So you might end up having to resort to having one neuron per training example, in which case your NNet isn't really "learning" anything, it is just acting as a lookup table. 
Another approach to your problem is to perform a log transform: 
$F = ma \rightarrow log(F) = log(m) + log(a)$
A NNet can easily learn the second function, and then reverse transfrom the output.    
