{
  "title": "Multiset",
  "level": "Low",
  "elements": [
    {
      "pattern": "",
      "module": "Multiset",
      "name": "t",
      "type": "type",
      "signature": "type +'a t = ( 'a, int ) Map.t",
      "description": "",
      "examples": []
    },
    {
      "pattern": "Creating an empty multiset",
      "module": "Multiset",
      "name": "empty",
      "type": "value",
      "signature": "val empty : 'a t",
      "description": "",
      "examples": []
    },
    {
      "pattern": "Adding an element to the multiset",
      "module": "Multiset",
      "name": "add",
      "type": "function",
      "signature": "val add : 'a -> 'a t -> 'a t",
      "description": "",
      "examples": []
    },
    {
      "pattern": "Removing an element from the multiset",
      "module": "Multiset",
      "name": "remove",
      "type": "function",
      "signature": "val remove : 'a -> 'a t -> 'a t",
      "description": "",
      "examples": []
    },
    {
      "pattern": "Checking if an element is in the multiset",
      "module": "Multiset",
      "name": "mem",
      "type": "function",
      "signature": "val mem : 'a -> 'a t -> bool",
      "description": "",
      "examples": []
    },
    {
      "pattern": "Finding the count of an element in the multiset",
      "module": "Multiset",
      "name": "find",
      "type": "function",
      "signature": "val find : 'a -> 'a t -> int",
      "description": "",
      "examples": []
    },
    {
      "pattern": "Creating a multiset from a list",
      "module": "Multiset",
      "name": "of_list",
      "type": "function",
      "signature": "val of_list : 'a list -> 'a t",
      "description": "",
      "examples": []
    }
  ],
  "metadata": {
    "signatures": [
      "type +'a t = ( 'a, int ) Map.t",
      "val empty : 'a t",
      "val add : 'a -> 'a t -> 'a t",
      "val remove : 'a -> 'a t -> 'a t",
      "val mem : 'a -> 'a t -> bool",
      "val find : 'a -> 'a t -> int",
      "val of_list : 'a list -> 'a t"
    ],
    "source": "https://docs.imandra.ai/imandra-docs/odoc/imandra-base/Imandra_prelude/Multiset/index.html",
    "description": "A multiset is a collection of elements that don't have any particular order, but can occur several times (unlike a regular set)."
  }
}