Regression slope question Suppose there are $n$ feature vectors $X_1, ...X_n$ which predict $Y$. Suppose we linear regress $X_1$ on $Y$, $X_2$ on $Y$ and so on and obtain all positive slopes $\beta_1>0, \beta_2>0,..\beta_n >0$. Now we perform multiple linear regression $Y = \sum_i\beta_iX_i$, and estimate slopes $\beta_i$, is it necessary that all $\beta_i>0$?
I am looking for a rigorous proof of why it is not necessary $\beta_i>0$ for all $i$.

No. Let's do a simulation to develop a counterexample.
set.seed(2021)
library(MASS)
N <- 100
X <- MASS::mvrnorm(N, c(0, 0), matrix(c(1, 0.95, 0.95, 1), 2, 2))
x1 <- X[, 1]
x2 <- X[, 2]
y <- x1 - x2 + rnorm(N)
L1 <- lm(y ~ x1)
L2 <- lm(y ~ x2)
L <- lm(y ~ x1 + x2)

This happens if you tack on + 0 in the lm calls to indicate that the intercept should be excluded, too.
set.seed(2021)
library(MASS)
N <- 100
X <- MASS::mvrnorm(N, c(0, 0), matrix(c(1, 0.95, 0.95, 1), 2, 2))
x1 <- X[, 1]
x2 <- X[, 2]
y <- x1 - x2 + rnorm(N)
L1 <- lm(y ~ x1 + 0)
L2 <- lm(y ~ x2 + 0)
L <- lm(y ~ x1 + x2 + 0)

However, the usual advice is to include an intercept unless you have a good reason not to.
