I am not yet familiar enough with the theory to give you a very mathematical answer, but intuitively, OLS only cares about proportions in which different cases are present. This makes sense when you recall that OLS chooses the coefficients that minimize the mean of the squared residuals, and the mean reflects purely the proportions of its inputs (in the sense that the mean of (1, 3, 3) is the same as the mean of a dataset with a million 1s and two million 3s). So, doubling the dataset will get you the identical model.
Here's an R example, where we generate a random regression problem and notice that the coefficients are unchanged when doubling the data:
nc = sample(1:10, 1, replace = T)
n = sample(11:500, 1, replace = T)
x = as.matrix(replicate(nc, rnorm(n)))
coef = rnorm(nc)
sd.resid = runif(1, 0, 5)
y = x %*% matrix(coef) + rnorm(n, sd = sd.resid)
print(cbind(
coef(lm(y ~ x)),
coef(lm(c(y, y) ~ rbind(x, x)))))
One run gives me:
[,1] [,2]
(Intercept) -0.10002238 -0.10002238
x1 -2.14801619 -2.14801619
x2 0.23120764 0.23120764
x3 0.05360792 0.05360792
x4 1.91972198 1.91972198
x5 -1.09887264 -1.09887264
x6 0.04248358 0.04248358