{
  "$schema": "../../../schemas/mko-v0.4.schema.json",
  "schema_version": "mko-v0.4",
  "id": "mko-domain-codomain-range",
  "semantic_family_id": "sf-domain-codomain-range",
  "type": "definition",
  "version": "0.10.0",
  "language": "zh-Hant",
  "titles": {
    "zh-Hant": "定義域、陪域與值域"
  },
  "summary": {
    "zh-Hant": "總函數 f:A→B 的定義域是 A，陪域是 B，值域是實際取得的輸出集合 f[A]。"
  },
  "statement": {
    "zh-Hant": "對總函數 f:A→B，A 是允許的全部輸入，B 是宣告的輸出集合；值域 f[A]={f(x):x∈A} 是 B 的子集合，未必等於 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 已明示，f 為在 A 上每個輸入恰有一個 B 中輸出的總函數。"
    }
  ],
  "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-set",
      "title_zh": "集合",
      "reason_zh": "定義域、陪域與值域都是明示集合。"
    }
  ],
  "explanation": {
    "paragraphs_zh": [
      "定義域指定哪些輸入允許；陪域指定輸出必須落在哪裡。值域只收集實際出現的輸出，重複輸出只列一次。",
      "同一份映射資料可以具有不同的合法陪域，但宣告 f:A→B 的完整函數資料因此不同。不可只看輸出表猜陪域。",
      "有限表格可逐輸入驗證總函數，再分別讀出 A、B 與值域。漏掉輸入、多重輸出或輸出落在 B 外的表格，不能冒充本條目的總函數。"
    ],
    "common_misconception_zh": "把陪域誤當實際值域，或以未定義輸入的表格計算一個宣称的總函數值域。"
  },
  "proofs": [],
  "computational_companions": [],
  "verification": {
    "computational_status": "not_evaluated_no_computational_claim",
    "warning_zh": "有限明示表格可完整檢查其輸入輸出；這不替代一般函數與无限集合的形式證明。",
    "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": "綁定 Set.range、像集合與函數型別的定義域／陪域橋。"
  },
  "provenance": {
    "origin": "ocme_local_ai_materialization_candidate",
    "note_zh": "依 research/atlas-domain-codomain-range.md 整理；2026-09-30 脈衝 R03，英文及 Lean 依使用者指示延後。",
    "content_license": "CC-BY-SA-4.0",
    "code_license": "MIT",
    "created_at": "2026-09-30"
  }
}
