Let $V^n$ be $n$-dimensional vector space over $\mathbb{R}$ with some fixed basis, $U \subseteq V^n$ -- its subspace, generated by linearly independent vectors $v_1, \dots, v_m$ of zeros and ones. Suppose there is a linear function $f\colon U \to \mathbb{R}$, such that $f(v_i) > 0$ for every ($1 \leq i \leq m$). Even further, $\vec{1} \in U$ (the vector of all ones) and $f(\vec{1}) = 1$.
I'll call a vector $a = (a_1, \dots, a_n)$ positive if $a \neq \vec{0}$ and $a_i \geq 0$ ($1 \leq i \leq n$). Now suppose, for every positive vector that is in $U$ and has rational coefficients (in $V^n$ and thus in $U$), we have $f(a) > 0$. Is this true for vectors with irrational coefficients as well?
I can easily prove that for such a vector $a \in U$ I have $f(a) \geq 0$ (I intersect $U$ with a subspace of $V^n$ of all vectors with zero coefficients exactly where $a$ has them, pick a basis (of rational vectors) there and then I can approach $a$ with rational vectors, close enough to it to remain positive). But what if for any such vector $f(a) = 0$? I need to prove this can't happen (or, of it can, what are the conditions when it cannot).
My one path is to try and prove that for every positive $a \in U$ there is a positive rational vector $a' \in U$ with every $a'_i \leq a_i$, but I run into all sorts of troubles trying to do that. Another would be to prove something about the numbers $f(v_i)$ themselves using the fact there is a combination of those with rational coefficients that equals $1$. Finally, I can pick $(v_i - \frac{f(v_i)}{f(v_{i+1})}v_{i+1})$ (with $1 \leq i \leq m-1$) as a basis of the subspace orthogonal to the values vector in $U$ and it's easy to show none of those is positive in $V^n$, but I still can't find the reason why some linear combination of those can't be (with some of the coordinates equal to zero) and it seems to be even harder to do directly.
I bet there is some obvious solution I'm completely missing.
You already have shown $f(a)\ge0$ for all $a\in U$, $a\ge0$. Let me write $f(a)=f^Ta$, and set $B:=(v_1\dots v_m)$.
I want to apply Farkas Lemma, which is not an ``obvious solution'', it is rather a last resort :)
We know $f^Ta\ge0$ for all $a\ge0$ with $a=Bz$ for some $z$. Let me set $$ A^T:=\pmatrix{I & 0 \\ I & -B\\ -I & B}, \ y:=\pmatrix{a\\z}, \ b=\pmatrix{f\\0}. $$ Then we have $b^Ty\ge0$ for all $y$: $A^Ty\ge0$. Hence the first assertion of Farkas Lemma is true, and there is $x\ge0$ with $Ax=b$, or in our notation $$ x= \pmatrix{x_1\\x_2\\x_3}\ge0 , \ \pmatrix{I & I & -I\\ 0 & -B^T & B^T} \pmatrix{x_1\\x_2\\x_3} = \pmatrix{f\\0}. $$ This implies $f-(x_2-x_3)\ge0$, and $B^T(x_2-x_3)=0$. Hence $x_2-x_3\in U^\perp$. This implies $(f-(x_2-x_3))^Ta = f^Ta$ for all $a\in U$. Hence, we can replace $f$ by the non-negative vector $f-(x_2-x_3)$ without affecting the action of $f$ on vectors from $U$.
Let now $a\in U$, $a\ne0$, with $a\ge0$ and $f(a)=0$. Since $f$ has non-negative coefficients it follows $f_i=0$ for all indices $i$ such that $a_i\ne 0$. As you have argued we can approximate $a$ by rational positive vectors $a_k$ in $U$ that are zero on the same indices as $a$. Then $f(a_k)=f^Ta_k=0$ follows, a contradiction. Hence $f(a)>0$ for all nonzero non-negative $a\in U$.