I am familiar with Schreier's theorem which states that any subgroup H of a free group G is free, as well as with the formula $$ \operatorname{rank} H - 1 = |G:H|(\operatorname{rank} G - 1) $$
I have always encountered this formula with the caveat that the index |G:H| must be finite; however several professors have told me that in the case it is infinite it is also true and it just doesn't tell you anything interesting.
However, if $\operatorname{rank} G=n$ and $e_1,\dots,e_n$ is a basis of $G$, then for instance $H=\langle e_1,\dots,e_{n-1}\rangle$ is free of rank $n-1$ and the above formula cannot hold since $\dfrac{n-2}{n-1}$ is not an integer.
So it seems to me that subgroups whose rank is smaller than n must all have infinite index, and the formula then does need the finite index assumption after all. Is that right?
On the other hand, how does that translate into covering spaces of graphs? There should be for instance an infinite-fold covering of a two-circle bouquet whose fundamental group is infinite cyclic. How can that be? I think there's something off here...
Thank you in advance!