0

Consider the following computational problem:

Let $G,G'$ be groups so that $G$ is finite and generated by $X=\left\{g_1,\ldots,g_n\right\}$. Let $f:X \to G'$ be a map. Decide whether $f$ extends to a homomorphism $G \to G'$.

Inspired by this answer, I came up with the following constructive algorithm:

Denote by $y_1,\ldots,y_n$ be the images of $g_1,\ldots,g_n$ under $f$. Let $H \subseteq G$ be a set that is initially empty and let $Q$ be a queue of elements in $G \times G’$ that initially contains just $(e_G, e_{G'})$. Let $f’$ be a potential extension that is initially defined nowhere. Apply the following steps:

$1$. If $Q$ is empty, return YES.

$2.$ Pop an element $(x,y)$ from the queue.

$3.$ If $x \in H$:

  • If $f’(x) = y$ go to step $1.$

  • Otherwise, return NO.

$3.$ If $x \notin H$:

  • Set $H=H \cup \left\{x\right\}$. Extend $f’$ by defining $f’(x) := y$. Push $(g_i x, y_i y)$ to the back of the queue for $i=1,\ldots,n$.

  • Go to step $1.$

At each step, $H$ should be understood as the set of values for which $f'$ is presently defined, and $Q$ should be understood as the set of pairs $(*,f'(*))$ that logically follow from the previous, but are awaiting “verification” that they are not in contradiction with the present state of $f'$.

If step $3$ causes the algorithm to return NO then it is clear that the answer to the original problem is indeed “no” (it's essentially a long-winded proof by contradiction.

Conversely, I would like to know if the algorithm can produce a false positive, i.e. if the algorithm returns YES then is the extended function obtained by time the algorithm terminates necessarily a homomorphism?

user1892304
  • 2,894
  • @Hagen von Eitzen Note that at each step, $H$ corresponds to the set of values for which the $f(g_i x)$ are defined. I will modify the notations to make things clearer. I would add that I have tested this algorithm for a certain number of groups in each case the resulting functions are all homomorphisms. – user1892304 Mar 28 '20 at 20:13
  • I mixed up mutable $H$ with constant $X$ upon first rading ... – Hagen von Eitzen Mar 28 '20 at 20:16
  • I suppose you mean $G\times G'$ instead of $G\times H$ and $(e_G,e_{G'})$ instaed of $(e_G,e_H)$? – Hagen von Eitzen Mar 28 '20 at 20:21
  • @HagenvonEitzen Absolutely, thank you – user1892304 Mar 28 '20 at 20:22
  • @HagenvonEitzen Please see my edited post where I edited an inaccuracy in step 3. The correction is that $f$ should be extended by $f(x) := y$, not $f(g_i x) := y_i y$. – user1892304 Mar 28 '20 at 20:28

1 Answers1

1

Assume the algorithm produces YES.

Claim. Let $\alpha,\beta$ be any words over the alphabet $X$. Then $$\tag1f'(\alpha\beta)=f'(\alpha)f'(\beta).$$

Proof. (By induction on $|\alpha|$). If $\alpha$ is the empty word then $\alpha=e_G$ and $f'(\alpha)=e_H$ from the first round. The same first round leads to all $(g_i,y_i)$ pushed to the queue and sooner or later $f'(g_i)=y_i$ established.

If $|\alpha|\ge1$ write $\alpha=g_i\gamma$ with $g_i\in X$ and $|\gamma|<|\alpha|$. At some point, $(\gamma,f'(\gamma))$ is popped with $\gamma\notin H$. This leads to ($\gamma$ added to $H$ and) $(\alpha,y_if'(\gamma))$ pushed to the queue, which later leads to $f'(\alpha)=y_if'(\gamma)$ being defined - or verified with a previous definition of the same value. As $f'(g_i)=y_i$, we have $f'(\alpha)=f'(g_i)f'(\gamma)$. By the same argument, $f'(\alpha\beta)=f'(g_i)f'(\gamma\beta)$. By induction hypothesis, $f'(\gamma\beta)=f'(\gamma)f'(\beta)$ and so $$f'(\alpha\beta)=f'(g_i)f'(\gamma\beta)=f'(g_i)f'(\gamma)f'(\beta)=f'(\alpha)f'(\beta), $$ as desired. $\square$