Sets, Sequences and Mappings
============================

.. toctree::
   :hidden:

   IntroductionToAggregates/index-introduction-to-aggregates
   Sets/index-sets
   Sequences/index-sequences
   TuplesCartesianProducts/index-tuples-cartesian-products
   Lists/index-lists
   AssociativeArrays/index-associative-arrays
   Coproducts/index-coproducts
   Records/index-records
   Mappings/index-mappings

.. grid:: 1 2 3 3
   :gutter: 3
   :class-container: index-topic-grid

   .. grid-item-card:: Introduction to Aggregates
      :link: IntroductionToAggregates/index-introduction-to-aggregates
      :link-type: doc

      Overview of aggregate types, nesting, multi-indexing and common operations.

   .. grid-item-card:: Sets
      :link: Sets/index-sets
      :link-type: doc

      Enumerated sets, set-builder notation, membership, operations and power sets.

   .. grid-item-card:: Sequences
      :link: Sequences/index-sequences
      :link-type: doc

      Ordered sequences: indexing, slicing, sorting, modification and iteration.

   .. grid-item-card:: Tuples & Cartesian Products
      :link: TuplesCartesianProducts/index-tuples-cartesian-products
      :link-type: doc

      Fixed-length tuples, Cartesian product parents and component access.

   .. grid-item-card:: Lists
      :link: Lists/index-lists
      :link-type: doc

      Mutable dynamic lists and list operations.

   .. grid-item-card:: Associative Arrays
      :link: AssociativeArrays/index-associative-arrays
      :link-type: doc

      Key-value maps with arbitrary index types.

   .. grid-item-card:: Coproducts
      :link: Coproducts/index-coproducts
      :link-type: doc

      Disjoint union types and access to their elements.

   .. grid-item-card:: Records
      :link: Records/index-records
      :link-type: doc

      Named-field record structures and record formats.

   .. grid-item-card:: Mappings
      :link: Mappings/index-mappings
      :link-type: doc

      Maps between sets: injections, surjections, bijections and coercion maps.
