>>743 補足
>じゃAIが語れないことを書こうか (^^
> Zappa–Szép productは、一般化しすぎで深さがないのかも
> 群の半直積の方が、深さと広さのバランスが良い気がする(商群が作れる。 Zappa–Szépは 商群が作れない)

群の組成列とジョルダン・ヘルダーの定理(下記)に触れておく必要があった
半直積は、ここに直結するが Zappa–Szépは そうではないってこと
これは、重要ポイントだ

(参考)
https://ja.wikipedia.org/wiki/%E7%B5%84%E6%88%90%E5%88%97
組成列(そせいれつ、英: composition series)は、抽象代数学における概念の一つであり、与えられた群や加群といった代数的構造を、代数的により単純な構造の単純群や単純加群に分解する手掛かりを与えるものである。組成列が存在するという条件は、有限個の単純(加)群の直積(直和)に書けるという条件よりも弱い。また、組成列が存在すれば、それはある意味で一意的である。

概要
群の組成列の定義は次のとおりである。群 G が相異なる部分群の有限列
G=Gn⊋⋯⊋G0=1
を持ち、各添字 1 ≤ i ≤ n について Gi−1 は Gi の正規部分群であり (Gi ⊵ Gi−1)、剰余群 Gi/Gi−1 が単純群であるとき、この部分群の有限列 (Gi)0≤i≤n を組成列と呼び、剰余群の列 (Gi−1/Gi)1 ≤i≤n を剰余因子群または組成因子と呼ぶ。また、部分群の個数 n を組成列の長さと呼ぶ[1]。

上の定義においては、群 G の各部分群 Gi は、G の正規部分群であること (G ⊵ Gi) は要求されていない。この要求を満たす場合、(Gi)0≤i≤n を主組成列と呼び、G の直積分解を考える上では、こちらの方がより本質的である (クルル・レマク・シュミットの定理参照)。

群 G が直積分解可能であるか否かにかかわらず、組成列が存在すれば、組成因子は順序と同型の違いを除いて一意的である。つまり、
G=Hs▹⋯▹H0=1
G=Kt▹⋯▹K0=1
をそれぞれ G の組成列とすれば、s = t であり、剰余群 (Hi−1/Hi)1 ≤i≤s と (Kj−1/Kj)1 ≤j≤t は、適当な s 次の置換 σ によって Hi/Hi−1 ≅ Kσ(i)/Kσ(i)−1 とすることができる (ジョルダン・ヘルダーの定理)。

ジョルダン・ヘルダーの定理
略