{
  "schema_version": "ocme-derivation-reader-v1",
  "guide_id": "derivation-mko-graph-isomorphism-01",
  "mko_id": "mko-graph-isomorphism",
  "title": {
    "zh-Hant": "圖同構：以完整映射表逐項核對雙射與鄰接當且僅當",
    "en": "Graph isomorphism: checking bijectivity and both directions of adjacency preservation from a complete mapping table"
  },
  "contract": {
    "schema_version": "ocme-derivation-guide-v0.1",
    "guide_id": "derivation-mko-graph-isomorphism-01",
    "source": {
      "mko_id": "mko-graph-isomorphism",
      "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
      "sha256": "36b491efcb2f7e6297c71cc86792ccbd2cc61cace4f61f1b9324257b32a5d09f",
      "english_sha256": "ec4fb7d7ac3e76e9a33d43225389ae22fde71112b0fa77885b4a4282b89c7c54"
    },
    "mode": "worked_example",
    "audience_prerequisites": [
      "graph_basics",
      "function_def",
      "injective_surjective_def",
      "finite_counting_basics",
      "finite_forall"
    ],
    "goal": {
      "zh-Hant": "G 的頂點為 1、2、3、4，邊為 {1,2}、{2,3}、{3,4}、{1,4}；H 的頂點為 a、b、c、d，邊為 {a,c}、{b,c}、{b,d}、{a,d}。證明映射 f：1↦a、2↦c、3↦b、4↦d 是圖同構 G→H；說明雙射 g：1↦a、2↦b、3↦c、4↦d 不是同構；並證明路徑 P（邊 {1,2}、{2,3}、{3,4}）與 H 不同構，即使 f 把 P 的每條邊都送到 H 的邊。",
      "en": "G has vertices 1, 2, 3, 4 and edges {1,2}, {2,3}, {3,4}, {1,4}; H has vertices a, b, c, d and edges {a,c}, {b,c}, {b,d}, {a,d}. Prove that f: 1↦a, 2↦c, 3↦b, 4↦d is a graph isomorphism G→H; show that the bijection g: 1↦a, 2↦b, 3↦c, 4↦d is not an isomorphism; and prove that the path P (edges {1,2}, {2,3}, {3,4}) is not isomorphic to H, even though f sends every edge of P to an edge of H."
    },
    "givens": [
      {
        "id": "G1",
        "statement": {
          "zh-Hant": "G：V(G)={1,2,3,4}，E(G)={{1,2},{2,3},{3,4},{1,4}}（完整列出）。",
          "en": "G: V(G)={1,2,3,4}, E(G)={{1,2},{2,3},{3,4},{1,4}} (complete list)."
        }
      },
      {
        "id": "G2",
        "statement": {
          "zh-Hant": "H：V(H)={a,b,c,d}，E(H)={{a,c},{b,c},{b,d},{a,d}}（完整列出）。",
          "en": "H: V(H)={a,b,c,d}, E(H)={{a,c},{b,c},{b,d},{a,d}} (complete list)."
        }
      },
      {
        "id": "G3",
        "statement": {
          "zh-Hant": "映射表 f：f(1)=a、f(2)=c、f(3)=b、f(4)=d。",
          "en": "Mapping table f: f(1)=a, f(2)=c, f(3)=b, f(4)=d."
        }
      },
      {
        "id": "G4",
        "statement": {
          "zh-Hant": "對照：映射表 g：g(1)=a、g(2)=b、g(3)=c、g(4)=d；路徑圖 P：V(P)={1,2,3,4}，E(P)={{1,2},{2,3},{3,4}}。",
          "en": "For comparison: mapping table g: g(1)=a, g(2)=b, g(3)=c, g(4)=d; path graph P: V(P)={1,2,3,4}, E(P)={{1,2},{2,3},{3,4}}."
        }
      }
    ],
    "steps": [
      {
        "id": "S01",
        "uses": [
          "G1",
          "G2",
          "G3"
        ],
        "before_tex": "f:V(G)\\to V(H)\\ \\text{is an isomorphism}",
        "after_tex": "f\\ \\text{bijective}\\ \\land\\ \\forall u\\neq v:\\ (\\{u,v\\}\\in E(G)\\Leftrightarrow\\{f(u),f(v)\\}\\in E(H))",
        "relation": "definition",
        "rule": "mko_iso_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "依 MKO 展開同構的定義：兩項資格必須都成立。第一項是 f 為雙射；第二項是對每一對相異頂點，「在 G 中相鄰」與「像在 H 中相鄰」同真同假。第二項是當且僅當：邊要送到邊，非邊也要送到非邊。",
          "en": "Unfold the definition of the MKO: both requirements must hold. First, f is a bijection; second, for every pair of distinct vertices, 'adjacent in G' and 'images adjacent in H' are true or false together. The second requirement is an iff: edges must go to edges and nonedges to nonedges."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mko_iso_def"
          ],
          "explanation": {
            "zh-Hant": "此步只展開定義，不推出新事實；之後先核雙射（S02 到 S05），再核鄰接條件（S06 到 S10）。",
            "en": "This step only unfolds the definition; bijectivity is checked first (S02 to S05), then the adjacency condition (S06 to S10)."
          }
        },
        "leaf_basis": "mko_iso_def + def_unfold"
      },
      {
        "id": "S02",
        "uses": [
          "G1",
          "G2",
          "G3"
        ],
        "before_tex": "f(1)=a,\\ f(2)=c,\\ f(3)=b,\\ f(4)=d",
        "after_tex": "f:V(G)\\to V(H)\\ \\text{is a function}",
        "relation": "implies",
        "rule": "function_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "映射表對 V(G) 的四個頂點各給恰好一個值，而且每個值都在 V(H) 中，所以 f 是 V(G) 到 V(H) 的函數。表是完整的（假設 a1），沒有未定義的頂點。",
          "en": "The table gives exactly one value to each of the four vertices of V(G), and every value lies in V(H), so f is a function from V(G) to V(H). The table is complete (assumption a1), with no undefined vertex."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G3",
            "function_def"
          ],
          "explanation": {
            "zh-Hant": "需要每個頂點恰有一筆映射紀錄、值在 V(H) 中；兩者都可直接從表讀出。",
            "en": "It needs exactly one row per vertex with a value in V(H); both are read directly from the table."
          }
        },
        "leaf_basis": "function_def"
      },
      {
        "id": "S03",
        "uses": [
          "S02"
        ],
        "before_tex": "f(1),f(2),f(3),f(4)=a,c,b,d",
        "after_tex": "f(u)=f(v)\\Rightarrow u=v",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "四個像 a、c、b、d 兩兩相異（共 C(4,2)=6 組比較），所以相異頂點的像必相異，等價地 f(u)=f(v) 推出 u=v：f 是單射。",
          "en": "The four images a, c, b, d are pairwise distinct (C(4,2)=6 comparisons), so distinct vertices have distinct images; equivalently f(u)=f(v) implies u=v, and f is injective."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S02",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "六組比較全部完成；只宣稱單射，不由此推出鄰接條件。",
            "en": "All six comparisons are made; only injectivity is claimed, nothing about adjacency."
          }
        },
        "leaf_basis": "injective_surjective_def + finite_forall"
      },
      {
        "id": "S04",
        "uses": [
          "S02",
          "G2"
        ],
        "before_tex": "V(H)=\\{a,b,c,d\\}",
        "after_tex": "a=f(1),\\ b=f(3),\\ c=f(2),\\ d=f(4)",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "對 V(H) 的每個元素找到原像：a=f(1)、b=f(3)、c=f(2)、d=f(4)。所以 f 是滿射。",
          "en": "Find a preimage for every element of V(H): a=f(1), b=f(3), c=f(2), d=f(4). So f is surjective."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S02",
            "G2",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "每個 V(H) 元素都只需一個原像；四個元素都已列出。",
            "en": "Each element of V(H) needs only one preimage, and all four are listed."
          }
        },
        "leaf_basis": "injective_surjective_def + exists_intro + finite_forall"
      },
      {
        "id": "S05",
        "uses": [
          "S03",
          "S04"
        ],
        "before_tex": "f\\ \\text{injective},\\ f\\ \\text{surjective}",
        "after_tex": "f\\ \\text{bijective};\\ f^{-1}:\\ a\\mapsto 1,\\ b\\mapsto 3,\\ c\\mapsto 2,\\ d\\mapsto 4",
        "relation": "implies",
        "rule": "and_intro_elim",
        "conditions": [],
        "explanation": {
          "zh-Hant": "單射且滿射即雙射，並有唯一反函數 f⁻¹，由映射表反讀得到。第一項資格成立。",
          "en": "Injective and surjective means bijective, with a unique inverse f⁻¹ read off the table backwards. The first requirement holds."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S03",
            "S04",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "雙射只是第一項資格；它本身不推出同構（S12 的 g 也是雙射）。",
            "en": "Bijectivity is only the first requirement; on its own it does not give an isomorphism (g in S12 is also a bijection)."
          }
        },
        "leaf_basis": "and_intro_elim + injective_surjective_def"
      },
      {
        "id": "S06",
        "uses": [
          "S01",
          "G1",
          "finite_forall"
        ],
        "before_tex": "\\forall u\\neq v\\in V(G):\\ (\\{u,v\\}\\in E(G)\\Leftrightarrow\\{f(u),f(v)\\}\\in E(H))",
        "after_tex": "\\text{the iff for each of the}\\ \\tbinom42=6\\ \\text{unordered pairs}",
        "relation": "equivalent",
        "rule": "finite_forall",
        "conditions": [],
        "explanation": {
          "zh-Hant": "條件對 (u,v) 與 (v,u) 是同一個命題，因為 {u,v}={v,u} 且 {f(u),f(v)}={f(v),f(u)}。相異頂點的有序對恰好是 6 個無序對各取兩種順序，所以全稱條件等價於對 6 個無序對 {1,2}、{1,3}、{1,4}、{2,3}、{2,4}、{3,4} 逐一成立。",
          "en": "The condition for (u,v) and for (v,u) is the same statement, since {u,v}={v,u} and {f(u),f(v)}={f(v),f(u)}. The ordered pairs of distinct vertices are exactly the 6 unordered pairs taken in both orders, so the universal condition is equivalent to its holding for each of the 6 unordered pairs {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, {3,4}."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "finite_forall",
            "set_extensionality"
          ],
          "explanation": {
            "zh-Hant": "全稱推出每個實例（∀ 消去）；6 個實例列表完整時，全部成立推出全稱。雙向成立。",
            "en": "The universal gives each instance (∀-elimination); with the complete list of 6 instances, all of them together give the universal. Both directions hold."
          }
        },
        "leaf_basis": "finite_forall + forall_elim + finite_counting_basics"
      },
      {
        "id": "S07",
        "uses": [
          "S06",
          "G3"
        ],
        "before_tex": "\\{u,v\\}\\mapsto\\{f(u),f(v)\\}",
        "after_tex": "\\{1,2\\}\\mapsto\\{a,c\\},\\ \\{1,3\\}\\mapsto\\{a,b\\},\\ \\{1,4\\}\\mapsto\\{a,d\\},\\ \\{2,3\\}\\mapsto\\{b,c\\},\\ \\{2,4\\}\\mapsto\\{c,d\\},\\ \\{3,4\\}\\mapsto\\{b,d\\}",
        "relation": "equivalent",
        "rule": "function_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "對 6 個無序對查表求像。例如 {2,3} 的像是 {f(2),f(3)}={c,b}={b,c}。因 f 是單射，每個像仍是兩個相異頂點的集合。",
          "en": "Look up the image of each of the 6 unordered pairs. For example the image of {2,3} is {f(2),f(3)}={c,b}={b,c}. Since f is injective, each image is again a set of two distinct vertices."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "function_def",
            "S05"
          ],
          "explanation": {
            "zh-Hant": "查表是等值代換；用 f⁻¹ 可把每個像倒推回原來的對，雙向成立。",
            "en": "Looking up values replaces equals; f⁻¹ maps each image back to its pair, so the step is two-way."
          }
        },
        "leaf_basis": "function_def + eq_replace"
      },
      {
        "id": "S08",
        "uses": [
          "G1",
          "S06"
        ],
        "before_tex": "\\{u,v\\}\\in E(G)\\ ?",
        "after_tex": "\\{1,2\\},\\{2,3\\},\\{3,4\\},\\{1,4\\}\\in E(G);\\ \\{1,3\\},\\{2,4\\}\\notin E(G)",
        "relation": "case_split",
        "rule": "case_analysis",
        "conditions": [],
        "explanation": {
          "zh-Hant": "把 6 個無序對依「是否為 G 的邊」分成兩類：四條邊與兩條非邊。因為 E(G) 是完整列出的，未列出的對就是非邊。",
          "en": "Split the 6 unordered pairs by whether they are edges of G: four edges and two nonedges. Since E(G) is listed completely, an unlisted pair is a nonedge."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "case_analysis"
          ],
          "explanation": {
            "zh-Hant": "兩類涵蓋全部 6 對，且互斥；需要 E(G) 列表完整，否則「未列出」不代表非邊。",
            "en": "The two classes cover all 6 pairs and are disjoint; the complete list of E(G) is needed, otherwise 'not listed' would not mean nonedge."
          }
        },
        "leaf_basis": "case_analysis + graph_basics"
      },
      {
        "id": "S09",
        "uses": [
          "G2",
          "S07"
        ],
        "before_tex": "\\{f(u),f(v)\\}\\in E(H)\\ ?",
        "after_tex": "\\{a,c\\},\\{b,c\\},\\{b,d\\},\\{a,d\\}\\in E(H);\\ \\{a,b\\},\\{c,d\\}\\notin E(H)",
        "relation": "implies",
        "rule": "graph_basics",
        "conditions": [],
        "explanation": {
          "zh-Hant": "對 S07 的 6 個像查 H 的完整邊表：{a,c}、{b,c}、{b,d}、{a,d} 在表中；{a,b}、{c,d} 不在表中，所以是 H 的非邊。",
          "en": "Look up the 6 images of S07 in the complete edge list of H: {a,c}, {b,c}, {b,d}, {a,d} are listed; {a,b} and {c,d} are not, so they are nonedges of H."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G2",
            "S07",
            "graph_basics"
          ],
          "explanation": {
            "zh-Hant": "只需逐一查表；非邊的判定依賴 E(H) 列表完整（假設 a1）。",
            "en": "It needs only table lookups; deciding nonedges relies on the complete list of E(H) (assumption a1)."
          }
        },
        "leaf_basis": "graph_basics + set_operations_def"
      },
      {
        "id": "S10",
        "uses": [
          "S07",
          "S08",
          "S09"
        ],
        "before_tex": "\\text{edge status of}\\ \\{u,v\\}\\ \\text{in}\\ G\\ \\text{and of its image in}\\ H",
        "after_tex": "\\{u,v\\}\\in E(G)\\Leftrightarrow\\{f(u),f(v)\\}\\in E(H)\\ \\text{for all 6 pairs}",
        "relation": "implies",
        "rule": "iff_intro",
        "conditions": [],
        "explanation": {
          "zh-Hant": "逐對比較：G 的四條邊 {1,2}、{2,3}、{3,4}、{1,4} 的像 {a,c}、{b,c}、{b,d}、{a,d} 都是 H 的邊；G 的兩條非邊 {1,3}、{2,4} 的像 {a,b}、{c,d} 都是 H 的非邊。每一對的兩邊同真或同假，所以每一對的當且僅當都成立。",
          "en": "Compare pair by pair: the images {a,c}, {b,c}, {b,d}, {a,d} of the four edges {1,2}, {2,3}, {3,4}, {1,4} of G are edges of H; the images {a,b}, {c,d} of the two nonedges {1,3}, {2,4} of G are nonedges of H. For every pair both sides are true together or false together, so each iff holds."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S08",
            "S09",
            "iff_intro",
            "case_analysis"
          ],
          "explanation": {
            "zh-Hant": "邊的情況給出「⇒」方向，非邊的情況給出「⇐」方向（逆否形式：G 的非邊對應 H 的非邊）。缺少任何一類都不能得到當且僅當。",
            "en": "The edge case gives the '⇒' direction and the nonedge case gives '⇐' (in contrapositive form: nonedges of G match nonedges of H). Missing either class would not give the iff."
          }
        },
        "leaf_basis": "iff_intro + case_analysis + finite_forall"
      },
      {
        "id": "S11",
        "uses": [
          "S01",
          "S05",
          "S06",
          "S10"
        ],
        "before_tex": "f\\ \\text{bijective},\\ \\text{iff on all 6 pairs}",
        "after_tex": "f:G\\to H\\ \\text{is an isomorphism},\\ G\\cong H",
        "relation": "implies",
        "rule": "mko_iso_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "雙射由 S05 得到；S06 把全稱鄰接條件化成 6 對，S10 對 6 對都成立。依 S01 的定義，f 是同構，所以 G≅H。這個結論只依賴完整映射表與完整邊表，不依賴度數或圖形外觀。",
          "en": "Bijectivity comes from S05; S06 reduces the universal adjacency condition to 6 pairs, and S10 establishes all 6. By the definition in S01, f is an isomorphism, so G≅H. The conclusion depends only on the complete mapping table and complete edge lists, not on degrees or how the figures look."
        },
        "reverse_audit": {
          "kind": "sufficient_goal_reduction",
          "required_ids": [
            "S01",
            "S05",
            "S06",
            "S10"
          ],
          "explanation": {
            "zh-Hant": "目標 G：f 是同構。足夠條件 H：f 雙射且 6 對的當且僅當都成立；H⇒G 由 S01、S06。H 由 S02 到 S10 正向證成，沒有把 G 當作前提。",
            "en": "Goal G: f is an isomorphism. Sufficient condition H: f is bijective and the iff holds on all 6 pairs; H⇒G by S01 and S06. H is proved forwards in S02 to S10; G is never used as a premise."
          }
        },
        "leaf_basis": "mko_iso_def + and_intro_elim"
      },
      {
        "id": "S12",
        "uses": [
          "S01",
          "G1",
          "G2",
          "G4"
        ],
        "before_tex": "g(1)=a,\\ g(2)=b,\\ \\{1,2\\}\\in E(G)",
        "after_tex": "\\{g(1),g(2)\\}=\\{a,b\\}\\notin E(H)\\Rightarrow g\\ \\text{not an isomorphism}",
        "relation": "implies",
        "rule": "contradiction",
        "conditions": [],
        "explanation": {
          "zh-Hant": "g 的四個像 a、b、c、d 相異且涵蓋 V(H)，所以 g 也是雙射。但 {1,2} 是 G 的邊，其像 {a,b} 不是 H 的邊，當且僅當在這一對失敗。全稱條件只要一個反例就被否定，所以 g 不是同構。可見雙射本身不夠。",
          "en": "The four images a, b, c, d of g are distinct and cover V(H), so g is also a bijection. But {1,2} is an edge of G while its image {a,b} is not an edge of H, so the iff fails at this pair. One counterexample refutes the universal condition, so g is not an isomorphism. Bijectivity alone is not enough."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "G2",
            "G4",
            "contradiction"
          ],
          "explanation": {
            "zh-Hant": "否證只需一個失敗的對；此步不宣稱 G 與 H 不同構（S11 已證同構），只說 g 這張表不是同構。",
            "en": "Refutation needs one failing pair; the step does not claim G and H are non-isomorphic (S11 proves they are), only that the table g is not an isomorphism."
          }
        },
        "leaf_basis": "contradiction + quantifier_negation + injective_surjective_def"
      },
      {
        "id": "S13",
        "uses": [
          "G4",
          "G3",
          "G2"
        ],
        "before_tex": "f\\ \\text{on}\\ P:\\ \\{1,2\\},\\{2,3\\},\\{3,4\\}\\mapsto\\{a,c\\},\\{b,c\\},\\{b,d\\}",
        "after_tex": "\\text{every edge of}\\ P\\ \\text{goes to an edge of}\\ H",
        "relation": "implies",
        "rule": "graph_basics",
        "conditions": [],
        "explanation": {
          "zh-Hant": "把 f 看成 V(P) 到 V(H) 的雙射：P 的三條邊的像 {a,c}、{b,c}、{b,d} 都在 E(H) 中。所以 f 「保邊」。這正是 MKO 警告的情況：保邊還不夠。",
          "en": "Regard f as a bijection V(P)→V(H): the images {a,c}, {b,c}, {b,d} of the three edges of P all lie in E(H). So f 'preserves edges'. This is exactly the situation the MKO warns about: preserving edges is not enough."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G4",
            "G3",
            "G2"
          ],
          "explanation": {
            "zh-Hant": "只核了「⇒」方向；不宣稱非邊也被保持（S14 證明它沒有被保持）。",
            "en": "Only the '⇒' direction is checked; it does not claim that nonedges are preserved (S14 shows they are not)."
          }
        },
        "leaf_basis": "graph_basics + function_def"
      },
      {
        "id": "S14",
        "uses": [
          "S13",
          "G4",
          "G2"
        ],
        "before_tex": "\\{1,4\\}\\notin E(P)",
        "after_tex": "\\{f(1),f(4)\\}=\\{a,d\\}\\in E(H)\\Rightarrow f\\ \\text{is not an isomorphism}\\ P\\to H",
        "relation": "implies",
        "rule": "contradiction",
        "conditions": [],
        "explanation": {
          "zh-Hant": "{1,4} 不是 P 的邊（P 的邊表完整），但其像 {a,d} 是 H 的邊。當且僅當的「⇐」方向失敗，所以 f 不是 P 到 H 的同構。只核原邊映成邊就宣稱同構是錯的。",
          "en": "{1,4} is not an edge of P (the edge list of P is complete), but its image {a,d} is an edge of H. The '⇐' direction of the iff fails, so f is not an isomorphism P→H. Declaring an isomorphism after checking only that edges go to edges is wrong."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G4",
            "G2",
            "contradiction"
          ],
          "explanation": {
            "zh-Hant": "這只否證 f 這張表；P 與 H 是否完全不同構，需要 S15 的不變量論證。",
            "en": "This refutes only the table f; whether P and H are non-isomorphic altogether needs the invariant argument of S15."
          }
        },
        "leaf_basis": "contradiction + quantifier_negation"
      },
      {
        "id": "S15",
        "uses": [
          "G2",
          "G4"
        ],
        "before_tex": "|E(P)|=3,\\ |E(H)|=4",
        "after_tex": "\\text{no isomorphism}\\ P\\to H\\ \\text{exists}",
        "relation": "implies",
        "rule": "L_edge_bij",
        "conditions": [
          "3\\neq 4"
        ],
        "explanation": {
          "zh-Hant": "依引理 L_edge_bij（S15.1 到 S15.3 證明），任何同構 φ:P→H 都給出 E(P) 到 E(H) 的雙射，因此 |E(P)|=|E(H)|。但 3≠4，取逆否，不存在任何同構 P→H，不只是 f 不行。邊數這個不變量不符就足以否證。",
          "en": "By Lemma L_edge_bij (proved in S15.1 to S15.3), any isomorphism φ:P→H gives a bijection E(P)→E(H), so |E(P)|=|E(H)|. But 3≠4, so by contraposition there is no isomorphism P→H at all, not merely that f fails. A mismatch of the edge-count invariant suffices to refute."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "L_edge_bij",
            "contrapositive"
          ],
          "explanation": {
            "zh-Hant": "用的是「同構 ⇒ 邊數相等」的逆否；反向「邊數相等 ⇒ 同構」不成立，不宣稱。",
            "en": "It uses the contrapositive of 'isomorphic ⇒ equal edge counts'; the converse 'equal edge counts ⇒ isomorphic' is false and not claimed."
          }
        },
        "leaf_basis": "L_edge_bij + contrapositive + numeric_evaluation"
      },
      {
        "id": "S15.1",
        "uses": [
          "mko_iso_def",
          "injective_surjective_def"
        ],
        "before_tex": "\\{u,v\\}\\in E(G)",
        "after_tex": "\\{\\varphi(u),\\varphi(v)\\}\\in E(H)",
        "relation": "implies",
        "rule": "mko_iso_def",
        "conditions": [
          "\\varphi\\ \\text{isomorphism}"
        ],
        "explanation": {
          "zh-Hant": "設 φ 為同構、{u,v} 為 G 的邊，則 u≠v，單射給 φ(u)≠φ(v)，而當且僅當的「⇒」方向給 {φ(u),φ(v)}∈E(H)。所以這個對應確實把 E(G) 送進 E(H)。",
          "en": "Let φ be an isomorphism and {u,v} an edge of G. Then u≠v, injectivity gives φ(u)≠φ(v), and the '⇒' direction of the iff gives {φ(u),φ(v)}∈E(H). So the correspondence really maps E(G) into E(H)."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mko_iso_def",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "只用到當且僅當的一個方向與單射；此子步不使用 L_edge_bij。",
            "en": "Only one direction of the iff and injectivity are used; this sub-step does not use L_edge_bij."
          }
        },
        "leaf_basis": "mko_iso_def + injective_surjective_def"
      },
      {
        "id": "S15.2",
        "uses": [
          "S15.1",
          "injective_surjective_def"
        ],
        "before_tex": "\\{\\varphi(u),\\varphi(v)\\}=\\{\\varphi(u'),\\varphi(v')\\}",
        "after_tex": "\\{u,v\\}=\\{u',v'\\}",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [
          "\\varphi\\ \\text{bijective}"
        ],
        "explanation": {
          "zh-Hant": "把反函數 φ⁻¹ 逐元素作用在兩個相等的二元集合上：φ⁻¹ 送 {φ(u),φ(v)} 到 {u,v}，送 {φ(u′),φ(v′)} 到 {u′,v′}，所以兩個邊相同。邊的對應是單射。",
          "en": "Apply the inverse φ⁻¹ elementwise to the two equal two-element sets: it sends {φ(u),φ(v)} to {u,v} and {φ(u′),φ(v′)} to {u′,v′}, so the two edges are the same. The edge correspondence is injective."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "需要 φ⁻¹ 存在，即 φ 為雙射；此子步不使用 L_edge_bij。",
            "en": "It needs φ⁻¹ to exist, that is, φ bijective; this sub-step does not use L_edge_bij."
          }
        },
        "leaf_basis": "injective_surjective_def + function_def"
      },
      {
        "id": "S15.3",
        "uses": [
          "S15.1",
          "S15.2",
          "mko_iso_def",
          "finite_counting_basics"
        ],
        "before_tex": "\\{p,q\\}\\in E(H)",
        "after_tex": "\\{\\varphi^{-1}(p),\\varphi^{-1}(q)\\}\\in E(G)\\ \\Rightarrow\\ |E(G)|=|E(H)|",
        "relation": "implies",
        "rule": "mko_iso_def",
        "conditions": [
          "\\varphi\\ \\text{isomorphism}"
        ],
        "explanation": {
          "zh-Hant": "給 H 的邊 {p,q}，令 u=φ⁻¹(p)、v=φ⁻¹(q)，則 u≠v 且 {φ(u),φ(v)}={p,q}∈E(H)；當且僅當的「⇐」方向給 {u,v}∈E(G)，它被送到 {p,q}。所以邊的對應是滿射。結合 S15.1、S15.2，它是有限集合 E(G) 到 E(H) 的雙射，依有限計數 |E(G)|=|E(H)|。S15.1 到 S15.3 合起來證得引理 L_edge_bij。",
          "en": "Given an edge {p,q} of H, let u=φ⁻¹(p) and v=φ⁻¹(q); then u≠v and {φ(u),φ(v)}={p,q}∈E(H), so the '⇐' direction of the iff gives {u,v}∈E(G), which is sent to {p,q}. The edge correspondence is therefore surjective. With S15.1 and S15.2 it is a bijection between the finite sets E(G) and E(H), so |E(G)|=|E(H)| by finite counting. S15.1 to S15.3 together prove Lemma L_edge_bij."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mko_iso_def",
            "finite_counting_basics"
          ],
          "explanation": {
            "zh-Hant": "滿射這一步正是用到「非邊對應非邊」那一半的當且僅當；只保邊的映射不保證這一步。此子步不使用 L_edge_bij。",
            "en": "Surjectivity is exactly where the 'nonedges to nonedges' half of the iff is used; an edge-preserving map does not guarantee it. This sub-step does not use L_edge_bij."
          }
        },
        "leaf_basis": "mko_iso_def + injective_surjective_def + finite_counting_basics"
      },
      {
        "id": "S16",
        "uses": [
          "G1",
          "G2",
          "S11"
        ],
        "before_tex": "\\deg\\ \\text{in}\\ G\\ \\text{and}\\ H",
        "after_tex": "\\{2,2,2,2\\}=\\{2,2,2,2\\}",
        "relation": "implies",
        "rule": "graph_basics",
        "conditions": [],
        "explanation": {
          "zh-Hant": "G 中 N(1)={2,4}、N(2)={1,3}、N(3)={2,4}、N(4)={1,3}；H 中 N(a)={c,d}、N(b)={c,d}、N(c)={a,b}、N(d)={a,b}；所有度數都是 2，握手引理核對 4·2=2·4。度數多重集相符與 S11 一致。一般而言它只是必要條件，C6 與兩個三角形反駁一般充分性；但本題是四頂點、度數全為 2 的簡單圖，這個特殊條件確實迫使兩圖都是 C4。本稿選用 S11 的完整映射直接作證，沒有使用這個分類路徑。",
          "en": "In G, N(1)={2,4}, N(2)={1,3}, N(3)={2,4}, N(4)={1,3}; in H, N(a)={c,d}, N(b)={c,d}, N(c)={a,b}, N(d)={a,b}; every degree is 2, and the handshake lemma checks 4·2=2·4. The matching degree multiset is consistent with S11. In general it is only necessary: C6 and two triangles refute general sufficiency. Here, however, a simple graph on four vertices with all degrees 2 is necessarily C4, so this special condition forces both graphs to be C4. This guide instead selects the complete map proof of S11 and does not use that classification route."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "G2",
            "graph_basics"
          ],
          "explanation": {
            "zh-Hant": "本稿只把此步記為與結論一致的不變量核對；S11 的直接映射證明不依賴它。若補上四頂點 2-正則簡單圖必為 C4 的分類論證，也可另成證明路徑。",
            "en": "This guide records the step as a consistency check of an invariant; the direct map proof of S11 does not depend on it. Adding the classification that a four-vertex simple 2-regular graph is C4 would provide another proof route."
          }
        },
        "leaf_basis": "graph_basics + numeric_evaluation"
      }
    ],
    "result": {
      "zh-Hant": "f：1↦a、2↦c、3↦b、4↦d 是雙射，且 6 個無序頂點對的鄰接當且僅當全部成立，所以 f 是同構，G≅H。雙射 g 在 {1,2}↦{a,b} 失敗，不是同構。f 把路徑 P 的每條邊送到 H 的邊，卻把非邊 {1,4} 送到邊 {a,d}；而且依引理 L_edge_bij，|E(P)|=3≠4=|E(H)|，P 與 H 不同構。",
      "en": "f: 1↦a, 2↦c, 3↦b, 4↦d is a bijection and the adjacency iff holds on all 6 unordered vertex pairs, so f is an isomorphism and G≅H. The bijection g fails at {1,2}↦{a,b} and is not an isomorphism. f sends every edge of the path P to an edge of H but sends the nonedge {1,4} to the edge {a,d}; and by Lemma L_edge_bij, |E(P)|=3≠4=|E(H)|, so P and H are not isomorphic."
    },
    "negative_controls": [
      {
        "claim": {
          "zh-Hant": "對任意兩個有限無向簡單圖，只要度數多重集相同，就足以推出兩圖同構",
          "en": "For any two finite undirected simple graphs, equality of their degree multisets is sufficient to imply that the graphs are isomorphic"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "C6 與兩個不相交三角形的度數多重集相同卻不同構，否定這個一般主張。本題四頂點且度數全2是特殊情形，確實迫使兩圖都是C4；本稿仍以S11映射表直接證明G≅H。",
          "en": "C6 and two disjoint triangles have the same degree multiset but are not isomorphic, refuting the general claim. Four vertices all of degree 2 form a special case that does force both graphs to be C4; this guide nevertheless proves G≅H directly using the map in S11."
        }
      },
      {
        "claim": {
          "zh-Hant": "f 把 P 的每條邊都送到 H 的邊，所以 f 是 P 到 H 的同構",
          "en": "f sends every edge of P to an edge of H, so f is an isomorphism P→H"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "非邊 {1,4} 被送到 H 的邊 {a,d}。",
          "en": "The nonedge {1,4} is sent to the edge {a,d} of H."
        }
      },
      {
        "claim": {
          "zh-Hant": "g 是 V(G) 到 V(H) 的雙射，所以 g 是同構",
          "en": "g is a bijection V(G)→V(H), so g is an isomorphism"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "{1,2}∈E(G) 但 {g(1),g(2)}={a,b}∉E(H)。",
          "en": "{1,2}∈E(G) but {g(1),g(2)}={a,b}∉E(H)."
        }
      },
      {
        "claim": {
          "zh-Hant": "P 與 H 都有四個頂點，所以適當選映射表就能讓它們同構",
          "en": "P and H both have four vertices, so a suitable mapping table makes them isomorphic"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "依 L_edge_bij，同構需要邊數相等，但 |E(P)|=3≠4=|E(H)|。",
          "en": "By L_edge_bij an isomorphism needs equal edge counts, but |E(P)|=3≠4=|E(H)|."
        }
      }
    ],
    "status": "candidate",
    "gaps": [],
    "verification": {
      "structure": "checked_local_script",
      "mathematics": "candidate_argument",
      "formalization": "not_formalized"
    },
    "rule_glossary": [
      {
        "id": "graph_basics",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "（簡單無向）圖：G=(V,E)，E 中每條邊是 V 中兩個相異頂點的無序對；頂點度數是與它相連的邊數；握手引理 Σ_v deg(v)=2|E|。",
          "en": "(Simple undirected) graph: G=(V,E), where each edge is an unordered pair of distinct vertices; the degree of a vertex is the number of edges at it; handshake lemma Σ_v deg(v)=2|E|."
        }
      },
      {
        "id": "function_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "函數：f:A→B 對每個 a∈A 指定恰好一個 f(a)∈B。兩函數相等 ⇔ 定義域、對應域相同且對每個 a 都有相同值。",
          "en": "Function: f:A→B assigns to each a∈A exactly one f(a)∈B. Two functions are equal ⇔ they have the same domain and codomain and agree at every a."
        }
      },
      {
        "id": "injective_surjective_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "單射：f(a)=f(a′) ⇒ a=a′。滿射：每個 b∈B 都有 a∈A 使 f(a)=b。雙射：既單又滿，此時有唯一反函數 f⁻¹ 使 f⁻¹∘f=id_A、f∘f⁻¹=id_B。",
          "en": "Injective: f(a)=f(a′) ⇒ a=a′. Surjective: every b∈B has some a∈A with f(a)=b. Bijective: both; then there is a unique inverse f⁻¹ with f⁻¹∘f=id_A and f∘f⁻¹=id_B."
        }
      },
      {
        "id": "finite_counting_basics",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "有限計數：互斥有限集合 A、B 有 |A∪B|=|A|+|B|；|A×B|=|A|·|B|；有限集之間存在雙射 ⇔ 元素個數相同。",
          "en": "Finite counting: for disjoint finite sets A, B, |A∪B|=|A|+|B|; |A×B|=|A|·|B|; there is a bijection between finite sets ⇔ they have the same number of elements."
        }
      },
      {
        "id": "def_unfold",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "展開定義：把一個已定義的詞換成它的定義內容（或反向收回），命題的真假不變。",
          "en": "Unfolding a definition: replacing a defined term by its definition (or folding it back) does not change whether a statement is true."
        }
      },
      {
        "id": "exists_intro",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "∃引入：若找到 a∈D 使 P(a) 成立，則 ∃x∈D, P(x)。",
          "en": "∃-introduction: if some a∈D satisfies P(a), then ∃x∈D, P(x)."
        }
      },
      {
        "id": "and_intro_elim",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "合取：由 P 與 Q 得 P∧Q；由 P∧Q 可分別得 P 與 Q。",
          "en": "Conjunction: from P and Q infer P∧Q; from P∧Q infer P and infer Q."
        }
      },
      {
        "id": "forall_elim",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "∀消去（代入特例）：若 ∀x∈D, P(x) 成立且 a∈D，則 P(a) 成立。",
          "en": "∀-elimination (instantiation): if ∀x∈D, P(x) holds and a∈D, then P(a) holds."
        }
      },
      {
        "id": "set_extensionality",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "集合相等：A=B 當且僅當 A⊆B 且 B⊆A，即兩者有相同元素。",
          "en": "Set equality: A=B if and only if A⊆B and B⊆A, i.e. they have the same elements."
        }
      },
      {
        "id": "eq_replace",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "等值代換：命題中的一個式子可換成與它相等的式子，命題的真假不變。",
          "en": "Replacement of equals: an expression inside a statement may be replaced by an equal expression without changing whether the statement is true."
        }
      },
      {
        "id": "case_analysis",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "分情況論證：若 P∨Q 成立，且 P⇒R、Q⇒R 都已證，則 R 成立。所有情況必須涵蓋全部可能。",
          "en": "Proof by cases: if P∨Q holds and both P⇒R and Q⇒R are proved, then R holds. The cases must cover every possibility."
        }
      },
      {
        "id": "set_operations_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "集合運算：x∈A∪B ⇔ x∈A 或 x∈B；x∈A∩B ⇔ x∈A 且 x∈B；x∈A∖B ⇔ x∈A 且 x∉B；在全集 U 中 Aᶜ=U∖A。",
          "en": "Set operations: x∈A∪B ⇔ x∈A or x∈B; x∈A∩B ⇔ x∈A and x∈B; x∈A∖B ⇔ x∈A and x∉B; in a universe U, Aᶜ=U∖A."
        }
      },
      {
        "id": "iff_intro",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "雙條件：P⇒Q 與 Q⇒P 都成立時，P⇔Q 成立；反之亦然。",
          "en": "Biconditional: P⇔Q holds exactly when both P⇒Q and Q⇒P hold."
        }
      },
      {
        "id": "contradiction",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "反證法：若假設 ¬P 推出矛盾（某命題與其否定同時成立），則 P 成立。",
          "en": "Proof by contradiction: if assuming ¬P leads to a contradiction (a statement and its negation both hold), then P holds."
        }
      },
      {
        "id": "quantifier_negation",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "量詞否定：¬(∀x, P(x)) 等價於 ∃x, ¬P(x)；¬(∃x, P(x)) 等價於 ∀x, ¬P(x)。",
          "en": "Negating quantifiers: ¬(∀x, P(x)) is equivalent to ∃x, ¬P(x), and ¬(∃x, P(x)) is equivalent to ∀x, ¬P(x)."
        }
      },
      {
        "id": "contrapositive",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "逆否命題：P⇒Q 與 ¬Q⇒¬P 等價。逆命題 Q⇒P 一般不與 P⇒Q 等價。",
          "en": "Contrapositive: P⇒Q is equivalent to ¬Q⇒¬P. The converse Q⇒P is in general not equivalent to P⇒Q."
        }
      },
      {
        "id": "numeric_evaluation",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "明確整數或有理數算式的精確求值；可以獨立重算。",
          "en": "Exact evaluation of an explicit integer or rational expression; independently recomputable."
        }
      },
      {
        "id": "mko_iso_def",
        "kind": "cited",
        "source": {
          "mko_id": "mko-graph-isomorphism",
          "sha256": "36b491efcb2f7e6297c71cc86792ccbd2cc61cace4f61f1b9324257b32a5d09f",
          "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f"
        },
        "statement": {
          "zh-Hant": "圖同構f:V(G)到V(H)須為雙射，且對所有不同u,v，{u,v}為G的邊當且僅當{f(u),f(v)}為H的邊。只保邊而不保非邊不足。",
          "en": "A graph isomorphism f:V(G)→V(H) must be bijective and, for all distinct u,v, {u,v} is an edge of G iff {f(u),f(v)} is an edge of H. Preserving edges without preserving nonedges is insufficient."
        }
      },
      {
        "id": "finite_forall",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "有限全稱：對有限集合 D，「對所有 t∈D，Φ(t)」等價於把 D 的每個元素逐一代入所得命題的合取；列表必須完整。",
          "en": "Finite universal: for a finite set D, 'for all t∈D, Φ(t)' is equivalent to the conjunction of the instances obtained by substituting each element of D; the list must be complete."
        }
      },
      {
        "id": "L_edge_bij",
        "kind": "lemma",
        "proved_in": [
          "S15.1",
          "S15.2",
          "S15.3"
        ],
        "statement": {
          "zh-Hant": "若 φ:V(G)→V(H) 是有限簡單圖的同構，則 {u,v}↦{φ(u),φ(v)} 是 E(G) 到 E(H) 的雙射，因此 |E(G)|=|E(H)|。",
          "en": "If φ:V(G)→V(H) is an isomorphism of finite simple graphs, then {u,v}↦{φ(u),φ(v)} is a bijection E(G)→E(H), so |E(G)|=|E(H)|."
        }
      }
    ],
    "revision_log": [],
    "numeric_checks": [
      {
        "id": "N1",
        "step": "S06",
        "lhs": "comb(4,2)",
        "rhs": "6"
      },
      {
        "id": "N2",
        "step": "S10",
        "lhs": "4+2",
        "rhs": "comb(4,2)"
      },
      {
        "id": "N3",
        "step": "S15",
        "lhs": "3",
        "relation": "!=",
        "rhs": "4"
      },
      {
        "id": "N4",
        "step": "S16",
        "lhs": "2+2+2+2",
        "rhs": "2*4"
      },
      {
        "id": "N5",
        "lhs": "6*2",
        "rhs": "2*6"
      }
    ]
  },
  "presentation": {
    "md_scope": {
      "zh-Hant": "只在 MKO 的範圍內：完整給出的有限無向簡單圖邊集合與完整映射表（假設 a1）。本稿逐項核對同構的兩項資格，並一般地證明「同構誘導邊集合之間的雙射」引理，用它作為不變量否證；度數多重集相同只當作必要線索（假設 a2）。不處理 walk、path、連通分量或圖著色的一般理論，不改動 canonical MKO 或英文 edition。",
      "en": "Stays inside the MKO: complete edge sets of finite undirected simple graphs and a complete mapping table (assumption a1). The guide checks both requirements of an isomorphism item by item and proves in general the lemma that an isomorphism induces a bijection between edge sets, using it as an invariant for refutation; a matching degree multiset is treated only as a necessary clue (assumption a2). The general theory of walks, paths, connected components and colouring is not treated, and the canonical MKO and its English edition are not changed."
    },
    "md_symbols": [
      [
        "V(G),\\ E(G)",
        "G 的頂點集合與邊集合",
        "vertex set and edge set of G"
      ],
      [
        "\\{u,v\\}",
        "無序頂點對；u≠v 時是可能的邊",
        "unordered vertex pair; a possible edge when u≠v"
      ],
      [
        "f,\\ g",
        "兩張從 V(G) 到 V(H) 的映射表",
        "two mapping tables from V(G) to V(H)"
      ],
      [
        "P",
        "路徑圖：頂點 1 到 4，邊 {1,2}、{2,3}、{3,4}",
        "path graph on 1 to 4 with edges {1,2}, {2,3}, {3,4}"
      ],
      [
        "f^{-1}",
        "雙射 f 的反函數",
        "inverse of the bijection f"
      ],
      [
        "\\deg(v)",
        "頂點 v 的度數",
        "degree of the vertex v"
      ]
    ],
    "md_error_controls": [
      {
        "title": "只保邊不夠 / Preserving edges is not enough",
        "zh": "MKO 指出的常見誤解是只核原邊映成邊就宣稱同構。f 把 P 的三條邊都送到 H 的邊（S13），但非邊 {1,4} 被送到邊 {a,d}（S14）。當且僅當的兩個方向都要核：邊對應邊，非邊對應非邊。",
        "en": "The common mistake named by the MKO is to declare an isomorphism after checking only that edges go to edges. f sends all three edges of P to edges of H (S13), but the nonedge {1,4} goes to the edge {a,d} (S14). Both directions of the iff must be checked: edges to edges and nonedges to nonedges."
      },
      {
        "title": "度數序列相同不是證明 / Matching degree sequences is not a proof",
        "zh": "六頂點環 C6 與兩個不相交的三角形都是六個頂點、六條邊、每點度數 2，但不同構：兩個三角形中有三個兩兩相鄰的頂點，C6 沒有，而同構把兩兩相鄰的三點送到兩兩相鄰的三點。所以不變量相符只是必要條件；本稿的同構結論來自 S11 的逐對核對。",
        "en": "The six-cycle C6 and two disjoint triangles both have six vertices, six edges and every degree equal to 2, but they are not isomorphic: two triangles contain three pairwise adjacent vertices, C6 does not, and an isomorphism sends three pairwise adjacent vertices to three pairwise adjacent vertices. So matching invariants are only necessary; the isomorphism here comes from the pair-by-pair check of S11."
      },
      {
        "title": "雙射與鄰接要分開核 / Check bijectivity and adjacency separately",
        "zh": "g 是雙射卻不是同構（S12）；另一方面，若映射表把兩個頂點送到同一點，某個 {u,v} 的像就只剩一個頂點，根本不是候選邊。MKO 的順序是先核雙射，再核全部無序頂點對。",
        "en": "g is a bijection but not an isomorphism (S12); separately, if a table sent two vertices to the same point, some {u,v} would have a one-point image that is not even a candidate edge. The MKO's order is to check bijectivity first, then all unordered vertex pairs."
      }
    ],
    "md_open_items": [
      {
        "zh-Hant": "錯誤控制中「同構保持兩兩相鄰的三點」只作說明，由當且僅當條件直接得到，未列為編號步驟。",
        "en": "The remark in the error controls that an isomorphism preserves three pairwise adjacent vertices is explanatory; it follows directly from the iff condition and is not a numbered step."
      },
      {
        "zh-Hant": "finite_forall 是本稿的前提，不在本稿中由更基本的邏輯規則推出。",
        "en": "finite_forall is a premise of this guide and is not derived here from more basic logical rules."
      }
    ]
  },
  "revision": {
    "id": "production-20261019-adopted-96",
    "source_commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
    "adopted_source_sha256": "a7cc7455e8b911e77e5121725e1be4abeed121e79d85845f5c53dcd1836af658",
    "original_source_sha256": "9d22ff5f2bd20224ad3785c20866dd5d700d99fedad9037b43fd496881eceb3e",
    "owner_adopted": true,
    "bilingual_sync": "complete_source_bound",
    "formal_Lean": "NOT_RUN",
    "independent_AI_concurrence": "NOT_MEASURED",
    "issue_ids": [
      "BR-M069"
    ],
    "scope": "Owner-adopted natural-language teaching guide; not a formal proof, canonical MKO rewrite or evidence-status promotion."
  }
}
