I am trying to construct a CFG for this following langauge: L = $\{0^i 1^j | i \neq j \ and \ i, j > 0\}$, this is what I came up with:
$ S \rightarrow A \ | \ B $
$A \rightarrow 0A1 \ |\ A1 \ |\ 011$
$B \rightarrow 0B1 \ |\ 0B \ |\ 001$
Based on the language, we know we can’t have the strings: s = {0,1, 01, 0011 etc}.
And I tested on the following strings that we can have: s = {011, 00111, 001, 00011, ...} and it worked.
So, my question is, is this correct CFG for this particular L?