You have used [ and ] instead of ( and ) and those have completely different meanings to Mathematica.
In[2]:= NDSolve[{x'[t] == 0.5 (x[t]) (1 + x[t]) (2 - x[t]) y[t],
y'[t] == -y[t]^2 - 1.5 x[t] y[t]^2, x[0] == 4, y[0] == 10000}, {x, y}, {t, 1000}]
Out[2]= {{x ->InterpolatingFunction[{{0.`,1000.`}},<>],
y -> InterpolatingFunction[{{0.`,1000.`}},<>]}}