I read somewhere that the problem which asks whether or not a $ CFG$ $ G$ generates $ 1^*$ is decidable. The proof goes like this:

$ 1^* \cap G$ is context free since it is the intersection of a regular language and a $ CFG$ , therefore we can test if $ 1^* \cap G$ is empty since it is decidable to check if a $ CFG$ is empty. If $ 1^* \cap G$ is empty, reject, otherwise, accept

I have doubts however with this proof since it only shows that *some* string in $ 1^*$ is generated by $ G$ , but not whether $ G$ generates *all* strings in $ 1^*$ .

Moreover, if this proof is correct, we can use the same proof outline under the alphabet $ \Sigma=\{0,1\}$ to show that $ G$ generates $ \Sigma^*$ , or that $ \Sigma^* \subseteq G$ . However, it is known that it is undecidable whether $ R \subseteq G$ , where $ R$ is a regular language, and $ G$ is a $ CFG$ (by setting $ R=\Sigma^*$ , and $ \Sigma=\{0,1\}$ .

But to show that a $ CFG$ generates $ 1^*$ is decidable, the only way I can think of is to use something similar to the proof that it is decidable for a $ PCP$ instance to generate some string in $ 1^*$ (i.e., $ w=v$ , where $ w,v \in 1^*$ ), i.e. we can check if the $ CFG$ has rule $ S \rightarrow S1$ , then accept. O.w. if it has rules of the form $ S \rightarrow 1^aS1^b$ such that $ a > b$ , and rules of the form $ S \rightarrow 1^cS1^d$ such that $ c < d$ , then accept… But is there a simpler way to solve this problem ?