{
  "$schema": "../../../schemas/mko-v0.4.schema.json",
  "schema_version": "mko-v0.4",
  "id": "mko-inverse-function",
  "semantic_family_id": "sf-inverse-function",
  "type": "definition",
  "version": "0.10.0",
  "language": "zh-Hant",
  "titles": {
    "zh-Hant": "雙射的反函數"
  },
  "summary": {
    "zh-Hant": "雙射 f:A→B 的反函數 g:B→A 須驗證兩個方向的還原，不能把交換資料當成無條件反函數。"
  },
  "statement": {
    "zh-Hant": "若 f:A→B 是雙射，反函數 g:B→A 由每個 b 的唯一原像定義，滿足 g(f(x))=x（x∈A）及 f(g(y))=y（y∈B）。有限表可以交換有序對後建立 g；若 f 非雙射，交換表不能自動成為這個 B→A 的反函數。"
  },
  "formula": {
    "tex": "g(f(x))=x",
    "mathml": "<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mrow><mrow><mi>g</mi><mo>(</mo><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mi>x</mi></mrow></math>",
    "semantic_ast": {
      "type": "equation",
      "lhs": {
        "type": "function_call",
        "callee": {
          "type": "symbol",
          "name": "g",
          "glyph": "g"
        },
        "arguments": [
          {
            "type": "function_call",
            "callee": {
              "type": "symbol",
              "name": "f",
              "glyph": "f"
            },
            "arguments": [
              {
                "type": "symbol",
                "name": "x",
                "glyph": "x"
              }
            ]
          }
        ]
      },
      "rhs": {
        "type": "symbol",
        "name": "x",
        "glyph": "x"
      }
    },
    "compiler": {
      "id": "ocme-formula-core",
      "version": "0.4.0",
      "source_sha256": "9629a10ddc66da7e70c37ca0e2029c80a216fa383efd4887a9ce3a86a9ae258a"
    }
  },
  "assumptions": [
    {
      "id": "a1",
      "zh-Hant": "反函數表與求值題先確認 f 是宣告 A→B 的雙射。"
    },
    {
      "id": "a2",
      "zh-Hant": "候選 g 先驗為總函數 B→A，再查兩側 identity；代表公式只呈現其中一側。"
    },
    {
      "id": "a3",
      "zh-Hant": "仿射例子限定 f:R→R、m≠0；inverse 的係數以最簡正分母有理數回答。"
    }
  ],
  "symbols": [
    {
      "token": "g",
      "role": "inverse_candidate",
      "role_zh": "反函數或候選總函數",
      "scope": "representative_formula"
    },
    {
      "token": "f",
      "role": "bijection",
      "role_zh": "宣告雙射",
      "scope": "representative_formula"
    },
    {
      "token": "x",
      "role": "domain_input",
      "role_zh": "A 中合法輸入",
      "scope": "representative_formula"
    }
  ],
  "dependencies": [
    {
      "id": "mko-bijective",
      "title_zh": "雙射與唯一原像",
      "reason_zh": "反函數需要每個目標的唯一原像。"
    },
    {
      "id": "mko-composition",
      "title_zh": "函數合成",
      "reason_zh": "兩個方向的還原以合成描述。"
    },
    {
      "id": "mko-linear-function",
      "title_zh": "仿射函數與一次函數",
      "reason_zh": "非零斜率的實仿射函數例子。"
    }
  ],
  "explanation": {
    "paragraphs_zh": [
      "在有限雙射表中，每個目標恰出現一次，交換後才是總函數 B→A。空雙射 ∅→∅ 的 inverse 也是空函數。",
      "反函數按兩側 identity 定義；本輪候選驗收逐側檢查，避免把一般單側 inverse 當成雙側 inverse。候選表需完整明示陪域／定義域。反函數不是取倒數 1/f(x)。",
      "對 f(x)=mx+b 且 m≠0，g(y)=(y−b)/m；寫成 g(y)=uy+v 時 u=1/m、v=−b/m。本輪只算精確整數參數的有理係數，不聲稱一般可逆映射的機器證明已完成。"
    ],
    "common_misconception_zh": "非雙射也交換表就叫反函數，或把 f⁻¹ 當成 1/f。"
  },
  "proofs": [],
  "computational_companions": [],
  "verification": {
    "computational_status": "not_evaluated_no_computational_claim",
    "warning_zh": "明示有限雙射可驗證兩側還原；一般 inverse 存在唯一性與型別橋仍待形式化。",
    "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.LeftInverse／RightInverse、Equiv.symm 和非零仿射 inverse。"
  },
  "provenance": {
    "origin": "ocme_local_ai_materialization_candidate",
    "note_zh": "依 research/atlas-inverse-function.md 整理；2026-10-04 脈衝 R04（使用者手動接續 2026-10-05 工作序列；實際日期仍為 2026-10-04），英文及 Lean 依使用者指示延後。",
    "content_license": "CC-BY-SA-4.0",
    "code_license": "MIT",
    "created_at": "2026-10-04"
  }
}
