Is the semigroup such that $\forall x\ (x\in S\to\exists y\ (y\in S\wedge\forall z\ (z\in S\to zxy=z)))$ a group? I have been dealing with this problem:

Let $S$ be a semigroup that meets the following condition: 
  $$\forall x\ (x\in S\to\exists y\ (y\in S\wedge\forall z\ (z\in S\to zxy=z)))$$ 
  Must $S$ be a group?

I have tried this as a counterexample:
Let $S=\{[a_1,\ldots,a_n]: n\ge 1, a_j\in\Bbb N^*, a_{j+1}-a_j\neq 1\text{ for } j\ge 2\}$. In words, the set of non-empty $n$-tuples of natural numbers with no two consecutive terms together (in increasing order), except the two first ones: they can be consecutive. The operation $*$ is concatenation and deleting possible illegal pairs. Note that $n\ge 1$, so I'm excluding the empty sequence to avoid having an identity.
For example, for $x=[7, 11, 13]$ we have $y=[14,12,8]$.
This definition implies that there are infinitely many identities at right for each element. For example, if $a$ does not end with $1$,
$$a*[1,2]=a$$
$$a*[2,3]=a$$
So this can not be a group.
But I find this solution too complicated. Any simpler one?
EDIT: In a deleted answer there is an example that shows that my try is not even a semigroup, because it is not associative.
 A: Take the semigroup $S = \{a,b\}$, where $aa=ab=a$ and $ba=bb=b$.
Then, for each $x \in S$, take $y = x$. Then, for all $z \in S$, $zxy=zxx=z$. However, $S$ is not a group.
A: The proposed operation (concatenate and delete both members of any consecutive pairs after the first two) is not associative, since
$$
([1, 2, 4] * [5, 3]) * [4, 12] = [1, 4, 12]
$$
but
$$
[1, 2, 4] * ([5, 3] * [4, 12]) = [1, 2, 12].
$$
A: Scrap that, I made a mistake.
I think this always is a group. There exists a right-neutral element in this group and you can show that this is unique and also left-neutral. So for all $x\in S$ you can find a right-inverse, for which you can again show that it is unique and also left-inverse. 
Concerning your example (I cannot comment due to insufficient reputation): I think the concatenation is ill-defined. What is the result of $[1,2]*[3,4]$? is it $[1,2]$ or $[1,4]$? Both work depending from the direction you start removing illegal pairs. Both variants are not associative:
$[1,2] * ([3,4] * [5,7]) = [1,2] * [3,7] = [1,7] \neq [1,2,5,7] = ([1,2] * [3,4]) * [5,7]$
$[1,2] * ([3,4] * [5,6]) = [1,2] * [3,4] = [1,4] \neq [1,6] = [1,4] * [5,6] = ([1,2] * [3,4]) * [5,6]$
