Multi-encoding of a group
Definition
Basic definition
Let be a group. A multi-encoding of over a binary alphabet (or equivalently, over any constant-sized alphabet) is the following data:
- A multivalued injective mapping from the group to the set of words in that alphabet. In other words, each element of the group is expressed as a word over the alphabet, in possibly more ways than one. This is called the code-word for that element of the group and the mapping itself is termed the encoding.
- An algorithm that takes in the codes for and outputs the code for .
- An algorithm that takes in the code for and outputs the code for .
- An algorithm that takes in any string and outputs whether or not it is a valid codeword (that is, whether it arises as the encoding of some group element).
- An algorithm that takes as unput two code-words and outputs whether they represent the same group element.
If the mapping is single-valued, viz every group element has a unique code-word, then we simply call it an encoding of the group.
Properties
Size of fibers
To measure the extent to which a multi-encoding is like an encoding, we look at the sizes of the image of every point. Ideally we want this size to be bounded by a small constant.
Passing from a multi-encoding to an encoding
An encoding is obtained as a section of a multi-encoding if, for every group element, it simply picks one of the
Subgroups and quotients
Subgroups
Given a group with a multi-encoding, any subgroup also gets the multi-encoding provided that we have a membership test for the subgroup inside the group.
We can also choose to describe the subgroup by means of its generating set.
Quotients
Given a group with a multi-encoding, we can obtain a multi-encoding for its quotient by a normal subgroup provided there is a membership test for that normal subgroup.