{
  "name": "Graph algorithms",
  "version": "1.0.0",
  "area": {
    "name": "Graph algorithms",
    "slug": "graphs",
    "group": "Computation",
    "kind": "graph",
    "summary": "A path is a feasible witness; the minimum-distance claim must also exclude shorter paths.",
    "definitions": [
      {
        "term": "Directed edge",
        "definition": "An ordered pair of vertices with a nonnegative weight."
      },
      {
        "term": "Simple path",
        "definition": "A path visiting no vertex twice."
      },
      {
        "term": "Distance",
        "definition": "The sum of the weights along a path."
      }
    ],
    "methodology": [
      "Enumerate every simple source-to-target path in the small graph.",
      "Compute the total weight of each path.",
      "Find the minimum and accept any witness attaining it.",
      "Check the witness edge sequence and objective."
    ],
    "complexity": "Simple-path enumeration can be exponential; nonnegative weights ensure a shortest path can be chosen simple.",
    "common_error": "A locally cheapest outgoing edge need not belong to a globally shortest path.",
    "next_question": "Replace enumeration with distance-label certificates and add max-flow/min-cut records.",
    "references": [
      "https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.flow.minimum_cut.html"
    ]
  },
  "records": [
    {
      "id": "KL-FCS-028",
      "version": "1.0.0",
      "domain": "Graph algorithms",
      "kind": "graph",
      "title": "A shortest path through an intermediate node",
      "problem": "Find the minimum weighted directed path from vertex 0 to vertex 3.",
      "specification": {
        "vertices": 4,
        "edges": [
          [
            0,
            1,
            2
          ],
          [
            0,
            2,
            5
          ],
          [
            1,
            2,
            1
          ],
          [
            1,
            3,
            6
          ],
          [
            2,
            3,
            2
          ]
        ],
        "start": 0,
        "target": 3
      },
      "claim": {
        "minimum_distance": 5
      },
      "witness": {
        "path": [
          0,
          1,
          2,
          3
        ]
      },
      "verification_scope": "Complete simple-path enumeration",
      "explanation": "The supplied sequence is a valid path. Every alternative simple path is scored, so equal-cost optima are accepted and longer alternatives are ruled out.",
      "limitations": "Weights are nonnegative. Negative cycles and unreachable targets require distinct result types.",
      "verification_status": "mechanically-checked",
      "review_status": "awaiting-independent-review",
      "provenance": {
        "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
        "external_dataset": null,
        "model_run": null
      },
      "references": [
        "https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.flow.minimum_cut.html"
      ],
      "license_status": "not-yet-selected",
      "dataset": {
        "family": "graphs",
        "task": "Find the minimum weighted directed path from vertex 0 to vertex 3.",
        "input_encoding": "Structured JSON; field meanings are stated in the specification.",
        "coverage": "Complete simple-path enumeration",
        "acceptance": [
          "Enumerate every simple source-to-target path in the small graph.",
          "Compute the total weight of each path.",
          "Find the minimum and accept any witness attaining it.",
          "Check the witness edge sequence and objective."
        ],
        "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
        "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
      },
      "lesson": {
        "motivation": "A path is a feasible witness; the minimum-distance claim must also exclude shorter paths.",
        "definitions": [
          {
            "term": "Directed edge",
            "definition": "An ordered pair of vertices with a nonnegative weight."
          },
          {
            "term": "Simple path",
            "definition": "A path visiting no vertex twice."
          },
          {
            "term": "Distance",
            "definition": "The sum of the weights along a path."
          }
        ],
        "reasoning": [
          "Enumerate every simple source-to-target path in the small graph.",
          "Compute the total weight of each path.",
          "Find the minimum and accept any witness attaining it.",
          "Check the witness edge sequence and objective."
        ],
        "worked_example": "The supplied sequence is a valid path. Every alternative simple path is scored, so equal-cost optima are accepted and longer alternatives are ruled out.",
        "complexity": "Simple-path enumeration can be exponential; nonnegative weights ensure a shortest path can be chosen simple.",
        "common_error": "A locally cheapest outgoing edge need not belong to a globally shortest path.",
        "further_work": "Replace enumeration with distance-label certificates and add max-flow/min-cut records."
      },
      "related_ids": [
        "KL-FCS-029",
        "KL-FCS-030"
      ]
    },
    {
      "id": "KL-FCS-029",
      "version": "1.0.0",
      "domain": "Graph algorithms",
      "kind": "graph",
      "title": "Two equally short paths",
      "problem": "Find the minimum weighted directed path from vertex 0 to vertex 3.",
      "specification": {
        "vertices": 4,
        "edges": [
          [
            0,
            1,
            1
          ],
          [
            0,
            2,
            1
          ],
          [
            1,
            3,
            2
          ],
          [
            2,
            3,
            2
          ]
        ],
        "start": 0,
        "target": 3
      },
      "claim": {
        "minimum_distance": 3
      },
      "witness": {
        "path": [
          0,
          2,
          3
        ]
      },
      "verification_scope": "Complete simple-path enumeration",
      "explanation": "The supplied sequence is a valid path. Every alternative simple path is scored, so equal-cost optima are accepted and longer alternatives are ruled out.",
      "limitations": "Weights are nonnegative. Negative cycles and unreachable targets require distinct result types.",
      "verification_status": "mechanically-checked",
      "review_status": "awaiting-independent-review",
      "provenance": {
        "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
        "external_dataset": null,
        "model_run": null
      },
      "references": [
        "https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.flow.minimum_cut.html"
      ],
      "license_status": "not-yet-selected",
      "dataset": {
        "family": "graphs",
        "task": "Find the minimum weighted directed path from vertex 0 to vertex 3.",
        "input_encoding": "Structured JSON; field meanings are stated in the specification.",
        "coverage": "Complete simple-path enumeration",
        "acceptance": [
          "Enumerate every simple source-to-target path in the small graph.",
          "Compute the total weight of each path.",
          "Find the minimum and accept any witness attaining it.",
          "Check the witness edge sequence and objective."
        ],
        "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
        "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
      },
      "lesson": {
        "motivation": "A path is a feasible witness; the minimum-distance claim must also exclude shorter paths.",
        "definitions": [
          {
            "term": "Directed edge",
            "definition": "An ordered pair of vertices with a nonnegative weight."
          },
          {
            "term": "Simple path",
            "definition": "A path visiting no vertex twice."
          },
          {
            "term": "Distance",
            "definition": "The sum of the weights along a path."
          }
        ],
        "reasoning": [
          "Enumerate every simple source-to-target path in the small graph.",
          "Compute the total weight of each path.",
          "Find the minimum and accept any witness attaining it.",
          "Check the witness edge sequence and objective."
        ],
        "worked_example": "The supplied sequence is a valid path. Every alternative simple path is scored, so equal-cost optima are accepted and longer alternatives are ruled out.",
        "complexity": "Simple-path enumeration can be exponential; nonnegative weights ensure a shortest path can be chosen simple.",
        "common_error": "A locally cheapest outgoing edge need not belong to a globally shortest path.",
        "further_work": "Replace enumeration with distance-label certificates and add max-flow/min-cut records."
      },
      "related_ids": [
        "KL-FCS-028",
        "KL-FCS-030"
      ]
    },
    {
      "id": "KL-FCS-030",
      "version": "1.0.0",
      "domain": "Graph algorithms",
      "kind": "graph",
      "title": "Zero-weight edges without negative cycles",
      "problem": "Find the minimum weighted directed path from vertex 0 to vertex 3.",
      "specification": {
        "vertices": 4,
        "edges": [
          [
            0,
            1,
            0
          ],
          [
            1,
            2,
            0
          ],
          [
            0,
            2,
            4
          ],
          [
            2,
            3,
            1
          ],
          [
            1,
            3,
            3
          ]
        ],
        "start": 0,
        "target": 3
      },
      "claim": {
        "minimum_distance": 1
      },
      "witness": {
        "path": [
          0,
          1,
          2,
          3
        ]
      },
      "verification_scope": "Complete simple-path enumeration",
      "explanation": "The supplied sequence is a valid path. Every alternative simple path is scored, so equal-cost optima are accepted and longer alternatives are ruled out.",
      "limitations": "Weights are nonnegative. Negative cycles and unreachable targets require distinct result types.",
      "verification_status": "mechanically-checked",
      "review_status": "awaiting-independent-review",
      "provenance": {
        "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
        "external_dataset": null,
        "model_run": null
      },
      "references": [
        "https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.flow.minimum_cut.html"
      ],
      "license_status": "not-yet-selected",
      "dataset": {
        "family": "graphs",
        "task": "Find the minimum weighted directed path from vertex 0 to vertex 3.",
        "input_encoding": "Structured JSON; field meanings are stated in the specification.",
        "coverage": "Complete simple-path enumeration",
        "acceptance": [
          "Enumerate every simple source-to-target path in the small graph.",
          "Compute the total weight of each path.",
          "Find the minimum and accept any witness attaining it.",
          "Check the witness edge sequence and objective."
        ],
        "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
        "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
      },
      "lesson": {
        "motivation": "A path is a feasible witness; the minimum-distance claim must also exclude shorter paths.",
        "definitions": [
          {
            "term": "Directed edge",
            "definition": "An ordered pair of vertices with a nonnegative weight."
          },
          {
            "term": "Simple path",
            "definition": "A path visiting no vertex twice."
          },
          {
            "term": "Distance",
            "definition": "The sum of the weights along a path."
          }
        ],
        "reasoning": [
          "Enumerate every simple source-to-target path in the small graph.",
          "Compute the total weight of each path.",
          "Find the minimum and accept any witness attaining it.",
          "Check the witness edge sequence and objective."
        ],
        "worked_example": "The supplied sequence is a valid path. Every alternative simple path is scored, so equal-cost optima are accepted and longer alternatives are ruled out.",
        "complexity": "Simple-path enumeration can be exponential; nonnegative weights ensure a shortest path can be chosen simple.",
        "common_error": "A locally cheapest outgoing edge need not belong to a globally shortest path.",
        "further_work": "Replace enumeration with distance-label certificates and add max-flow/min-cut records."
      },
      "related_ids": [
        "KL-FCS-028",
        "KL-FCS-029"
      ]
    }
  ],
  "verification": [
    {
      "id": "KL-FCS-028",
      "status": "mechanically-checked",
      "check_units": 3,
      "scope": "Complete simple-path enumeration",
      "review_status": "awaiting-independent-review"
    },
    {
      "id": "KL-FCS-029",
      "status": "mechanically-checked",
      "check_units": 2,
      "scope": "Complete simple-path enumeration",
      "review_status": "awaiting-independent-review"
    },
    {
      "id": "KL-FCS-030",
      "status": "mechanically-checked",
      "check_units": 3,
      "scope": "Complete simple-path enumeration",
      "review_status": "awaiting-independent-review"
    }
  ]
}
