{'fraction_non_alphanumeric': 0.02922077922077922, 'fraction_numerical': 0.003246753246753247, 'mean_word_length': 4.460176991150442, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
5.1 Finitely and Infinitely Generated Groups

In this section, we discuss two procedures of building (sub)groups, namely, the (sub)groups generated by a subset of a given group and the direct product of two or more groups. The concept of generators can be extended from cyclic groups < a > to more complicated situations where a subgroup is generated by more than one element. It is easy to see that a cyclic group with generator a is the smallest subgroup containing the set S = {a}. Can we extend groups generated by sets with more than one element? The answer is affirmative as suggested by the following theorem.