{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261014-advance-20261105-r05-homeomorphism-0025",
  "pilot_number": "R0037-19075",
  "number": 19075,
  "family_id": "qf-mod36-homeo-finite-topology-audit",
  "title": {
    "zh-Hant": "第 19075 題：同胚",
    "en": "Question 19075: A Homeomorphism Has Both Forward and Inverse Continuity"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261014-advance-20261105-r05-homeomorphism-0025",
    "batch_id": "batch-20261014-advance-20261105-r05-homeomorphism-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-homeomorphism"
    ],
    "title_zh": "同胚",
    "stem_zh": "完整有限來源與目標拓撲、雙射及全部開集逆像。操作=homeo-finite-topology-audit；資料={\"n\":5,\"source_topology\":[[],[0],[0,1,2],[0,1,2,3,4],[0,3,4],[1,2],[1,2,3,4],[3,4]],\"target_topology\":[[],[0,1,2],[0,1,2,3,4],[0,2],[0,2,3,4],[1],[1,3,4],[3,4]],\"map\":[1,0,2,3,4]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "(是, 是, 是, 是, 是, 是, complete_open_set_preimage_audit)",
      "explanation_zh": "Wave5第五層核對=(是, 是, 是, 是, 是, 是, complete_open_set_preimage_audit)；依完整明示資料獨立重算；homeomorphism同時要求f連續及逆映射連續；一般continuous bijection不足；有限離散雙射結論不得外推，也不推出等距、可微或幾何全等。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "同胚"
      ]
    },
    "variant": {
      "family_id": "qf-mod36-homeo-finite-topology-audit",
      "seed": 202611055025,
      "parameters": {
        "n": 5,
        "source_topology": [
          [],
          [
            0
          ],
          [
            0,
            1,
            2
          ],
          [
            0,
            1,
            2,
            3,
            4
          ],
          [
            0,
            3,
            4
          ],
          [
            1,
            2
          ],
          [
            1,
            2,
            3,
            4
          ],
          [
            3,
            4
          ]
        ],
        "target_topology": [
          [],
          [
            0,
            1,
            2
          ],
          [
            0,
            1,
            2,
            3,
            4
          ],
          [
            0,
            2
          ],
          [
            0,
            2,
            3,
            4
          ],
          [
            1
          ],
          [
            1,
            3,
            4
          ],
          [
            3,
            4
          ]
        ],
        "map": [
          1,
          0,
          2,
          3,
          4
        ],
        "domain": "Complete_finite_topological_spaces",
        "operation": "homeo-finite-topology-audit",
        "semantic_template": "qf-mod36-homeo-finite-topology-audit/{\"map\":[1,0,2,3,4],\"n\":5,\"source_topology\":[[],[0,1,2,3,4],[0,1,2],[0,3,4],[0],[1,2,3,4],[1,2],[3,4]],\"target_topology\":[[],[0,1,2,3,4],[0,1,2],[0,2,3,4],[0,2],[1,3,4],[1],[3,4]]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_or_symbolic_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "候選須主端重算；不構成人工審定、有限取樣全稱證明、V與dual典範識別、Hamilton結論、一般continuous-bijection捷徑、統計性質、strong law、CLT、Lean或Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-14",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261014-advance-20261105-r05-homeomorphism-0025",
    "batch_id": "batch-20261014-advance-20261105-r05-homeomorphism-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "f4a31fd6f1905df53cb6a4afa39e3de51fc96b4cb1d17c77f4c4070f30e54631",
      "family_id": "qf-mod36-homeo-finite-topology-audit",
      "seed": 202611055025,
      "semantic_template": "qf-mod36-homeo-finite-topology-audit/{\"map\":[1,0,2,3,4],\"n\":5,\"source_topology\":[[],[0,1,2,3,4],[0,1,2],[0,3,4],[0],[1,2,3,4],[1,2],[3,4]],\"target_topology\":[[],[0,1,2,3,4],[0,1,2],[0,2,3,4],[0,2],[1,3,4],[1],[3,4]]}"
    },
    "fields": {
      "title": "A Homeomorphism Has Both Forward and Inverse Continuity",
      "stem": "Use source and target on Fin(5)={0,…,4}, with complete source_topology=[[], [0], [0, 1, 2], [0, 1, 2, 3, 4], [0, 3, 4], [1, 2], [1, 2, 3, 4], [3, 4]], target_topology=[[], [0, 1, 2], [0, 1, 2, 3, 4], [0, 2], [0, 2, 3, 4], [1], [1, 3, 4], [3, 4]] and total candidate bijection map=[1, 0, 2, 3, 4], in source-index order. Check both complete topology axioms, bijection, every target-open-set preimage and every source-open-set inverse preimage separately. A continuous bijection alone need not have continuous inverse. Give (source_topology_valid, target_topology_valid, bijection, forward_continuous, inverse_continuous, homeomorphism, certificate).",
      "answer": {
        "kind": "expression",
        "value": "(Yes, Yes, Yes, Yes, Yes, Yes, complete_open_set_preimage_audit)",
        "explanation": "Retain topology-validity and bijection flags, then test all open-set preimages in each direction. Only their conjunction supplies the homeomorphism flag for these complete finite spaces. The exact result, retaining the requested order, is (Yes, Yes, Yes, Yes, Yes, Yes, complete_open_set_preimage_audit)."
      },
      "skills": [
        "A Homeomorphism Has Both Forward and Inverse Continuity"
      ],
      "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": "完整有限來源與目標拓撲、雙射及全部開集逆像。操作=homeo-finite-topology-audit；資料={\"n\":5,\"source_topology\":[[],[0],[0,1,2],[0,1,2,3,4],[0,3,4],[1,2],[1,2,3,4],[3,4]],\"target_topology\":[[],[0,1,2],[0,1,2,3,4],[0,2],[0,2,3,4],[1],[1,3,4],[3,4]],\"map\":[1,0,2,3,4]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
        "en": "Use source and target on Fin(5)={0,…,4}, with complete source_topology=[[], [0], [0, 1, 2], [0, 1, 2, 3, 4], [0, 3, 4], [1, 2], [1, 2, 3, 4], [3, 4]], target_topology=[[], [0, 1, 2], [0, 1, 2, 3, 4], [0, 2], [0, 2, 3, 4], [1], [1, 3, 4], [3, 4]] and total candidate bijection map=[1, 0, 2, 3, 4], in source-index order. Check both complete topology axioms, bijection, every target-open-set preimage and every source-open-set inverse preimage separately. A continuous bijection alone need not have continuous inverse. Give (source_topology_valid, target_topology_valid, bijection, forward_continuous, inverse_continuous, homeomorphism, certificate)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source operation=homeo-finite-topology-audit;original snapshot and mathematics retained",
      "after": "explicit ordered source output fields=[source_topology_valid, target_topology_valid, bijection, forward_continuous, inverse_continuous, homeomorphism, certificate]",
      "relation": "implies",
      "rule_id": "source_ordered_interface_explicit_without_javascript",
      "conditions": [],
      "explanation": {
        "zh-Hant": "原題快照保留歷史介面標記；本頁直接列原始欄位順序，不需JavaScript或查外部表。欄位名字本身不自動是數學證據，No依各題的聲稱範圍解讀。",
        "en": "Retain the historical interface marker in the original snapshot while listing ordered source fields here,without JavaScript or external lookup.Field names are not mathematical evidence,and No retains the operation's specific claim scope."
      },
      "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": "original complete carrier Fin(5);original TOTAL source-indexed candidate map=[1, 0, 2, 3, 4]",
      "after": "all target values distinct and complete;explicit inverse=[1, 0, 2, 3, 4];inverse(map(x))=x and map(inverse(y))=y for EVERY carrier point",
      "relation": "implies",
      "rule_id": "homeo_complete_bijection_not_name_assumption",
      "conditions": [],
      "explanation": {
        "zh-Hant": "完整source列表每個target出現恰一次才接受雙射；逐原索引填inverse，保兩方向真的互逆，不因題族叫bijection就跳過資格。",
        "en": "Accept a bijection only when every target appears exactly once in the complete source list.Build the inverse by original indices and retain both inverse identities rather than trusting a family name."
      },
      "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": "source topology:complete original supplied topology family=[[], [0], [0, 1, 2], [0, 1, 2, 3, 4], [0, 3, 4], [1, 2], [1, 2, 3, 4], [3, 4]];carrier Fin(5)",
      "after": "internally sorted subsets without deduplication=[[], [0], [0, 1, 2], [0, 1, 2, 3, 4], [0, 3, 4], [1, 2], [1, 2, 3, 4], [3, 4]];canonical whole-family key order retained;empty and FULL carrier present",
      "relation": "implies",
      "rule_id": "homeo_whole_topology_signature_no_missing_opens",
      "conditions": [],
      "explanation": {
        "zh-Hant": "只按來源把每個subset內部索引排序，不去重也不重新排列原族；原族須已具規定鍵序且無重複。整張表是完整拓撲候選，不把其中一個好子族當整張表。",
        "en": "Normalize indices within each subset as the source does,without deduplication or reordering the original family.The family must already have the required key order and no duplicates.This is the complete topology candidate,not a selected good subfamily."
      },
      "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": "source topology:left open index=0;left set=[];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=1;left set=[0];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[1, 0], [1, 1], [2, 1], [3, 1], [4, 1], [2, 0], [3, 0], [4, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=2;left set=[0, 1, 2];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[2, 0], [2, 1], [2, 2], [3, 2], [3, 1], [2, 5], [3, 5], [3, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=3;left set=[0, 1, 2, 3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=4;left set=[0, 3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[4, 0], [4, 1], [3, 1], [3, 4], [4, 4], [3, 0], [3, 7], [4, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=5;left set=[1, 2];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[5, 0], [2, 0], [2, 5], [3, 5], [3, 0], [5, 5], [6, 5], [6, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=6;left set=[1, 2, 3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[6, 0], [3, 0], [3, 5], [3, 6], [3, 7], [6, 5], [6, 6], [6, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:left open index=7;left set=[3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[7, 0], [4, 0], [3, 0], [3, 7], [4, 7], [6, 0], [6, 7], [7, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "source topology:empty/full carrier and EVERY binary union/intersection checked in COMPLETE finite family of8 opens",
      "after": "ANY arbitrary indexed union has only finitely many DISTINCT opens here,so equals a finite repeated binary union;empty union is empty;finite intersections include empty intersection=full carrier;all topology axioms hold",
      "relation": "implies",
      "rule_id": "homeo_finite_binary_closure_full_topology_quantifiers",
      "conditions": [],
      "explanation": {
        "zh-Hant": "任意索引族可能有重複或無限索引，但此有限表只有有限個不同開集，取全部不同值後union不變；由binary閉包歸納給任意union。有限intersection同理，空情形由空集／全carrier處理。",
        "en": "An indexed family may repeat members or have infinitely many indices,but this finite table has only finitely many distinct opens.Removing repetitions preserves its union,so binary closure inductively gives arbitrary-union closure.Finite intersections follow similarly,including the empty cases."
      },
      "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": "target topology:complete original supplied topology family=[[], [0, 1, 2], [0, 1, 2, 3, 4], [0, 2], [0, 2, 3, 4], [1], [1, 3, 4], [3, 4]];carrier Fin(5)",
      "after": "internally sorted subsets without deduplication=[[], [0, 1, 2], [0, 1, 2, 3, 4], [0, 2], [0, 2, 3, 4], [1], [1, 3, 4], [3, 4]];canonical whole-family key order retained;empty and FULL carrier present",
      "relation": "implies",
      "rule_id": "homeo_whole_topology_signature_no_missing_opens",
      "conditions": [],
      "explanation": {
        "zh-Hant": "只按來源把每個subset內部索引排序，不去重也不重新排列原族；原族須已具規定鍵序且無重複。整張表是完整拓撲候選，不把其中一個好子族當整張表。",
        "en": "Normalize indices within each subset as the source does,without deduplication or reordering the original family.The family must already have the required key order and no duplicates.This is the complete topology candidate,not a selected good subfamily."
      },
      "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": "target topology:left open index=0;left set=[];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=1;left set=[0, 1, 2];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[1, 0], [1, 1], [2, 1], [1, 3], [2, 3], [1, 5], [2, 5], [2, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=2;left set=[0, 1, 2, 3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=3;left set=[0, 2];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[3, 0], [1, 3], [2, 3], [3, 3], [4, 3], [1, 0], [2, 0], [4, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=4;left set=[0, 2, 3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[4, 0], [2, 3], [2, 4], [4, 3], [4, 4], [2, 0], [2, 7], [4, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=5;left set=[1];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[5, 0], [1, 5], [2, 5], [1, 0], [2, 0], [5, 5], [6, 5], [6, 0]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=6;left set=[1, 3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[6, 0], [2, 5], [2, 6], [2, 0], [2, 7], [6, 5], [6, 6], [6, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:left open index=7;left set=[3, 4];ALL right open indices in source family order0..7",
      "after": "ordered [union_open_index,intersection_open_index] for EVERY right open=[[7, 0], [2, 0], [2, 7], [4, 0], [4, 7], [6, 0], [6, 7], [7, 7]]",
      "relation": "implies",
      "rule_id": "homeo_every_binary_open_union_intersection_exact_table",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐所有右開集算實際union與intersection，結果必在同一完整表，索引指回上一步已列的開集。列出整列而不是抽樣閉包。",
        "en": "For every right open compute the actual union and intersection and locate each in the same complete table.The indices refer to the opens listed above;the entire row is checked rather than sampled closure."
      },
      "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": "target topology:empty/full carrier and EVERY binary union/intersection checked in COMPLETE finite family of8 opens",
      "after": "ANY arbitrary indexed union has only finitely many DISTINCT opens here,so equals a finite repeated binary union;empty union is empty;finite intersections include empty intersection=full carrier;all topology axioms hold",
      "relation": "implies",
      "rule_id": "homeo_finite_binary_closure_full_topology_quantifiers",
      "conditions": [],
      "explanation": {
        "zh-Hant": "任意索引族可能有重複或無限索引，但此有限表只有有限個不同開集，取全部不同值後union不變；由binary閉包歸納給任意union。有限intersection同理，空情形由空集／全carrier處理。",
        "en": "An indexed family may repeat members or have infinitely many indices,but this finite table has only finitely many distinct opens.Removing repetitions preserves its union,so binary closure inductively gives arbitrary-union closure.Finite intersections follow similarly,including the empty cases."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=0;complete target open=[]",
      "after": "exact full-carrier preimage=[];matching source-open index=0;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=1;complete target open=[0, 1, 2]",
      "after": "exact full-carrier preimage=[0, 1, 2];matching source-open index=2;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=2;complete target open=[0, 1, 2, 3, 4]",
      "after": "exact full-carrier preimage=[0, 1, 2, 3, 4];matching source-open index=3;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=3;complete target open=[0, 2]",
      "after": "exact full-carrier preimage=[1, 2];matching source-open index=5;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=4;complete target open=[0, 2, 3, 4]",
      "after": "exact full-carrier preimage=[1, 2, 3, 4];matching source-open index=6;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=5;complete target open=[1]",
      "after": "exact full-carrier preimage=[0];matching source-open index=1;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=6;complete target open=[1, 3, 4]",
      "after": "exact full-carrier preimage=[0, 3, 4];matching source-open index=4;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=7;complete target open=[3, 4]",
      "after": "exact full-carrier preimage=[3, 4];matching source-open index=7;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "forward map:ALL target-open preimage flags=[是, 是, 是, 是, 是, 是, 是, 是]",
      "after": "continuous=是 by the COMPLETE open-preimage definition",
      "relation": "implies",
      "rule_id": "homeo_full_continuity_each_direction_separate",
      "conditions": [],
      "explanation": {
        "zh-Hant": "所有列合取才是這一方向連續；失敗列給實際反例，不能靠另一方向或雙射資格掩蓋。",
        "en": "Conjoin every row for continuity in this direction.A failed row is an actual counterexample and is not repaired by bijectivity or continuity in the opposite direction."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=0;complete target open=[]",
      "after": "exact full-carrier preimage=[];matching source-open index=0;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=1;complete target open=[0]",
      "after": "exact full-carrier preimage=[1];matching source-open index=5;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=2;complete target open=[0, 1, 2]",
      "after": "exact full-carrier preimage=[0, 1, 2];matching source-open index=1;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=3;complete target open=[0, 1, 2, 3, 4]",
      "after": "exact full-carrier preimage=[0, 1, 2, 3, 4];matching source-open index=2;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=4;complete target open=[0, 3, 4]",
      "after": "exact full-carrier preimage=[1, 3, 4];matching source-open index=6;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=5;complete target open=[1, 2]",
      "after": "exact full-carrier preimage=[0, 2];matching source-open index=3;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=6;complete target open=[1, 2, 3, 4]",
      "after": "exact full-carrier preimage=[0, 2, 3, 4];matching source-open index=4;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ACTUAL total map=[1, 0, 2, 3, 4];target open index=7;complete target open=[3, 4]",
      "after": "exact full-carrier preimage=[3, 4];matching source-open index=7;preimage open=是",
      "relation": "implies",
      "rule_id": "homeo_every_target_open_preimage_not_image_or_samples",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義要求target每個開集的逆像在source開，不能把image或一個開集的成功代替。None是此完整source表確實沒有該逆像，不是計算沒做。",
        "en": "Continuity requires the preimage of every target open to be source-open,not an image test or one passing open.None means this preimage is absent from the complete source table,not that computation was skipped."
      },
      "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": "inverse map:ALL target-open preimage flags=[是, 是, 是, 是, 是, 是, 是, 是]",
      "after": "continuous=是 by the COMPLETE open-preimage definition",
      "relation": "implies",
      "rule_id": "homeo_full_continuity_each_direction_separate",
      "conditions": [],
      "explanation": {
        "zh-Hant": "所有列合取才是這一方向連續；失敗列給實際反例，不能靠另一方向或雙射資格掩蓋。",
        "en": "Conjoin every row for continuity in this direction.A failed row is an actual counterexample and is not repaired by bijectivity or continuity in the opposite direction."
      },
      "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": "complete valid source/target topologies;actual bijection=[1, 0, 2, 3, 4];forward continuity=是;inverse continuity=是",
      "after": "homeomorphism=是 is the CONJUNCTION;family name does not assume either continuity direction",
      "relation": "implies",
      "rule_id": "homeo_bijection_plus_both_continuities_not_family_assumption",
      "conditions": [],
      "explanation": {
        "zh-Hant": "兩個topology資格、雙射與兩方向連續是不同責任。一個continuous bijection仍須inverse連續；邊界題也可能正向False或兩者True，照實際完整資料判，不按題名硬填。",
        "en": "Valid topologies,bijectivity and the two continuity directions are separate obligations.A continuous bijection still requires inverse continuity.A boundary instance may fail forward continuity or pass both directions;use the actual complete data rather than the family name."
      },
      "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": [
      true,
      true,
      true,
      true,
      true,
      true,
      "complete_open_set_preimage_audit"
    ]
  },
  "conclusion": {
    "canonical_value": "(是, 是, 是, 是, 是, 是, complete_open_set_preimage_audit)",
    "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-20261014-advance-20261105-r05-homeomorphism-foundations",
      "batch_path": "public/data/questions/batches/batch-20261014-advance-20261105-r05-homeomorphism-foundations/questions.jsonl",
      "batch_sha256": "434f3d979cb84cd573c41747c6bc152ba1ef46aa635fca24d2fb9981f5bc293f",
      "original_line": 25,
      "original_line_sha256": "047fd9c9e2668f06b4fd0fc2edd056143be163700eb6f08b6792a845c1be4b5d",
      "question_compact_sha256": "f4a31fd6f1905df53cb6a4afa39e3de51fc96b4cb1d17c77f4c4070f30e54631",
      "english_row_compact_sha256": "7fee86e791e7aa8c4d7944da2f61b23f229df8f08d0a289b9028c001f7a75385",
      "english_manifest_path": "public/data/i18n/editions/batch-20261014-advance-20261105-r05-homeomorphism-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261014-advance-20261105-r05-homeomorphism-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-homeomorphism": {
        "sha256": "2869b47d1ae828f6ec6ed61a0f7aa9d72ef812e946cb7b04184b3592d2f384de",
        "english_sha256": "d5057b40272d1d558ba56008bae40cf826c2405ad5dd379b5d22dd4562bcbc89",
        "original_path": "public/data/mko/homeomorphism.json",
        "english_path": "public/data/i18n/editions/mko-homeomorphism.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "7be57d88eceb13736454f82dd18bb3c4ec9d30c0367f974dcefdf8990dc4e3cb",
    "original_candidate_sha256": "c1c52bf05fea3c109482f7d3d4f41179e525c475ebcf37cf4c69055ee234dea7",
    "original_candidate_line_sha256": "c1c52bf05fea3c109482f7d3d4f41179e525c475ebcf37cf4c69055ee234dea7"
  },
  "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-008-p38",
    "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": "065507b602ceee60cf47a700d387a51940e0c6724c35a3336a7a7948a199ed80",
      "question_first_witness_sha256": "7203f33b030792559673b0fee520a8c0e70903c4dd970b35293aa40852f333d6"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 41,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "633ebcf3b07ee312345b8b1f3c35f03a288922e1937e87fc7e8719c2602b122b",
      "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."
  }
}
