Open subgroup of $\mathrm{Aut}(M) \subseteq M^M$ where $M$ is an $L$-structure for a first order language $L$ and $M$ has discrete topology Let $L$ be a first order language and $M$ be an $L$-structure. For $ A \subseteq M $, let $\operatorname{Aut}_A (M)=\{f: M \to M$ is isomorphism $: f(a)=a,\forall a\in A\}$ and let $\operatorname{Aut}(M)$ denote just the set of all isomorphisms of $M$ onto itself. Then $\operatorname{Aut}_A (M), \operatorname{Aut}(M)$ are all groups under usual function composition. Now equip $M$ with the discrete topology and equip $M^M$ with the product topology. Then $\operatorname{Aut}_A (M) \subseteq \operatorname{Aut}(M) \subseteq M^M$ . Moreover, I can prove that $\operatorname{Aut}(M)$ is a topological group as a subspace of the product space $M^M$. 
Then how to show that a subgroup $G$ of $\operatorname{Aut}(M)$ is open if and only if it contains $\operatorname{Aut}_A (M)$ for some finite subset $A \subseteq M$ ?
 A: (1) A subgroup of a topological group is open if and only if it contains an open neighborhood of the identity. Why? To show that $H\leq G$ is open it suffices to show it contains an open neighborhood of every point $x\in H$. If $e\in U\subseteq H$ and $U$ is open, then for any $x\in H$, $x\in Ux\subseteq H$ and $Ux$ is open, since multiplication by $x$ is a homeomorphism.
(2) A basic open set of $M^M$ has the form $U(\overline{a},\overline{b}) = \{f\colon M\to M\mid f(\overline{a}) = \overline{b}\}$, where $\overline{a}$ and $\overline{b}$ are tuples from $M$ of the same length. So a basic open set in the subspace $\mathrm{Aut}(M)$ has the form $U(\overline{a},\overline{b})\cap \mathrm{Aut}(M) = \{f\colon M\to M\mid f\text{ is an automorphism, and }f(\overline{a}) = \overline{b}\}$. Now $H\leq \mathrm{Aut}(M)$ is an open subgroup if and only if it contains a basic open neighborhood of the identity. And if $\text{id}_M\in U(\overline{a},\overline{b})$, then $\overline{a} = \mathrm{id}_M(\overline{a}) = \overline{b}$. So such a basic open neighborhood has the form $U(\overline{a},\overline{a}) \cap \mathrm{Aut}(M) = \mathrm{Aut}_A(M)$, where $A$ is the set enumerated by the tuple $\overline{a}$.
