{
  "source": {
    "file": "Molten/test/resource/system/graph/state/wave/wave.template.rs",
    "cases": "Molten/test/resource/system/graph/state/wave/cases.json"
  },
  "functions": [
    {
      "function": "disjoint",
      "tags": [
        "composite",
        "single",
        "joint",
        "no",
        "overlap",
        "completely",
        "different",
        "has",
        "identical",
        "particles",
        "both",
        "empty",
        "candidate",
        "basis"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "c",
                    3
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "d",
                    4
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "c",
                    3
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [],
            "candidate": []
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": []
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "diverge",
      "tags": [
        "simple",
        "subtract",
        "empty",
        "result"
      ],
      "cases": [
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "diverges",
      "tags": [
        "ambiguous",
        "composite",
        "empty",
        "candidate",
        "enumeration",
        "simple",
        "multiple"
      ],
      "cases": [
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    [
                      "a",
                      1
                    ]
                  ],
                  1
                ]
              ],
              [
                [
                  [
                    [
                      "a",
                      1
                    ],
                    [
                      "b",
                      1
                    ]
                  ],
                  1
                ]
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": []
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    [
                      "b",
                      1
                    ]
                  ],
                  1
                ]
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              []
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "intersect",
      "tags": [
        "deterministic",
        "simple",
        "none"
      ],
      "cases": [
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "y",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "isomorphic",
      "tags": [
        "identical",
        "match",
        "different",
        "counts",
        "particles",
        "multiple",
        "lengths",
        "both",
        "empty",
        "complex"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [],
            "candidate": []
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "c",
                    3
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    3
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    3
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "join",
      "tags": [
        "empty",
        "candidate",
        "performance",
        "deterministic",
        "sum",
        "scaling",
        "dual",
        "triple",
        "quadruple",
        "quintuple",
        "septuple",
        "decuple"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": []
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                3
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "f",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                5
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                5
              ],
              [
                [
                  [
                    "f",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "h",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                5
              ],
              [
                [
                  [
                    "f",
                    1
                  ]
                ],
                6
              ],
              [
                [
                  [
                    "g",
                    1
                  ]
                ],
                7
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                5
              ],
              [
                [
                  [
                    "f",
                    1
                  ]
                ],
                6
              ],
              [
                [
                  [
                    "g",
                    1
                  ]
                ],
                7
              ],
              [
                [
                  [
                    "h",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "k",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                5
              ],
              [
                [
                  [
                    "f",
                    1
                  ]
                ],
                6
              ],
              [
                [
                  [
                    "g",
                    1
                  ]
                ],
                7
              ],
              [
                [
                  [
                    "h",
                    1
                  ]
                ],
                8
              ],
              [
                [
                  [
                    "i",
                    1
                  ]
                ],
                9
              ],
              [
                [
                  [
                    "j",
                    1
                  ]
                ],
                10
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                3
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                4
              ],
              [
                [
                  [
                    "e",
                    1
                  ]
                ],
                5
              ],
              [
                [
                  [
                    "f",
                    1
                  ]
                ],
                6
              ],
              [
                [
                  [
                    "g",
                    1
                  ]
                ],
                7
              ],
              [
                [
                  [
                    "h",
                    1
                  ]
                ],
                8
              ],
              [
                [
                  [
                    "i",
                    1
                  ]
                ],
                9
              ],
              [
                [
                  [
                    "j",
                    1
                  ]
                ],
                10
              ],
              [
                [
                  [
                    "k",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "joint",
      "tags": [
        "composite",
        "single",
        "overlap",
        "identical",
        "match",
        "partial",
        "no",
        "both",
        "empty",
        "candidate",
        "basis"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "c",
                    3
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "basis": [
              [
                [
                  [
                    "b",
                    2
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [],
            "basis": []
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "subset",
      "tags": [
        "simple",
        "match",
        "nomatch",
        "bipartite",
        "shared",
        "particle",
        "join",
        "unmatch",
        "provenance",
        "joined",
        "unmatched",
        "insufficient",
        "basis",
        "complex",
        "empty",
        "candidate",
        "both",
        "multiple",
        "counts",
        "duplicate",
        "requirement",
        "no",
        "compatible",
        "superset",
        "residue",
        "matches",
        "same",
        "rank",
        "one",
        "between",
        "two",
        "exact",
        "single",
        "result",
        "backtracking",
        "forced",
        "count",
        "exhaustion",
        "zero",
        "gaps",
        "sparse",
        "ordering",
        "critical",
        "boundary"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "x",
                    1
                  ],
                  [
                    "y",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "y",
                    1
                  ],
                  [
                    "z",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ],
                  [
                    "z",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "y",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "z",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "y",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "z",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": []
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [],
            "basis": []
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "d",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ],
                  [
                    "y",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "x",
                    1
                  ],
                  [
                    "y",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ],
                  [
                    "z",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "x",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "y",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "p",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "p",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "p",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "p",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "p",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "m",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "n",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "m",
                    1
                  ],
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "n",
                    1
                  ],
                  [
                    "y",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "m",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "n",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "x",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "y",
                    1
                  ]
                ],
                5
              ]
            ],
            "basis": [
              [
                [
                  [
                    "y",
                    1
                  ]
                ],
                3
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [],
                1
              ]
            ],
            "basis": [
              [
                [],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "x",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ],
                  [
                    "d",
                    1
                  ],
                  [
                    "e",
                    1
                  ],
                  [
                    "f",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ],
                  [
                    "d",
                    1
                  ],
                  [
                    "e",
                    1
                  ],
                  [
                    "f",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ],
                  [
                    "d",
                    1
                  ],
                  [
                    "e",
                    1
                  ],
                  [
                    "f",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ],
                  [
                    "c",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "b",
                    1
                  ]
                ],
                1
              ],
              [
                [
                  [
                    "c",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "z",
                    1
                  ]
                ],
                999
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "z",
                    1
                  ]
                ],
                999
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "z",
                    1
                  ]
                ],
                999
              ]
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "superset",
      "tags": [
        "composite",
        "covers",
        "single",
        "simple",
        "match",
        "nomatch",
        "equal",
        "empty",
        "candidate",
        "basis",
        "both"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ],
                  [
                    "b",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                3
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ],
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                2
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [],
            "basis": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": null
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ],
            "basis": []
          },
          "returns": {
            "()": [
              [
                [
                  [
                    "a",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "candidate": [],
            "basis": []
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        }
      ]
    }
  ]
}