# Coproducts

- [Introduction](introduction.md)

- [Creation Functions](creation.md)

  - [Creation of Coproducts](creation.md#creation-of-coproducts)

    - [`cop< S₁, S₂, ..., Sₖ >: Str, Str, ... → Cop, [ Map ]`](creation.md#constructor-constructor-cop-str-str-cop-map)

    - [`cop< [ S₁, S₂, ..., Sₖ ] >: [ Str, Str, ... ] → Cop, [ Map ]`](creation.md#constructor-constructor-cop-str-str-cop-map-2)

  - [Creation of Coproduct Elements](creation.md#creation-of-coproduct-elements)

    - [`m(e): Map, Elt → CopElt`](creation.md#literal-m-map-elt)

    - [`C ! e: Cop, Elt → CopElt`](creation.md#operation-op-cop-elt)

- [Accessing Functions](access.md)

  - [`Injections(C): Cop → [ Map ]`](access.md#function-injections-cop)

  - [`# C: Cop → RngIntElt`](access.md#operation-operation-cop-rngintelt)

  - [`Constituent(C, i): Cop, RngIntElt → Str`](access.md#function-constituent-cop-rngintelt)

  - [`Index(x): CopElt → RngIntElt`](access.md#function-index-copelt)

- [Retrieve](retrieve.md)

  - [`Retrieve(x): CopElt → Elt`](retrieve.md#function-retrieve-copelt)

  - [`Example: cop`](retrieve.md#example-ex-13536c)

- [Flattening](flat.md)

  - [`Flat(C): Cop → Cop`](flat.md#function-flat-cop)

- [Universal Map](universal.md)

  - [`UniversalMap(C, S, [ n₁, ..., nₘ ]): Cop, Str, [ Map ] → Map`](universal.md#function-universalmap-cop-str-map)
