If $G$ is a group and $H$ is a subgroup of $S_n$ we can form their wreath product $G \wr H = \{(g_1, ..., g_n; \pi): g_i \in G$ and $\pi \in H\}$. I'm wondering whether the following is correct:

$<(e, ..., g_i, ..., e; e)> = \{(g_1, ..., g_n; e)\}$

$\{(g_1, ..., g_n; e)\} \circ \{(e, ..., e; \pi)\} = G \wr H$

Additionally, will all elements of $G \wr H$ be generated distinctly? Or in other words is it possible to do this more efficiently?

Edit: For $(g_1, ..., g_n; \pi), (a_1, ..., a_n; \phi) \in G \wr H, \circ$ is defined by $(a_1, ..., a_n; \phi) \circ (g_1, ..., g_n; \pi) = (a_{\pi(1)}*g_1, ..., a_{\pi(n)}*g_n; \phi\circ\pi)$ where $*$ is the operation for $G$, although for my purposes my $G$ can be thought of as $S_n$.

You also have $(g_1, ..., g_n; \pi)^{-1} = (g^{-1}_{\pi^{-1}(1)}, ...; \pi^{-1})$

By distinct I mean for distinct $(g_1, ..., g_n; e), (a_1, ..., a_n; e), (e, ..., e; \pi), (e, ..., e; \phi)$ we don't have $(g_1, ..., g_n; e) \circ (e, ..., e; \pi) = (a_1, ..., a_n; e) \circ (e, ..., e; \pi)$ or $(g_1, ..., g_n; e) \circ (e, ..., e; \pi) = (g_1, ..., g_n; e) \circ (e, ..., e; \phi)$.

I'm not so sure about that for the first part with generating $\{(g_1, ..., g_n; e)\}$, but by efficiency I mean I want to generate an object much like a wreath product algorithmically so I don't want to do more work than necessary when generating it.