{
  "$schema": "../../../schemas/mko-v0.4.schema.json",
  "schema_version": "mko-v0.4",
  "id": "mko-injective",
  "semantic_family_id": "sf-injective",
  "type": "definition",
  "version": "0.10.0",
  "language": "zh-Hant",
  "titles": {
    "zh-Hant": "單射與不同輸入的辨識"
  },
  "summary": {
    "zh-Hant": "單射要求不同合法輸入不能有同一輸出，不要求覆蓋整個陪域。"
  },
  "statement": {
    "zh-Hant": "給定總函數 f:A→B，若對任意 x、y∈A，f(x)=f(y) 蘊涵 x=y，則 f 為單射；等價地，不同輸入具有不同輸出。每個 b∈B 的原像纖維 {x∈A:f(x)=b} 至多有一個元素。"
  },
  "formula": {
    "tex": "f:A\\to B",
    "mathml": "<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mrow><mi>f</mi><mo>:</mo><mi>A</mi><mo>→</mo><mi>B</mi></mrow></math>",
    "semantic_ast": {
      "type": "mapping",
      "function": {
        "type": "symbol",
        "name": "f",
        "glyph": "f"
      },
      "domain": {
        "type": "symbol",
        "name": "A",
        "glyph": "A"
      },
      "codomain": {
        "type": "symbol",
        "name": "B",
        "glyph": "B"
      }
    },
    "compiler": {
      "id": "ocme-formula-core",
      "version": "0.4.0",
      "source_sha256": "5a60a2d0dc6d3fe1eee2b4f6bcd1ad8a4c7f29d3622d3feffede72f213ed426f"
    }
  },
  "assumptions": [
    {
      "id": "a1",
      "zh-Hant": "A、B 與總函數已明示；每個 A 中輸入恰有一個 B 中輸出。"
    },
    {
      "id": "a2",
      "zh-Hant": "題庫是有限整數標籤的函數表；空定義域的單射條件真，不外推有限結果到其他函數。"
    }
  ],
  "symbols": [
    {
      "token": "f",
      "role": "total_function",
      "role_zh": "指定總函數",
      "scope": "representative_formula"
    },
    {
      "token": "A",
      "role": "domain",
      "role_zh": "定義域",
      "scope": "representative_formula"
    },
    {
      "token": "B",
      "role": "codomain",
      "role_zh": "陪域",
      "scope": "representative_formula"
    }
  ],
  "dependencies": [
    {
      "id": "mko-function-mapping",
      "title_zh": "函數映射",
      "reason_zh": "先驗總函數輸入／輸出資格。"
    },
    {
      "id": "mko-quantifier",
      "title_zh": "量詞與明示論域",
      "reason_zh": "單射條件量化兩個合法輸入。"
    }
  ],
  "explanation": {
    "paragraphs_zh": [
      "先檢查表格在 A 上總定義，再比較不同輸入的輸出。重複列出同一有序對只是表示重複；同一輸入配不同輸出則不是總函數。",
      "單射可以漏掉陪域的元素。纖維大小可以是零或一；只有同一輸出有兩個不同原像時，才得到單射失敗的碰撞見證。",
      "限制到 C⊆A 後，所得函數只比較 C 中輸入；原函數可能不單射而限制後單射。有限首碰撞先取 x<x′，再按 (x,x′) 字典序選首對，不從示意箭頭或抽樣猜性質。"
    ],
    "common_misconception_zh": "把單射誤當每個陪域元素都有原像，或略過總函數資格。"
  },
  "proofs": [],
  "computational_companions": [],
  "verification": {
    "computational_status": "not_evaluated_no_computational_claim",
    "warning_zh": "有限表可完整檢查單射及碰撞；一般單射理論未新增形式 Evidence。",
    "evidence_refs": [],
    "producers": [
      {
        "id": "lean-mathlib",
        "adapter": "formal_system",
        "config_path": "formal/lean/lakefile.toml",
        "status": "configured"
      }
    ]
  },
  "formalization": {
    "status": "not_formalized",
    "target_systems": [
      "Lean 4",
      "Mathlib"
    ],
    "next_obligation_zh": "綁定 Function.Injective、纖維基數與定義域限制。"
  },
  "provenance": {
    "origin": "ocme_local_ai_materialization_candidate",
    "note_zh": "依 research/atlas-injective.md 整理；2026-10-04 脈衝 R01（使用者手動接續 2026-10-05 工作序列；實際日期仍為 2026-10-04），英文及 Lean 依使用者指示延後。",
    "content_license": "CC-BY-SA-4.0",
    "code_license": "MIT",
    "created_at": "2026-10-04"
  }
}
