{
  "schema_version": "ocme-derivation-reader-v1",
  "guide_id": "derivation-mko-graph-matching-01",
  "mko_id": "mko-graph-matching",
  "title": {
    "zh-Hant": "P4中maximal與maximum的分界",
    "en": "Maximal versus maximum in P4"
  },
  "contract": {
    "schema_version": "ocme-derivation-guide-v0.1",
    "guide_id": "derivation-mko-graph-matching-01",
    "source": {
      "mko_id": "mko-graph-matching",
      "commit": "b1b2f1dcf8c50d67a93fe52d95f8eef7b3abba9f",
      "sha256": "a8718b439d32013b3b1b480ad7e54789abe034e6599f18fdc9261be210f5f8ed",
      "english_sha256": "eadb3898bbba994e1dd449cd4608128cf1c135fc67776de32bd48bcac1df92c7"
    },
    "mode": "worked_example",
    "audience_prerequisites": [
      "work"
    ],
    "goal": {
      "zh-Hant": "完整核選邊與端點，再分清三種匹配性質。",
      "en": "Audit selected edges and endpoints, then distinguish matching properties."
    },
    "givens": [
      {
        "id": "G1",
        "statement": {
          "zh-Hant": "V={0,1,2,3}；e0={0,1}、e1={1,2}、e2={2,3}是全部邊。M={e1}，N={e0,e2}。",
          "en": "V={0,1,2,3}; all edges are e0={0,1}, e1={1,2}, e2={2,3}. M={e1}, N={e0,e2}."
        }
      }
    ],
    "steps": [
      {
        "id": "S01",
        "uses": [
          "G1",
          "work"
        ],
        "before_tex": "M=\\{e_1\\}",
        "after_tex": "M\\subseteq E,\\quad\\operatorname{ends}(e_1)=\\{1,2\\}",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "M唯一選邊存在於原圖。",
          "en": "The sole selected edge of M exists in the original graph."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "work"
          ],
          "explanation": {
            "zh-Hant": "不存在edge index不能作matching。",
            "en": "A nonexistent edge index cannot belong to a matching."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S02",
        "uses": [
          "G1",
          "S01",
          "work"
        ],
        "before_tex": "|M|=1",
        "after_tex": "M\\text{ is a matching}",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "只有一邊，任兩不同選邊不共端點條件為空真。",
          "en": "With one edge, the no-common-endpoint condition for distinct selected edges is vacuous."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S01",
            "work"
          ],
          "explanation": {
            "zh-Hant": "空真不是省略edge存在性。",
            "en": "Vacuity does not replace edge membership."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S03",
        "uses": [
          "G1",
          "S02",
          "work"
        ],
        "before_tex": "e_0\\cap e_1=\\{1\\},\\quad e_2\\cap e_1=\\{2\\}",
        "after_tex": "M\\cup\\{e_0\\},M\\cup\\{e_2\\}\\text{ are invalid}",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "兩個所有未選邊都與M衝突。",
          "en": "Both unselected edges conflict with M."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S02",
            "work"
          ],
          "explanation": {
            "zh-Hant": "已窮盡E減M，沒有其他可加邊。",
            "en": "E minus M is exhausted; no other addable edge exists."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S04",
        "uses": [
          "G1",
          "S03",
          "work"
        ],
        "before_tex": "\\forall e\\in E\\setminus M:\\ M\\cup\\{e\\}\\text{ invalid}",
        "after_tex": "M\\text{ is inclusion-maximal}",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "不可再加一條邊給maximal，不是最大基數。",
          "en": "No single edge can be added, giving maximality, not maximum cardinality."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S03",
            "work"
          ],
          "explanation": {
            "zh-Hant": "不偷換局部不可擴張為全域比較。",
            "en": "Do not replace local nonextendability with global comparison."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S05",
        "uses": [
          "G1",
          "S04",
          "work"
        ],
        "before_tex": "N=\\{e_0,e_2\\}\\subseteq E",
        "after_tex": "\\{0,1\\}\\cap\\{2,3\\}=\\varnothing",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "N兩邊存在且端點互斥。",
          "en": "Both edges of N exist and have disjoint endpoints."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S04",
            "work"
          ],
          "explanation": {
            "zh-Hant": "M與N不需互為子集合才能比較基數。",
            "en": "M and N need not be nested to compare cardinalities."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S06",
        "uses": [
          "G1",
          "S05",
          "work"
        ],
        "before_tex": "N\\text{ matching},\\quad|N|=2>|M|=1",
        "after_tex": "M\\text{ is not maximum}",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "更大合法matching是M非maximum的完整見證。",
          "en": "A larger valid matching completely witnesses that M is not maximum."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S05",
            "work"
          ],
          "explanation": {
            "zh-Hant": "不需要先求所有matchings才能否定M最優。",
            "en": "Disproving M's optimality does not require first finding all matchings."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S07",
        "uses": [
          "G1",
          "S06",
          "work"
        ],
        "before_tex": "\\bigcup_{e\\in N}\\operatorname{ends}(e)=V",
        "after_tex": "N\\text{ is perfect}",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "N覆蓋四頂點，每個恰一次。",
          "en": "N covers all four vertices exactly once."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S06",
            "work"
          ],
          "explanation": {
            "zh-Hant": "M只覆蓋1、2，故不perfect。",
            "en": "M covers only 1,2 and is not perfect."
          }
        },
        "leaf_basis": "work"
      },
      {
        "id": "S08",
        "uses": [
          "G1",
          "S07",
          "work"
        ],
        "before_tex": "2|Q|\\le|V|=4\\quad\\text{for every matching }Q",
        "after_tex": "|Q|\\le2=|N|",
        "relation": "implies",
        "rule": "work",
        "conditions": [],
        "explanation": {
          "zh-Hant": "端點互斥給全域上界，故N也是maximum。",
          "en": "Disjoint endpoints give a global bound, proving N maximum as well."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S07",
            "work"
          ],
          "explanation": {
            "zh-Hant": "此上界明示，沒有只因perfect名稱便省證。",
            "en": "The bound is explicit rather than hidden behind the word perfect."
          }
        },
        "leaf_basis": "work"
      }
    ],
    "result": {
      "zh-Hant": "M為maximal但非maximum；N為perfect且maximum。",
      "en": "M is maximal but not maximum; N is perfect and maximum."
    },
    "negative_controls": [
      {
        "claim": {
          "zh-Hant": "M maximal故maximum。",
          "en": "M is maximal, hence maximum."
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "N有兩邊，大於M一邊。",
          "en": "N has two edges versus M's one."
        }
      },
      {
        "claim": {
          "zh-Hant": "{e0,e1}是matching。",
          "en": "{e0,e1} is a matching."
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "兩邊共有端點1。",
          "en": "They share vertex 1."
        }
      },
      {
        "claim": {
          "zh-Hant": "maximum必唯一。",
          "en": "A maximum matching must be unique."
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "例如四圈兩組相對邊都可為maximum；此性質不保證唯一。",
          "en": "On a four-cycle either pair of opposite edges is maximum, so uniqueness is not implied."
        }
      }
    ],
    "status": "candidate",
    "gaps": [],
    "verification": {
      "structure": "checked_local_script",
      "mathematics": "candidate_argument",
      "formalization": "not_formalized"
    },
    "rule_glossary": [
      {
        "id": "mko_definition",
        "kind": "cited",
        "statement": {
          "zh-Hant": "完整有限無向簡單圖上核每條選邊存在及端點互斥。另分清matching、maximal、maximum與perfect；較大matching witness可否證maximum，但單一matching不給最優性。",
          "en": "On a fully specified finite simple undirected graph, check that every selected edge exists and that their endpoint sets are disjoint. Distinguish matching, maximal, maximum and perfect. A larger valid matching can disprove maximum cardinality, but one matching alone does not establish optimality."
        },
        "source": {
          "mko_id": "mko-graph-matching",
          "sha256": "a8718b439d32013b3b1b480ad7e54789abe034e6599f18fdc9261be210f5f8ed",
          "commit": "b1b2f1dcf8c50d67a93fe52d95f8eef7b3abba9f"
        }
      },
      {
        "id": "work",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "有限無向簡單圖的邊為無loop、無重複unordered pairs；圖性質須對完整明示V、E逐一檢查。 matching選原邊且不同選邊端點互斥；maximal不能再加邊；maximum基數為全體matching中最大；perfect覆蓋每個頂點一次。",
          "en": "A finite simple undirected graph has loop-free duplicate-free unordered edges; graph properties are audited on all declared V and E. A matching selects original edges with disjoint endpoint sets; maximal means no edge can be added; maximum means greatest cardinality among all matchings; perfect covers every vertex exactly once."
        }
      }
    ],
    "revision_log": [],
    "numeric_checks": [
      {
        "id": "N01",
        "lhs": "4//2",
        "rhs": "2"
      },
      {
        "id": "N02",
        "lhs": "2",
        "rhs": "1",
        "relation": ">"
      }
    ]
  },
  "presentation": {
    "md_scope": {
      "zh-Hant": "所有選邊皆以原圖edge index表示。",
      "en": "Selected edges are identified by original edge indices."
    },
    "md_symbols": [
      [
        "V,E",
        "完整頂點與邊集合",
        "complete vertex and edge sets"
      ],
      [
        "M,N",
        "候選邊集合",
        "candidate edge sets"
      ]
    ],
    "md_error_controls": [
      {
        "title": "edge index / Edge index",
        "zh": "只用e0、e1、e2，先核存在再核端點。",
        "en": "Use only e0,e1,e2; audit membership before endpoints."
      },
      {
        "title": "三種責任 / Three obligations",
        "zh": "matching核合法、maximal核可加、maximum核全域上界。",
        "en": "Matching checks validity, maximality checks additions, maximum checks global bounds."
      }
    ],
    "md_open_items": []
  },
  "revision": {
    "id": "ocme-new142-reader-adoption-20261021",
    "collection": "coverage-20261021",
    "source_commit": "b1b2f1dcf8c50d67a93fe52d95f8eef7b3abba9f",
    "adopted_source_sha256": "22060fb56bf6f78f3fa82bf3167fab58e9952536d67a4ce7133e8e015f9d26c7",
    "original_source_sha256": "4cbd728a4a404d039a883891cd08ccedaba32b8a02eb68156ade1d3055bfc564",
    "owner_adopted": true,
    "bilingual_sync": "complete_source_bound",
    "formal_Lean": "NOT_RUN",
    "reader_review": "142_of_142_source_bound",
    "wording_review": "original_Lead_decisions_resolved",
    "glossary_reader_paraphrases": [
      "mko_definition"
    ],
    "independent_AI_concurrence": "SCOPED_LEAD_AND_BILINGUAL_CONTEXT_REVIEW",
    "issue_ids": [
      "BR142-S041",
      "BR142-P013",
      "BR142-S040"
    ],
    "parent_manifest_sha256": "d29f4cae8229ebd24f60d496cb1d3cd4ad8c0a4dca9d44daab0c3245c544283a",
    "scope": "Owner-adopted reader revision. Lead and bilingual review concern the recorded text and premises; no new universal or Lean proof, canonical promotion or historical-label rewrite."
  }
}
