Is my pumping lemma proof correct?
No, this proof is not correct.

To prove that a language is non-regular using the pumping lemma, you need to show that:


for all $m&gt;0$, there is a string $w\in L$ of length at least&nbsp;$m$ such that
for all ways of writing $w=xyz$ with $|y|\geq 1$, 
there is some $i\geq 0$ such that $xy^iz\notin L$.


You have shown that some way of writing $w=xyz$ makes part&nbsp;3 true, but that is not enough.

To understand why, it's helpful to consider why the pumping lemma is true. The point is that, if a language is regular, it is accepted by a DFA and that DFA has some number&nbsp;$n$ of states. That means that, if it reads a string&nbsp;$w$ of length more than&nbsp;$n$ then, by the pigeonhole principle, it must enter some state&nbsp;$q$ twice (or more).  Then we can set $w=xyz$ where


$x$ is what is read before entering&nbsp;$q$ for the first time ($x=\varepsilon$ if $q$&nbsp;is the initial state);
$y$&nbsp;is what is read after the character that causes the first entry to&nbsp;$q$ up to, but not including, the character that causes the second entry to&nbsp;$q$ (so $y$ contains at least one character, i.e., $|y|\geq 1$);
$z$ is the rest of the string.


Now the point is that the string $xy^iz$ causes the DFA to go around the loop from $q$ to&nbsp;$q$ $i$&nbsp;times, then carry on to an accepting state by reading&nbsp;$z$, so every string $xy^iz$ must also be accepted. However, the specific partition of&nbsp;$w$ into $x$, $y$ and&nbsp;$z$ depends on which automaton you're considering. To show that no automaton accepts the language, you need to show that every possible automaton fails, which means you need to show that all possible partitions $w=xyz$ fail.