{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261013-advance-20261023-r03-subgroup-homomorphism-0083",
  "pilot_number": "R0020-10933",
  "number": 10933,
  "family_id": "qf-mod23-subgroup-kernel-image",
  "title": {
    "zh-Hant": "第 10933 題：有限子群與同態",
    "en": "Question 10933: Kernel, Image and Injectivity of a Qualified Finite Homomorphism"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261013-advance-20261023-r03-subgroup-homomorphism-0083",
    "batch_id": "batch-20261013-advance-20261023-r03-subgroup-homomorphism-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-subgroup-homomorphism"
    ],
    "title_zh": "有限子群與同態",
    "stem_zh": "完整有限群Cayley表。操作=subgroup-kernel-image；資料={\"source_n\":6,\"source_table\":[[4,0,3,5,1,2],[0,1,2,3,4,5],[3,2,0,4,5,1],[5,3,4,1,2,0],[1,4,5,2,0,3],[2,5,1,0,3,4]],\"target_n\":3,\"target_table\":[[2,0,1],[0,1,2],[1,2,0]],\"mapping\":[2,1,0,1,0,2]}。請依 [source_n,target_n,mapping,kernel,image,injective] 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "(6, 3, [2, 1, 0, 1, 0, 2], [1, 3], [0, 1, 2], 否)",
      "explanation_zh": "現代橋梁核對=(6, 3, [2, 1, 0, 1, 0, 2], [1, 3], [0, 1, 2], 否)；依完整明示資料重算；完整明示的有限／精確切片不自動升格為一般無限結論；同態不自動是單射；只分類指定有限群。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 1,
      "skills": [
        "有限子群與同態"
      ]
    },
    "variant": {
      "family_id": "qf-mod23-subgroup-kernel-image",
      "seed": 202610233083,
      "parameters": {
        "source_n": 6,
        "source_table": [
          [
            4,
            0,
            3,
            5,
            1,
            2
          ],
          [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          [
            3,
            2,
            0,
            4,
            5,
            1
          ],
          [
            5,
            3,
            4,
            1,
            2,
            0
          ],
          [
            1,
            4,
            5,
            2,
            0,
            3
          ],
          [
            2,
            5,
            1,
            0,
            3,
            4
          ]
        ],
        "target_n": 3,
        "target_table": [
          [
            2,
            0,
            1
          ],
          [
            0,
            1,
            2
          ],
          [
            1,
            2,
            0
          ]
        ],
        "mapping": [
          2,
          1,
          0,
          1,
          0,
          2
        ],
        "domain": "Complete_finite_group_morphisms",
        "operation": "subgroup-kernel-image",
        "semantic_template": "qf-mod23-subgroup-kernel-image/{\"mapping\":[2,1,0,1,0,2],\"source_n\":6,\"source_table\":[[4,0,3,5,1,2],[0,1,2,3,4,5],[3,2,0,4,5,1],[5,3,4,1,2,0],[1,4,5,2,0,3],[2,5,1,0,3,4]],\"target_n\":3,\"target_table\":[[2,0,1],[0,1,2],[1,2,0]]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "產生端候選須由主端重算；不構成人工審定、一般無限定理、Markov／可微聲明、Lean執行或形式Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-13",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261013-advance-20261023-r03-subgroup-homomorphism-0083",
    "batch_id": "batch-20261013-advance-20261023-r03-subgroup-homomorphism-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "d4a0b2fb7a5592a47b2eb0ddea45f950fe710f3626c2c93bd85645ae7fa1429f",
      "family_id": "qf-mod23-subgroup-kernel-image",
      "seed": 202610233083,
      "semantic_template": "qf-mod23-subgroup-kernel-image/{\"mapping\":[2,1,0,1,0,2],\"source_n\":6,\"source_table\":[[4,0,3,5,1,2],[0,1,2,3,4,5],[3,2,0,4,5,1],[5,3,4,1,2,0],[1,4,5,2,0,3],[2,5,1,0,3,4]],\"target_n\":3,\"target_table\":[[2,0,1],[0,1,2],[1,2,0]]}"
    },
    "fields": {
      "title": "Kernel, Image and Injectivity of a Qualified Finite Homomorphism",
      "stem": "Use complete qualified finite group Cayley tables with carrier labels 0 through size−1 and the given row/column order. Every group axiom is a premise already checked on the whole table. Results concern these finite groups; a homomorphism need not be injective or an isomorphism. source size=6, source table=[[4, 0, 3, 5, 1, 2], [0, 1, 2, 3, 4, 5], [3, 2, 0, 4, 5, 1], [5, 3, 4, 1, 2, 0], [1, 4, 5, 2, 0, 3], [2, 5, 1, 0, 3, 4]], target size=3, target table=[[2, 0, 1], [0, 1, 2], [1, 2, 0]], mapping=[2, 1, 0, 1, 0, 2]. Require this map to preserve all source products. Give (source size,target size,mapping,source labels mapping to the target identity,sorted distinct image,injective?).",
      "answer": {
        "kind": "expression",
        "value": "(6, 3, [2, 1, 0, 1, 0, 2], [1, 3], [0, 1, 2], No)",
        "explanation": "Find the kernel using the target identity, not an assumed label. For this complete finite total map, injectivity is equivalent to image size equaling source size; constant homomorphisms need not be injective. This explicit finite/exact slice does not automatically become a general infinite conclusion. The exact result, retaining the requested order, is (6, 3, [2, 1, 0, 1, 0, 2], [1, 3], [0, 1, 2], No)."
      },
      "skills": [
        "Kernel, Image and Injectivity of a Qualified Finite Homomorphism"
      ],
      "verification_warning": "This is a candidate exercise. Mechanical recomputation checks only the stated conditions and this instance; it is neither a formal proof nor human review."
    }
  },
  "givens": [
    {
      "id": "G001",
      "text": {
        "zh-Hant": "完整有限群Cayley表。操作=subgroup-kernel-image；資料={\"source_n\":6,\"source_table\":[[4,0,3,5,1,2],[0,1,2,3,4,5],[3,2,0,4,5,1],[5,3,4,1,2,0],[1,4,5,2,0,3],[2,5,1,0,3,4]],\"target_n\":3,\"target_table\":[[2,0,1],[0,1,2],[1,2,0]],\"mapping\":[2,1,0,1,0,2]}。請依 [source_n,target_n,mapping,kernel,image,injective] 欄序回答。",
        "en": "Use complete qualified finite group Cayley tables with carrier labels 0 through size−1 and the given row/column order. Every group axiom is a premise already checked on the whole table. Results concern these finite groups; a homomorphism need not be injective or an isomorphism. source size=6, source table=[[4, 0, 3, 5, 1, 2], [0, 1, 2, 3, 4, 5], [3, 2, 0, 4, 5, 1], [5, 3, 4, 1, 2, 0], [1, 4, 5, 2, 0, 3], [2, 5, 1, 0, 3, 4]], target size=3, target table=[[2, 0, 1], [0, 1, 2], [1, 2, 0]], mapping=[2, 1, 0, 1, 0, 2]. Require this map to preserve all source products. Give (source size,target size,mapping,source labels mapping to the target identity,sorted distinct image,injective?)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "group=source;carrier Fin(6);complete Cayley table=[[4, 0, 3, 5, 1, 2], [0, 1, 2, 3, 4, 5], [3, 2, 0, 4, 5, 1], [5, 3, 4, 1, 2, 0], [1, 4, 5, 2, 0, 3], [2, 5, 1, 0, 3, 4]]",
      "after": "typed operation closure=是;all associativity failures=[]",
      "relation": "implies",
      "rule_id": "complete_group_table_closure_associativity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "整張表先合型並核全部結合律三元組，不能只驗候選子集或同態碰到的格；此題要求已合格有限群。",
        "en": "Type the complete operation table and check every associativity triple,not only cells used by a subset or map.These tasks require qualified finite groups."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "group=source;candidate identity=0;left products row=[4, 0, 3, 5, 1, 2];right products column=[4, 0, 3, 5, 1, 2]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "group=source;candidate identity=1;left products row=[0, 1, 2, 3, 4, 5];right products column=[0, 1, 2, 3, 4, 5]",
      "after": "both sides equal carrier labels=是",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "group=source;candidate identity=2;left products row=[3, 2, 0, 4, 5, 1];right products column=[3, 2, 0, 4, 5, 1]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "group=source;candidate identity=3;left products row=[5, 3, 4, 1, 2, 0];right products column=[5, 3, 4, 1, 2, 0]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "group=source;candidate identity=4;left products row=[1, 4, 5, 2, 0, 3];right products column=[1, 4, 5, 2, 0, 3]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "group=source;candidate identity=5;left products row=[2, 5, 1, 0, 3, 4];right products column=[2, 5, 1, 0, 3, 4]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "group=source;element=0;derived identity=1;two-sided inverse candidates=[4]",
      "after": "inverse=4",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "group=source;element=1;derived identity=1;two-sided inverse candidates=[1]",
      "after": "inverse=1",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S010",
      "uses": [
        "G001",
        "S009"
      ],
      "before": "group=source;element=2;derived identity=1;two-sided inverse candidates=[5]",
      "after": "inverse=5",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S011",
      "uses": [
        "G001",
        "S010"
      ],
      "before": "group=source;element=3;derived identity=1;two-sided inverse candidates=[3]",
      "after": "inverse=3",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S012",
      "uses": [
        "G001",
        "S011"
      ],
      "before": "group=source;element=4;derived identity=1;two-sided inverse candidates=[0]",
      "after": "inverse=0",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S013",
      "uses": [
        "G001",
        "S012"
      ],
      "before": "group=source;element=5;derived identity=1;two-sided inverse candidates=[2]",
      "after": "inverse=2",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "group=target;carrier Fin(3);complete Cayley table=[[2, 0, 1], [0, 1, 2], [1, 2, 0]]",
      "after": "typed operation closure=是;all associativity failures=[]",
      "relation": "implies",
      "rule_id": "complete_group_table_closure_associativity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "整張表先合型並核全部結合律三元組，不能只驗候選子集或同態碰到的格；此題要求已合格有限群。",
        "en": "Type the complete operation table and check every associativity triple,not only cells used by a subset or map.These tasks require qualified finite groups."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S015",
      "uses": [
        "G001",
        "S014"
      ],
      "before": "group=target;candidate identity=0;left products row=[2, 0, 1];right products column=[2, 0, 1]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S016",
      "uses": [
        "G001",
        "S015"
      ],
      "before": "group=target;candidate identity=1;left products row=[0, 1, 2];right products column=[0, 1, 2]",
      "after": "both sides equal carrier labels=是",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S017",
      "uses": [
        "G001",
        "S016"
      ],
      "before": "group=target;candidate identity=2;left products row=[1, 2, 0];right products column=[1, 2, 0]",
      "after": "both sides equal carrier labels=否",
      "relation": "implies",
      "rule_id": "derive_two_sided_group_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左右乘都須對每個x還原x，不能只看對角或預設單位元標籤0。",
        "en": "Both left and right multiplication must return every x.Do not infer identity from the diagonal or assume label0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S018",
      "uses": [
        "G001",
        "S017"
      ],
      "before": "group=target;element=0;derived identity=1;two-sided inverse candidates=[2]",
      "after": "inverse=2",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S019",
      "uses": [
        "G001",
        "S018"
      ],
      "before": "group=target;element=1;derived identity=1;two-sided inverse candidates=[1]",
      "after": "inverse=1",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S020",
      "uses": [
        "G001",
        "S019"
      ],
      "before": "group=target;element=2;derived identity=1;two-sided inverse candidates=[0]",
      "after": "inverse=0",
      "relation": "implies",
      "rule_id": "derive_group_inverses_from_actual_identity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "按實際單位元查xy=e且yx=e，完整群前提保證唯一；不是把某個固定標籤當所有元素的逆。",
        "en": "Find y with xy=e and yx=e using the actual identity.The group premises ensure uniqueness;no fixed label is every element's inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S021",
      "uses": [
        "G001",
        "S020"
      ],
      "before": "source size=6;target size=3;whole mapping=[2, 1, 0, 1, 0, 2]",
      "after": "all original mapping cells typed before product preservation",
      "relation": "implies",
      "rule_id": "whole_group_mapping_type_guard",
      "conditions": [],
      "explanation": {
        "zh-Hant": "完整總映射按原來源索引合型，再驗所有乘積；不由部分正確資料補造未給值。",
        "en": "Type the entire total mapping in original source-index order before checking all products.Do not fill missing values from partial correct data."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S022",
      "uses": [
        "G001",
        "S021"
      ],
      "before": "source pair=[0, 0];source product=4;mapped operands=[2, 2]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S023",
      "uses": [
        "G001",
        "S022"
      ],
      "before": "source pair=[0, 1];source product=0;mapped operands=[2, 1]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S024",
      "uses": [
        "G001",
        "S023"
      ],
      "before": "source pair=[0, 2];source product=3;mapped operands=[2, 0]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S025",
      "uses": [
        "G001",
        "S024"
      ],
      "before": "source pair=[0, 3];source product=5;mapped operands=[2, 1]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S026",
      "uses": [
        "G001",
        "S025"
      ],
      "before": "source pair=[0, 4];source product=1;mapped operands=[2, 0]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S027",
      "uses": [
        "G001",
        "S026"
      ],
      "before": "source pair=[0, 5];source product=2;mapped operands=[2, 2]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S028",
      "uses": [
        "G001",
        "S027"
      ],
      "before": "source pair=[1, 0];source product=0;mapped operands=[1, 2]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S029",
      "uses": [
        "G001",
        "S028"
      ],
      "before": "source pair=[1, 1];source product=1;mapped operands=[1, 1]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S030",
      "uses": [
        "G001",
        "S029"
      ],
      "before": "source pair=[1, 2];source product=2;mapped operands=[1, 0]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S031",
      "uses": [
        "G001",
        "S030"
      ],
      "before": "source pair=[1, 3];source product=3;mapped operands=[1, 1]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S032",
      "uses": [
        "G001",
        "S031"
      ],
      "before": "source pair=[1, 4];source product=4;mapped operands=[1, 0]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S033",
      "uses": [
        "G001",
        "S032"
      ],
      "before": "source pair=[1, 5];source product=5;mapped operands=[1, 2]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S034",
      "uses": [
        "G001",
        "S033"
      ],
      "before": "source pair=[2, 0];source product=3;mapped operands=[0, 2]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S035",
      "uses": [
        "G001",
        "S034"
      ],
      "before": "source pair=[2, 1];source product=2;mapped operands=[0, 1]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S036",
      "uses": [
        "G001",
        "S035"
      ],
      "before": "source pair=[2, 2];source product=0;mapped operands=[0, 0]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S037",
      "uses": [
        "G001",
        "S036"
      ],
      "before": "source pair=[2, 3];source product=4;mapped operands=[0, 1]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S038",
      "uses": [
        "G001",
        "S037"
      ],
      "before": "source pair=[2, 4];source product=5;mapped operands=[0, 0]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S039",
      "uses": [
        "G001",
        "S038"
      ],
      "before": "source pair=[2, 5];source product=1;mapped operands=[0, 2]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S040",
      "uses": [
        "G001",
        "S039"
      ],
      "before": "source pair=[3, 0];source product=5;mapped operands=[1, 2]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S041",
      "uses": [
        "G001",
        "S040"
      ],
      "before": "source pair=[3, 1];source product=3;mapped operands=[1, 1]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S042",
      "uses": [
        "G001",
        "S041"
      ],
      "before": "source pair=[3, 2];source product=4;mapped operands=[1, 0]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S043",
      "uses": [
        "G001",
        "S042"
      ],
      "before": "source pair=[3, 3];source product=1;mapped operands=[1, 1]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S044",
      "uses": [
        "G001",
        "S043"
      ],
      "before": "source pair=[3, 4];source product=2;mapped operands=[1, 0]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S045",
      "uses": [
        "G001",
        "S044"
      ],
      "before": "source pair=[3, 5];source product=0;mapped operands=[1, 2]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S046",
      "uses": [
        "G001",
        "S045"
      ],
      "before": "source pair=[4, 0];source product=1;mapped operands=[0, 2]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S047",
      "uses": [
        "G001",
        "S046"
      ],
      "before": "source pair=[4, 1];source product=4;mapped operands=[0, 1]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S048",
      "uses": [
        "G001",
        "S047"
      ],
      "before": "source pair=[4, 2];source product=5;mapped operands=[0, 0]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S049",
      "uses": [
        "G001",
        "S048"
      ],
      "before": "source pair=[4, 3];source product=2;mapped operands=[0, 1]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S050",
      "uses": [
        "G001",
        "S049"
      ],
      "before": "source pair=[4, 4];source product=0;mapped operands=[0, 0]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S051",
      "uses": [
        "G001",
        "S050"
      ],
      "before": "source pair=[4, 5];source product=3;mapped operands=[0, 2]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S052",
      "uses": [
        "G001",
        "S051"
      ],
      "before": "source pair=[5, 0];source product=2;mapped operands=[2, 2]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S053",
      "uses": [
        "G001",
        "S052"
      ],
      "before": "source pair=[5, 1];source product=5;mapped operands=[2, 1]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S054",
      "uses": [
        "G001",
        "S053"
      ],
      "before": "source pair=[5, 2];source product=1;mapped operands=[2, 0]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S055",
      "uses": [
        "G001",
        "S054"
      ],
      "before": "source pair=[5, 3];source product=0;mapped operands=[2, 1]",
      "after": "f(source product)=2;target product=2;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S056",
      "uses": [
        "G001",
        "S055"
      ],
      "before": "source pair=[5, 4];source product=3;mapped operands=[2, 0]",
      "after": "f(source product)=1;target product=1;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S057",
      "uses": [
        "G001",
        "S056"
      ],
      "before": "source pair=[5, 5];source product=4;mapped operands=[2, 2]",
      "after": "f(source product)=0;target product=0;equal=是",
      "relation": "implies",
      "rule_id": "homomorphism_every_source_product_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "左路先在來源乘再映射，右路先各映射再在目標乘；完整列所有失配對，不推成單射或同構。",
        "en": "The left route multiplies in the source then maps;the right maps both operands then multiplies in the target.Retain every mismatch without inferring injectivity or isomorphism."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S058",
      "uses": [
        "G001",
        "S057"
      ],
      "before": "all bad source ordered pairs=[]",
      "after": "homomorphism=是",
      "relation": "implies",
      "rule_id": "whole_homomorphism_audit",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保所有來源有序對才通過同態資格；一次失敗給反例，一次成功不給全稱。",
        "en": "Preservation for all ordered source pairs is required.One failure supplies a counterexample;one success does not establish the universal condition."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S059",
      "uses": [
        "G001",
        "S058"
      ],
      "before": "qualified homomorphism=[2, 1, 0, 1, 0, 2];derived target identity=1",
      "after": "kernel source labels=[1, 3];image=[0, 1, 2];injective=否",
      "relation": "implies",
      "rule_id": "kernel_image_after_qualified_homomorphism",
      "conditions": [],
      "explanation": {
        "zh-Hant": "kernel找映到目標真單位元者；像是所有不同映值。有限總映射的像數等於來源數才單射，常值同態不必單射。這是數學kernel，不是軟體kernel回執。",
        "en": "The kernel maps to the actual target identity;the image is the distinct mapping values.A finite total map is injective exactly when image size equals source size.A constant homomorphism need not be injective.This is a mathematical kernel,not a software-kernel receipt."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      6,
      3,
      [
        2,
        1,
        0,
        1,
        0,
        2
      ],
      [
        1,
        3
      ],
      [
        0,
        1,
        2
      ],
      false
    ]
  },
  "conclusion": {
    "canonical_value": "(6, 3, [2, 1, 0, 1, 0, 2], [1, 3], [0, 1, 2], 否)",
    "explanation": {
      "zh-Hant": "依上列完整代值及條件核對得到原題答案；原題編號、格式與狀態保持不變。",
      "en": "The full substitutions and premise checks give the original answer; source identity,format and status are unchanged."
    }
  },
  "definition_note": {
    "zh-Hant": "沿用原題明示的論域、假設與來源 MKO 定義。本題已完成第二對話數理與中英語義覆核，並由原始參數逐題獨立重算模型、答案與每個算術步驟；原題仍為 candidate。",
    "en": "Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate."
  },
  "source": {
    "input_commit": "0f7be61e2c22317a4075561dc822c87d881a50db",
    "question_binding": {
      "batch_id": "batch-20261013-advance-20261023-r03-subgroup-homomorphism-foundations",
      "batch_path": "public/data/questions/batches/batch-20261013-advance-20261023-r03-subgroup-homomorphism-foundations/questions.jsonl",
      "batch_sha256": "cda066452f21ceb2bf1e6a2ccd37f0801301520fbcf638ce2d38d9c712e7cd6d",
      "original_line": 83,
      "original_line_sha256": "471b7eefdbf349441f254b6e050ed0a71c42612f5a5bdf32efc893c8c0f2abde",
      "question_compact_sha256": "d4a0b2fb7a5592a47b2eb0ddea45f950fe710f3626c2c93bd85645ae7fa1429f",
      "english_row_compact_sha256": "7208272ffe3e63b73a929c8282c4f9792edb3cb61dbf195aa150c05368cf582f",
      "english_manifest_path": "public/data/i18n/editions/batch-20261013-advance-20261023-r03-subgroup-homomorphism-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261013-advance-20261023-r03-subgroup-homomorphism-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-subgroup-homomorphism": {
        "sha256": "2121cf9c71fab6aa9bfa10d881cdffbab5367fdfebbee9381b35fefec60837c0",
        "english_sha256": "d8b3efcc34a6efe50514c12c02d1650c151d671a36a64e0511bf4a65cf744d59",
        "original_path": "public/data/mko/subgroup-homomorphism.json",
        "english_path": "public/data/i18n/editions/mko-subgroup-homomorphism.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "bd67681fffd9e29972c322d497cd945a668a794dd25e0c8cd26f1a6ce22e4dfb",
    "original_candidate_sha256": "8cf66908d0b4040959f69ad7d93eb9952a56c78c871307f453e574715b1735a3",
    "original_candidate_line_sha256": "8cf66908d0b4040959f69ad7d93eb9952a56c78c871307f453e574715b1735a3"
  },
  "historical_source_state": {
    "review_state": {
      "derivation": "candidate_authored_and_locally_checked",
      "source_question_state": "candidate",
      "independent_AI_or_human_review": "NOT_PERFORMED",
      "formalization": "not_formalized",
      "Lean": "NOT_RUN"
    },
    "scope_note": {
      "zh-Hant": "來源綁定教學推導候選；精確核對不等於獨立AI／人工審查或一般形式證明。原題、答案、MKO、公式、AST與歷史不變。",
      "en": "Source-bound pedagogical derivation candidate.Exact checking is not independent AI/human review or general formal proof.Original questions,answers,MKOs,formulas,ASTs and history remain unchanged."
    },
    "label": "Frozen producer metadata; current per-question review is separate below."
  },
  "revision": {
    "id": "review-20261026-006-p21",
    "review_date": "2026-10-26",
    "owner_authorized_reader_publication": true,
    "scope": "One hundred sixty family prototypes and their mathematical/bilingual reasoning variants, stems, boundary statements and every distinct explanation shape were reviewed in a context independent of the producer; parameter substitutions, source bindings, full math models, both answer strings and every arithmetic step were independently reconstructed per question from the original parameters only, with negative controls. This grouped method does not claim a separate literal AI reading of every repeated sentence or an extra AI voter.",
    "review_receipts": {
      "semantic_review_sha256": "b4c47938fd38085d44967226cfa8337d61334455472e7307c60d3a488cef598f",
      "question_first_witness_sha256": "3c23baa97a5933bc07b44f2257017ef4e845bf1429bd6f5381410681c43b97e4"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 59,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "e53ac8bb19997ce08a18ce6e3eb7b1a350cf76d53fd3fb96a6e339039bce67bc",
      "arithmetic_steps": 0
    },
    "uses_answer_as_premise": false,
    "human_review": "NOT_PERFORMED",
    "formalization": "not_formalized",
    "Lean": "NOT_RUN",
    "Canonical_truth_promotion": false,
    "authority": "Owner-authorized reviewed reader publication; original question/candidate states remain historical and unchanged."
  }
}
