Images and Preimages

The standard mathematical notation is used to denote the calculation of a map image. Some mappings defined by certain system intrinsics and constructors permit the taking of preimages. However, preimages are not available for any mapping defined by means of the mapping constructor.

a @ f : Elt, Map -> Elt
f(a) : Map, Elt -> Elt
Given a mapping f with domain A and codomain B, and an element a belonging to A, return the image of a under f as an element of B.
S @ f : SetEnum, Map -> SetEnum
S @ f : SetIndx, Map -> SetIndx
S @ f : SeqEnum, Map -> Seq
f(S) : SetEnum, Map -> SetEnum
f(S) : SetIndx, Map -> SetIndx
f(S) : SeqEnum, Map -> Seq
Given a mapping f with domain A and codomain B, and a finite enumerated set, indexed set, or sequence S of elements belonging to A, return the image of S under f as an enumerated set, indexed set, or sequence of elements of B.
C @ f : Str, Map -> Str
f(C) : Map, Str -> Str
Given a homomorphism f with domain A and codomain B, and a substructure C of A, return the image of C under f as a substructure of B.
y @@ f : Elt, Map -> Elt
Given a mapping f with domain A and codomain B, where f supports preimages, and an element y belonging to B, return the preimage of y under f as an element of A.

If the mapping f is a homomorphism, then a single element is returned as the preimage of y. In order to obtain the full preimage of y, it is necessary to form the coset K * y@@f, where K is the kernel of f.

R @@ f : SetEnum, Map -> SetEnum
R @@ f : SetIndx, Map -> SetIndx
R @@ f : SeqEnum, Map -> Seq
Given a mapping f with domain A and codomain B, where f supports preimages, and a finite enumerated set, indexed set, or sequence of elements R belonging to B, return the preimage of R under f as an enumerated set, indexed set, or sequence of elements of A.
D @@ f : Str, Map -> Str
Given a mapping f with domain A and codomain B, where f supports preimages and the kernel of f is known or can be computed, and a substructure D of B, return the preimage of D under f as a substructure of A.
HasPreimage(x, f) : Any, Map -> BoolElt, Any
Return whether the preimage of x under f can be taken and the preimage as a second argument if it can.
V2.28, 13 July 2023