Is intersection of regular language and context free language is "always" context free language I have read that intersection of regular language and context-free language is always context-free. Most of the places an standard example has been used to prove this, e.g., 
\begin{align*}
L_1 &amp;= L(a^*b^*)\\
L_2 &amp;= \{a^nb^n\mid n\geq 0\} \quad\text{(which is context free)}\\
L_1\cap L_2 &amp;= \{a^nb^n\mid n\geq 0\}\,.
\end{align*}
But my question is what if the regular language is finite, such as
\begin{align*}
L_1 &amp;= \{ab\}\\
L_2 &amp;= \{a^nb^n\mid n\geq 0\}\\
L_1\cap L_2 = \{ab\}\,. 
\end{align*}
Here intersection comes out to be finite and the language generated by intersection of both language is also finite which is regular (I know it's also context-free but regular is a stronger answer here).

What mistake am I making in understanding the concept?
The claim is that the intersection of a regular language and a context-free language is context-free. You've intersected a regular language ($\{ab\}$) and a context-free language ($\{a^nb^n\mid n\geq 0\}$) and the result was a context-free language ($\{a b\}$). Sure, that language is also regular but every regular language is also context-free. The statement isn't that the intersection of a regular language and a context-free language is a non-regular context-free language.
Analogously, the child of two mammals is a mammal. You've taken two mammals and you're saying, &quot;Why is their child a cat? It's supposed to be a mammal.&quot;