Condition for a hypergraph to be $2$-colorable In a city, a bus company has several bus lines. Each bus line contains at least $4$ stops and $2$ different bus lines always have exactly $1$ stop in common. Show that all the bus stops in the city can be divided into $2$ groups such that each line has at least $1$ stop in each group.
So the rather obvious way to attack this problem is to consider a graph $G$ where each node corresponds to one bus stop and where each bus line is represented as a connected sub-graph of $G$. Then, I thought it might be interesting to look for "isolated" bus stops (i.e. bus stops that only belong to one line). If a bus line contains at least $2$ such stops then we can put one in each group and we are done for this particular bus line. The problem is that nothing guarantees the existence of such bus stops in any bus line, and even if we did have some it doesn't really solve the problem in the vast majority of cases. I think the way to proceed is to look at the total degree of the graph and isolated degrees of some vertices,  but I don't really know how to proceed.
 A: Let me call the bus lines lines and the bus stops points. The assumptions are:
(1) Each line contains at least $4$ points;
(2) any two distinct lines have exactly one point in common.
We want to prove that the hypergraph formed by the points and lines is $2$-colorable, i.e., we can color each point red or green so that every line contains at least one point of each color.
Condition (1) can be weakened slightly. It won't do to replace it with "every line contains $3$ points"; the Fano plane, which is not $2$-colorable, is a counterexample. However, we can weaken (1) to the following:
(1') Each line contains at least $3$ points; moreover, there is a point $a$ such that every line containg $a$ (and there is at least one) contains at least $4$ points.
Now, if every line contains our special point $a$, we can simply color $a$ red and the rest green. Therefore we may assume that there is a line $L$ which does not contain $a$, as well as a line $M$ which contains $a$. Let $b$ be the unique point commom to $L$ and $M$. Color $a$ red and $b$ green; then color the remaining points in $L$ red and the remaining points in $M$ green.
Now every line which contains neither $a$ nor $b$ already contains a point of each color, since it must meet $L$ and $M$ in some points other than $a$ and $b$. Hence we only have to worry about the lines, other than $L$ and $M$, which contain $a$ or $b$.
Let $V$ be the set of all uncolored points. Let $\mathcal A$ be the set of all lines cther than $M$ which contain $a$; and let $\mathcal B$ be the set of all lines, other than $L$ and $M$, which contain $b$. Note that $\mathcal A\cap\mathcal B=\emptyset$, and that each member of $\mathcal A\cup\mathcal B$ contains at least $2$ uncolored points. (Here we need the assumption that a line containing $a$ contains at least $4$ points.) For each line $K\in\mathcal A\cup\mathcal B$ draw an edge $e_K$ joining two uncolored points in $K$, and let $E$ be the set of all those edges $e_K$. Now the graph $G=(V,E)$ is bipartite (since $E$ is the union of two matchings), so we can color each vertex in $V$ red or green so that each edge $e_k$ joins a red point to a green point.
P.S. Nothing is assumed about finiteness; the number of lines may be finite or infinite, and a line may contain a finite or infinite number of points.
