# Mappings

- [Introduction](introduction.md)

  - [The Map Constructors](introduction.md#the-map-constructors)

  - [The Graph of a Map](introduction.md#the-graph-of-a-map)

  - [Rules for Maps](introduction.md#rules-for-maps)

  - [Homomorphisms](introduction.md#homomorphisms)

  - [Checking of Maps](introduction.md#checking-of-maps)

- [Creation Functions](creation.md)

  - [Creation of Maps](creation.md#creation-of-maps)

    - [`map< A -> B | G >: Str, Str → Map`](creation.md#constructor-constructor-map-str-str-map)

    - [`map< A -> B | x :-> e(x) >: Str, Str → Map`](creation.md#constructor-constructor-map-str-str-map-2)

    - [`map< A -> B | x :-> e(x), y :-> i(y) >: Str, Str → Map`](creation.md#constructor-constructor-map-str-str-map-3)

  - [Creation of Partial Maps](creation.md#creation-of-partial-maps)

    - [`pmap< A -> B | G >: Str, Str → Map`](creation.md#constructor-constructor-pmap-str-str-map)

    - [`pmap< A -> B | x :-> e(x) >: Str, Str → Map`](creation.md#constructor-constructor-pmap-str-str-map-2)

    - [`pmap< A -> B | x :-> e(x), y :-> i(y) >: Str, Str → Map`](creation.md#constructor-constructor-pmap-str-str-map-3)

  - [Creation of Homomorphisms](creation.md#creation-of-homomorphisms)

    - [`hom< A -> B | G >: Str, Str → Map`](creation.md#constructor-constructor-hom-str-str-map)

    - [`hom< A -> B | y₁, ..., yₙ >: Str, Str → Map`](creation.md#constructor-constructor-hom-str-str-map-2)

    - [`hom< A -> B | x₁ -> y₁, ..., xₙ -> yₙ >: Str, Str → Map`](creation.md#constructor-constructor-hom-str-str-map-3)

    - [`hom< A -> B | x :-> e(x) >: Str, Str → Map`](creation.md#constructor-constructor-hom-str-str-map-4)

    - [`hom< A -> B | x :-> e(x), y :-> i(y) >: Str, Str → Map`](creation.md#constructor-constructor-hom-str-str-map-5)

  - [Coercion Maps](creation.md#coercion-maps)

    - [`Coercion(D, C): Str, Str → Map`](creation.md#function-coercion-str-str)

    - [`Bang(D, C): Str, Str → Map`](creation.md#function-bang-str-str)

- [Operations on Mappings](operation.md)

  - [Composition](operation.md#composition)

    - [`f * g: Map, Map → Map`](operation.md#operation-op-times-map-map)

    - [`Components(f): Map → [ Map ]`](operation.md#function-components-map)

  - [(Co)Domain and (Co)Kernel](operation.md#co-domain-and-co-kernel)

    - [`Domain(f): Map → Str`](operation.md#function-domain-map)

    - [`Codomain(f): Map → Str`](operation.md#function-codomain-map)

    - [`Image(f): Map → Elt`](operation.md#function-image-map)

    - [`Kernel(f): Map → Str`](operation.md#function-map-kernel)

  - [Inverse](operation.md#inverse)

    - [`Inverse(m): Map → Map`](operation.md#function-inverse-map)

  - [Function](operation.md#function)

    - [`Function(f): Map → UserProgram`](operation.md#function-function-map)

- [Images and Preimages](image-preimage.md)

  - [`a @ f: Elt, Map → Elt`](image-preimage.md#operation-operation-elt-map-elt)

  - [`f(a): Map, Elt → Elt`](image-preimage.md#literal-f-map-elt)

  - [`S @ f: SetEnum, Map → SetEnum`](image-preimage.md#operation-operation-setenum-map-setenum)

  - [`S @ f: SetIndx, Map → SetIndx`](image-preimage.md#operation-operation-setindx-map-setindx)

  - [`S @ f: SeqEnum, Map → Seq`](image-preimage.md#operation-operation-seqenum-map-seq)

  - [`f(S): SetEnum, Map → SetEnum`](image-preimage.md#literal-f-setenum-map)

  - [`f(S): SetIndx, Map → SetIndx`](image-preimage.md#literal-f-setindx-map)

  - [`f(S): SeqEnum, Map → Seq`](image-preimage.md#literal-f-seqenum-map)

  - [`C @ f: Str, Map → Str`](image-preimage.md#operation-operation-str-map-str)

  - [`f(C): Map, Str → Str`](image-preimage.md#literal-f-map-str)

  - [`y @@ f: Elt, Map → Elt`](image-preimage.md#operation-operation-elt-map-elt-2)

  - [`R @@ f: SetEnum, Map → SetEnum`](image-preimage.md#operation-operation-setenum-map-setenum-2)

  - [`R @@ f: SetIndx, Map → SetIndx`](image-preimage.md#operation-operation-setindx-map-setindx-2)

  - [`R @@ f: SeqEnum, Map → Seq`](image-preimage.md#operation-operation-seqenum-map-seq-2)

  - [`D @@ f: Str, Map → Str`](image-preimage.md#operation-operation-str-map-str-2)

  - [`HasPreimage(x, f): Any, Map → BoolElt, Any`](image-preimage.md#function-haspreimage-any-map)

- [Parents of Maps](parents.md)

  - [`Parent(m): Map → PowMap`](parents.md#function-parent-map)

  - [`Domain(P): PowMap → Str`](parents.md#function-domain-powmap)

  - [`Codomain(P): PowMap → Str`](parents.md#function-codomain-powmap)

  - [`Maps(D, C): Str, Str → PowMap`](parents.md#function-maps-str-str)

  - [`Iso(D, C): Str, Str → PowMap`](parents.md#function-iso-str-str)

  - [`Aut(S): Str → PowMapAut`](parents.md#function-aut-str)
