On $L^* - \{\epsilon\} = L^+$ $\Sigma^* - \{\epsilon\} = \Sigma^+$
  
  $L^* - \{\epsilon\} = L^+$
  
  Which of the above is always true?


I was following a discussion on a site and I came across this question. Some fellow scholars claimed that the second statement is not always true. 
The answer they provided is this:


  $S_1$: $Σ^* – \{ϵ\} = Σ^+$: TRUE  // Always true, definition of $Σ^+$
  
  $S_2$: $L^* – \{ϵ\} = L^+$: FALSE // May or may not be true 
  
  False when $ϵ$ belongs to $L$, then $L^+$ and $L^*$ will both contain $ϵ$.
  
  PS: In $S_2$, it depends purely on the given language.


But I have this doubt:

How can $L^+$ contain $ϵ$? we obtain $L^+$ by deleting $ϵ$ from $L^*$, and in $L^*$ of the language where $L=\{ϵ\}$, $L^*$ will only contain $ϵ$, so if we remove $ϵ$ from it, then the language should become $\emptyset$, which is nothing but $L^+$ here. So shouldn't the second statement also be true? 

Say $L^+  = \{ϵ,ϵϵ,ϵϵϵ,\dots\}$. 

Now an important point. Note that we say Set of all strings, now in set theory duplicates are not allowed, moreover $ϵ= ϵϵ =ϵϵϵ =\dots$. They are all just the same. So $L^∗$ should be only $\{ϵ\}$, rather than $\{ϵ,ϵ,ϵϵ,ϵϵϵ,\dots\}$, right?
You got the definition of $L^+$ wrong. It is not $L^* \setminus \{\epsilon\}$. Rather, it is
$$
L^+ = \bigcup_{n=1}^* L^n.
$$
You can check that $\epsilon \in L^+$ iff $\epsilon \in L$. Therefore:


If $\epsilon \notin L$ then $L^+ = L^*\setminus\{\epsilon\}$.
If $\epsilon \in L$ then $L^+ = L^*$.