homomorphic encryption E(x+y)=E(x) . E(y)? I'm new to cryptography and I was trying to familiarize myself with ZKsnarks .
here is an explanation on this blog : https://blog.z.cash/snark-explain/
in the middle of the page from $E(x) = g^x$  it reaches to $E(x+y)$ = $E(x) \cdot E (y)$ which doesn't sound right to me because generally we have :

$$[a \cdot b] \bmod n = [ (a \bmod n) \cdot (b \bmod n) ] \bmod n$$

there fore the equation above should be :

$$E(x+y) = [E(x) \cdot E (y)] \bmod p$$ 

and same goes for the multiplicative property of RSA .
could you please tell me what is it that I'm missing ?
could you please tell me what is it that I'm missing ?


Typically, when we write $a \times b$, the operator $\times$ needn't be multiplication over the integers (or reals or complex numbers).  Instead, it is often some group/ring/field operation that is somehow analogous to the more common multiplication operations we all learned in grade school.

That's exactly what is happening here.  In this case, the elements $a, b$ (or, in this case, $E(x), E(y)$) are understood to be elements in the group $\mathbb{Z}^*_p$, and so the multiplication is done in that group.  That multiplication can be implemented by performing a standard integer multiplication, and then taking the result modulo $p$; writing that out explicitly gives your result.

So, why do we do such a short-hand? Are we lazy?  Well, partially, yes, we have no reason to clutter the equations with things that are well-understood.  On the other hand, sometimes we work with things, such as extension fields, or elliptic curve groups, which do not have such a simple "do a normal addition/multiplication and then fix things up" way of looking that things; trying to write things out explicitly in the 'grade-school approved notation' would be tricky...