so I'm trying to figure out pumping theorem for regular languages. Here is an example from class. I'm going to label each line and ask questions about the proof.
Problem:
Let language $L = \{a^m b^n c^q \mid m>n\text{ or }m>q\text{ or }n>q\}$. Apply the pumping theorem for regular languages to prove that language $L$ is not regular.
Solution:
1) Suppose $L$ is regular, and let $p$ be the constant in the pumping theorem.
2) Choose $z = b^{p+1} c^p$, and let $z = uvw$.
3) No matter how we pump the string, it has $m=0$, so conditions $m>n$ and $m>q$ are both false.
4) Because $|uv| \le p$, substring $v$ must be within the first $b^p$.
5) Let $u = b^i$, $v = b^j$, and $w = b^{p+1–i–j} c^p$.
6) Therefore $u v^0 w = b^{p+1–j} c^p \notin L$, because $|v| \ge 1\to j \ge 1 \to p+1–j \le p$.
7) Contradiction, so $L$ is not regular.
Stuff I'm not understanding:
A) What is the importance of line 3? It seems like a follow through from how we chose our $z$.
B) On line 5 we have $b^{p+1-i-j}$, yet on line 6 this changes to $b^{p+1-j}$; where did the $i$ go?
C) On line 6, why is $p+1-j \le p$ a contradiction? As in wouldn't $j$ make $p+1$ go smaller than $p$? And therefore be within the constraints? The only case that this wouldn't apply is when $j$ is equal to $0$.
Thank you guys for any and all help.