{
  "two_triangles_shared_vertex_plus_tail_and_isolate": {
    "nodes": [
      "A",
      "B",
      "C",
      "D",
      "E",
      "F",
      "U"
    ],
    "edges": [
      [
        "A",
        "B"
      ],
      [
        "B",
        "C"
      ],
      [
        "C",
        "A"
      ],
      [
        "C",
        "D"
      ],
      [
        "D",
        "E"
      ],
      [
        "E",
        "C"
      ],
      [
        "E",
        "F"
      ]
    ],
    "baseline_components": 2,
    "algorithm": {
      "discovery": {
        "A": 0,
        "B": 1,
        "C": 2,
        "D": 3,
        "E": 4,
        "F": 5,
        "U": 6
      },
      "low": {
        "A": 0,
        "B": 0,
        "C": 0,
        "D": 2,
        "E": 2,
        "F": 5,
        "U": 6
      },
      "parent": {
        "A": null,
        "B": "A",
        "C": "B",
        "D": "C",
        "E": "D",
        "F": "E",
        "U": null
      },
      "bridges": [
        [
          "E",
          "F"
        ]
      ],
      "articulation_points": [
        "C",
        "E"
      ],
      "trace": [
        {
          "action": "discover",
          "node": "A",
          "discovery": 0,
          "parent": null
        },
        {
          "action": "discover",
          "node": "B",
          "discovery": 1,
          "parent": "A"
        },
        {
          "action": "discover",
          "node": "C",
          "discovery": 2,
          "parent": "B"
        },
        {
          "action": "visited_nonparent_edge",
          "from": "C",
          "to": "A",
          "low_after": 0
        },
        {
          "action": "discover",
          "node": "D",
          "discovery": 3,
          "parent": "C"
        },
        {
          "action": "discover",
          "node": "E",
          "discovery": 4,
          "parent": "D"
        },
        {
          "action": "visited_nonparent_edge",
          "from": "E",
          "to": "C",
          "low_after": 2
        },
        {
          "action": "discover",
          "node": "F",
          "discovery": 5,
          "parent": "E"
        },
        {
          "action": "child_return",
          "parent": "E",
          "child": "F",
          "low_child": 5,
          "discovery_parent": 4,
          "bridge": true,
          "nonroot_cut_condition": true,
          "low_parent_after": 2
        },
        {
          "action": "child_return",
          "parent": "D",
          "child": "E",
          "low_child": 2,
          "discovery_parent": 3,
          "bridge": false,
          "nonroot_cut_condition": false,
          "low_parent_after": 2
        },
        {
          "action": "child_return",
          "parent": "C",
          "child": "D",
          "low_child": 2,
          "discovery_parent": 2,
          "bridge": false,
          "nonroot_cut_condition": true,
          "low_parent_after": 0
        },
        {
          "action": "visited_nonparent_edge",
          "from": "C",
          "to": "E",
          "low_after": 0
        },
        {
          "action": "child_return",
          "parent": "B",
          "child": "C",
          "low_child": 0,
          "discovery_parent": 1,
          "bridge": false,
          "nonroot_cut_condition": false,
          "low_parent_after": 0
        },
        {
          "action": "child_return",
          "parent": "A",
          "child": "B",
          "low_child": 0,
          "discovery_parent": 0,
          "bridge": false,
          "nonroot_cut_condition": false,
          "low_parent_after": 0
        },
        {
          "action": "visited_nonparent_edge",
          "from": "A",
          "to": "C",
          "low_after": 0
        },
        {
          "action": "root_rule",
          "node": "A",
          "DFS_children": 1,
          "cut": false
        },
        {
          "action": "discover",
          "node": "U",
          "discovery": 6,
          "parent": null
        },
        {
          "action": "root_rule",
          "node": "U",
          "DFS_children": 0,
          "cut": false
        }
      ]
    },
    "independent_removal_bridges": [
      [
        "E",
        "F"
      ]
    ],
    "independent_removal_articulation": [
      "C",
      "E"
    ]
  },
  "all64_four_vertex_simple_graph_removal_oracles": 64,
  "root_star_disconnected_empty_cases": [
    {
      "nodes": [
        "A",
        "B",
        "C",
        "D"
      ],
      "edges": [
        [
          "A",
          "B"
        ],
        [
          "A",
          "C"
        ],
        [
          "A",
          "D"
        ]
      ],
      "baseline_components": 1,
      "algorithm": {
        "discovery": {
          "A": 0,
          "B": 1,
          "C": 2,
          "D": 3
        },
        "low": {
          "A": 0,
          "B": 1,
          "C": 2,
          "D": 3
        },
        "parent": {
          "A": null,
          "B": "A",
          "C": "A",
          "D": "A"
        },
        "bridges": [
          [
            "A",
            "B"
          ],
          [
            "A",
            "C"
          ],
          [
            "A",
            "D"
          ]
        ],
        "articulation_points": [
          "A"
        ],
        "trace": [
          {
            "action": "discover",
            "node": "A",
            "discovery": 0,
            "parent": null
          },
          {
            "action": "discover",
            "node": "B",
            "discovery": 1,
            "parent": "A"
          },
          {
            "action": "child_return",
            "parent": "A",
            "child": "B",
            "low_child": 1,
            "discovery_parent": 0,
            "bridge": true,
            "nonroot_cut_condition": false,
            "low_parent_after": 0
          },
          {
            "action": "discover",
            "node": "C",
            "discovery": 2,
            "parent": "A"
          },
          {
            "action": "child_return",
            "parent": "A",
            "child": "C",
            "low_child": 2,
            "discovery_parent": 0,
            "bridge": true,
            "nonroot_cut_condition": false,
            "low_parent_after": 0
          },
          {
            "action": "discover",
            "node": "D",
            "discovery": 3,
            "parent": "A"
          },
          {
            "action": "child_return",
            "parent": "A",
            "child": "D",
            "low_child": 3,
            "discovery_parent": 0,
            "bridge": true,
            "nonroot_cut_condition": false,
            "low_parent_after": 0
          },
          {
            "action": "root_rule",
            "node": "A",
            "DFS_children": 3,
            "cut": true
          }
        ]
      },
      "independent_removal_bridges": [
        [
          "A",
          "B"
        ],
        [
          "A",
          "C"
        ],
        [
          "A",
          "D"
        ]
      ],
      "independent_removal_articulation": [
        "A"
      ]
    },
    {
      "nodes": [
        "A",
        "B",
        "C",
        "D"
      ],
      "edges": [
        [
          "A",
          "B"
        ],
        [
          "C",
          "D"
        ]
      ],
      "baseline_components": 2,
      "algorithm": {
        "discovery": {
          "A": 0,
          "B": 1,
          "C": 2,
          "D": 3
        },
        "low": {
          "A": 0,
          "B": 1,
          "C": 2,
          "D": 3
        },
        "parent": {
          "A": null,
          "B": "A",
          "C": null,
          "D": "C"
        },
        "bridges": [
          [
            "A",
            "B"
          ],
          [
            "C",
            "D"
          ]
        ],
        "articulation_points": [],
        "trace": [
          {
            "action": "discover",
            "node": "A",
            "discovery": 0,
            "parent": null
          },
          {
            "action": "discover",
            "node": "B",
            "discovery": 1,
            "parent": "A"
          },
          {
            "action": "child_return",
            "parent": "A",
            "child": "B",
            "low_child": 1,
            "discovery_parent": 0,
            "bridge": true,
            "nonroot_cut_condition": false,
            "low_parent_after": 0
          },
          {
            "action": "root_rule",
            "node": "A",
            "DFS_children": 1,
            "cut": false
          },
          {
            "action": "discover",
            "node": "C",
            "discovery": 2,
            "parent": null
          },
          {
            "action": "discover",
            "node": "D",
            "discovery": 3,
            "parent": "C"
          },
          {
            "action": "child_return",
            "parent": "C",
            "child": "D",
            "low_child": 3,
            "discovery_parent": 2,
            "bridge": true,
            "nonroot_cut_condition": false,
            "low_parent_after": 2
          },
          {
            "action": "root_rule",
            "node": "C",
            "DFS_children": 1,
            "cut": false
          }
        ]
      },
      "independent_removal_bridges": [
        [
          "A",
          "B"
        ],
        [
          "C",
          "D"
        ]
      ],
      "independent_removal_articulation": []
    },
    {
      "nodes": [],
      "edges": [],
      "baseline_components": 0,
      "algorithm": {
        "discovery": {},
        "low": {},
        "parent": {},
        "bridges": [],
        "articulation_points": [],
        "trace": []
      },
      "independent_removal_bridges": [],
      "independent_removal_articulation": []
    }
  ],
  "invalid_graphs_rejected": [
    "unknown",
    "parallel",
    "selfloop",
    "directed",
    "over_budget"
  ],
  "scope": "original recursive lowlink on simple undirected unweighted graph, not NetworkX run; vendor bridges uses chain decomposition unlike this exercise; parallel edges require edge IDs and are excluded; cut vertex differs from bridge, SCC, MST or real network outage evidence"
}
