{
  "schema_version": "ocme-derivation-reader-v1",
  "guide_id": "derivation-mko-bijective-01",
  "mko_id": "mko-bijective",
  "title": {
    "zh-Hant": "雙射：以纖維概況判定給定函數，並與「是否存在某個雙射」分開",
    "en": "Bijectivity: testing given functions by fiber profiles, kept apart from whether some bijection exists"
  },
  "contract": {
    "schema_version": "ocme-derivation-guide-v0.1",
    "guide_id": "derivation-mko-bijective-01",
    "source": {
      "mko_id": "mko-bijective",
      "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
      "sha256": "3f8aacffa7cd2d06121165a4baccd488e1af92185dc745b6ee2cd5733c59c73c",
      "english_sha256": "6263c10144a28f0b03f69a5c27ee3b32c7eaf33f0446b48924c55a2d093b71e9"
    },
    "mode": "definition_walkthrough",
    "audience_prerequisites": [
      "function_def",
      "injective_surjective_def",
      "image_preimage_def",
      "set_builder",
      "finite_counting_basics",
      "numeric_evaluation"
    ],
    "goal": {
      "zh-Hant": "設 A={1,2,3}、B={4,5,6}，函數 f、g:A→B 由表給出：f(1)=5、f(2)=6、f(3)=4；g(1)=4、g(2)=4、g(3)=6。先對一般總函數證明「雙射 ⇔ 每個 b∈B 的纖維恰有一個元素」，再按陪域 4、5、6 的順序列出 f 與 g 的完整纖維概況，判定 f 是雙射、g 既非單射也非滿射。最後回答另一類問題「是否存在某個雙射」：A→B 存在（f 即是）、{1,2,3}→{4,5} 不存在、∅→∅ 恰有一個空雙射。",
      "en": "Let A={1,2,3}, B={4,5,6}, and let f, g:A→B be given by tables: f(1)=5, f(2)=6, f(3)=4; g(1)=4, g(2)=4, g(3)=6. First prove, for any total function, the equivalence: bijective ⇔ the fiber of every b∈B has exactly one element. Then list the complete fiber profiles of f and g in the codomain order 4, 5, 6, and decide that f is bijective while g is neither injective nor surjective. Finally answer the different question of whether some bijection exists: one exists A→B (f is one), none exists {1,2,3}→{4,5}, and ∅→∅ has exactly one, the empty bijection."
    },
    "givens": [
      {
        "id": "G1",
        "statement": {
          "zh-Hant": "A={1,2,3}、B={4,5,6}；f:A→B 為 f(1)=5、f(2)=6、f(3)=4。",
          "en": "A={1,2,3}, B={4,5,6}; f:A→B is f(1)=5, f(2)=6, f(3)=4."
        }
      },
      {
        "id": "G2",
        "statement": {
          "zh-Hant": "g:A→B 為 g(1)=4、g(2)=4、g(3)=6；陪域仍宣告為 B={4,5,6}。",
          "en": "g:A→B is g(1)=4, g(2)=4, g(3)=6; its codomain is still declared to be B={4,5,6}."
        }
      },
      {
        "id": "G3",
        "statement": {
          "zh-Hant": "C={4,5}；問題：是否存在雙射 A→C。",
          "en": "C={4,5}; question: does a bijection A→C exist?"
        }
      },
      {
        "id": "G4",
        "statement": {
          "zh-Hant": "MKO 假設 a1：判定給定函數與詢問是否存在某個雙射是不同問題。a2：存在性題限定有限集合，大小為非負整數；兩邊大小皆為零時有唯一的空雙射。",
          "en": "MKO assumption a1: testing a given function and asking whether some bijection exists are distinct questions. a2: existence exercises use finite sets with nonnegative integer sizes; size zero on both sides permits the unique empty bijection."
        }
      }
    ],
    "steps": [
      {
        "id": "S01",
        "uses": [
          "G1",
          "G2"
        ],
        "before_tex": "f,g\\ \\text{given by tables on}\\ A=\\{1,2,3\\}",
        "after_tex": "f,g:A\\to B\\ \\text{total functions},\\ B=\\{4,5,6\\}",
        "relation": "definition",
        "rule": "function_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "先確認題目給的確實是總函數：在 f 的表中，1、2、3 各出現恰好一次，值 5、6、4 都在 B 中；g 的表也一樣，值 4、4、6 都在 B 中。陪域是題目宣告的 B={4,5,6}，不是由表中出現的值反推，所以 g 從未取到的 5 仍屬於陪域。",
          "en": "First confirm that the data really are total functions: in the table of f, each of 1, 2, 3 appears exactly once, with values 5, 6, 4 in B; the table of g is the same, with values 4, 4, 6 in B. The codomain is the declared B={4,5,6}, not one read off from the values in the table, so 5, which g never takes, still belongs to the codomain."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "G2",
            "function_def"
          ],
          "explanation": {
            "zh-Hant": "此步只讀表並核對函數定義的兩個要求（每個輸入有值、值唯一），不推出新事實。若把陪域改成值的集合，後面的滿射判定會改變，所以陪域必須照題目宣告。",
            "en": "This step only reads the tables and checks the two requirements of a function (every input has a value, and only one); it derives no new fact. Replacing the codomain by the set of values would change the surjectivity verdict later, so the codomain must be the declared one."
          }
        },
        "leaf_basis": "function_def"
      },
      {
        "id": "S02",
        "uses": [
          "S01"
        ],
        "before_tex": "b\\in B",
        "after_tex": "f^{-1}(\\{b\\})=\\{a\\in A\\mid f(a)=b\\}",
        "relation": "definition",
        "rule": "fiber_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "對陪域中的每個目標 b 定義其纖維，即被 f 送到 b 的全部輸入。完整的纖維概況按陪域目標排列，包含沒有原像的目標（空纖維）。f^{-1}({b}) 只是原像記號，對不可逆的函數也有意義。",
          "en": "For each target b of the codomain, define its fiber: all inputs that f sends to b. The complete fiber profile is indexed by the codomain targets and includes targets with no preimage (empty fibers). f^{-1}({b}) is only preimage notation and makes sense for non-invertible functions too."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "fiber_def",
            "image_preimage_def"
          ],
          "explanation": {
            "zh-Hant": "只是命名一個對所有函數都存在的集合，沒有宣稱任何纖維非空或只有一個元素。",
            "en": "This only names a set that exists for every function; it does not claim that any fiber is nonempty or has one element."
          }
        },
        "leaf_basis": "fiber_def + image_preimage_def + set_builder"
      },
      {
        "id": "S03",
        "uses": [
          "S02"
        ],
        "before_tex": "f\\ \\text{injective}",
        "after_tex": "\\forall b\\in B:\\ |f^{-1}(\\{b\\})|\\le 1",
        "relation": "equivalent",
        "rule": "L_inj_fiber",
        "conditions": [],
        "explanation": {
          "zh-Hant": "依引理 L_inj_fiber，把單射改寫成纖維的條件：每個纖維至多一個元素。引理的兩個方向在 S03.1 與 S03.2 證明，對任意集合上的總函數成立，不需要有限性。",
          "en": "By Lemma L_inj_fiber, injectivity is restated as a condition on fibers: every fiber has at most one element. The two directions of the lemma are proved in S03.1 and S03.2 and hold for total functions on any sets, with no finiteness needed."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "L_inj_fiber"
          ],
          "explanation": {
            "zh-Hant": "⇒ 由 S03.1 證明，⇐ 由 S03.2 證明；兩個方向都有理由，所以是等價。",
            "en": "⇒ is proved in S03.1 and ⇐ in S03.2; both directions have reasons, so this is an equivalence."
          }
        },
        "leaf_basis": "injective_surjective_def + set_builder + eq_refl_symm_trans"
      },
      {
        "id": "S03.1",
        "uses": [
          "S02",
          "injective_surjective_def",
          "set_builder"
        ],
        "before_tex": "f\\ \\text{injective},\\ a,a'\\in f^{-1}(\\{b\\})",
        "after_tex": "a=a'",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "（⇒）設 f 單射，a、a′ 都在 b 的纖維中。依集合建構式，f(a)=b 且 f(a′)=b，所以 f(a)=f(a′)；單射給出 a=a′。纖維中任兩個元素都相等，故至多一個元素。",
          "en": "(⇒) Let f be injective and let a, a′ both lie in the fiber of b. By set-builder notation f(a)=b and f(a′)=b, so f(a)=f(a′); injectivity gives a=a′. Any two elements of the fiber are equal, so it has at most one element."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "injective_surjective_def",
            "set_builder",
            "eq_refl_symm_trans"
          ],
          "explanation": {
            "zh-Hant": "只用到單射定義與等號的對稱、傳遞；這是單向推論，反向由 S03.2 另行證明。",
            "en": "Only the definition of injective and symmetry and transitivity of equality are used; this is one direction, and the converse is proved separately in S03.2."
          }
        },
        "leaf_basis": "injective_surjective_def + set_builder + eq_refl_symm_trans"
      },
      {
        "id": "S03.2",
        "uses": [
          "S02",
          "set_builder",
          "function_def"
        ],
        "before_tex": "\\forall b:\\ |f^{-1}(\\{b\\})|\\le 1,\\ f(a)=f(a')",
        "after_tex": "a=a'",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "（⇐）設每個纖維至多一個元素，且 f(a)=f(a′)。令 b=f(a)，因 f 是 A→B 的函數，b∈B。依集合建構式 a 與 a′ 都在 b 的纖維中；該纖維至多一個元素，所以 a=a′，即 f 單射。S03.1 與 S03.2 合起來證得引理 L_inj_fiber。",
          "en": "(⇐) Suppose every fiber has at most one element and f(a)=f(a′). Put b=f(a); since f is a function A→B, b∈B. By set-builder notation a and a′ both lie in the fiber of b, which has at most one element, so a=a′; that is, f is injective. S03.1 and S03.2 together prove Lemma L_inj_fiber."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "function_def",
            "set_builder",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "關鍵是 b=f(a) 屬於 B，這樣才能套用「每個 b∈B 的纖維」這個假設；這由 f 是總函數保證。",
            "en": "The key point is that b=f(a) belongs to B, so that the hypothesis about every fiber of b∈B applies; this is guaranteed because f is a total function."
          }
        },
        "leaf_basis": "function_def + set_builder + injective_surjective_def"
      },
      {
        "id": "S04",
        "uses": [
          "S02"
        ],
        "before_tex": "f\\ \\text{surjective}",
        "after_tex": "\\forall b\\in B:\\ |f^{-1}(\\{b\\})|\\ge 1",
        "relation": "equivalent",
        "rule": "L_surj_fiber",
        "conditions": [],
        "explanation": {
          "zh-Hant": "依引理 L_surj_fiber，把滿射改寫成：每個纖維至少一個元素（非空）。證明在 S04.1。",
          "en": "By Lemma L_surj_fiber, surjectivity is restated as: every fiber has at least one element (is nonempty). The proof is in S04.1."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "L_surj_fiber"
          ],
          "explanation": {
            "zh-Hant": "S04.1 的等價對每個 b 雙向成立，對所有 b 同時取全稱後仍雙向成立。",
            "en": "The equivalence of S04.1 holds both ways for each b, and stays two-way after quantifying over all b."
          }
        },
        "leaf_basis": "injective_surjective_def + set_builder"
      },
      {
        "id": "S04.1",
        "uses": [
          "S02",
          "injective_surjective_def",
          "set_builder"
        ],
        "before_tex": "\\exists a\\in A:\\ f(a)=b",
        "after_tex": "f^{-1}(\\{b\\})\\neq\\varnothing",
        "relation": "equivalent",
        "rule": "set_builder",
        "conditions": [],
        "explanation": {
          "zh-Hant": "滿射的定義是：每個 b∈B 都有某個 a∈A 使 f(a)=b。對固定的 b，「有某個 a 使 f(a)=b」恰好表示集合 {a∈A ∣ f(a)=b} 有元素，即纖維非空。對所有 b 取全稱，得到引理 L_surj_fiber。",
          "en": "Surjectivity means: every b∈B has some a∈A with f(a)=b. For fixed b, 'some a has f(a)=b' says exactly that the set {a∈A ∣ f(a)=b} has an element, i.e. the fiber is nonempty. Quantifying over all b gives Lemma L_surj_fiber."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "set_builder",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "集合建構式的成員條件本身是雙向的：纖維中的元素就是所需的 a，所需的 a 也就是纖維中的元素。",
            "en": "The membership condition of set-builder notation is itself two-way: an element of the fiber is the required a, and the required a is an element of the fiber."
          }
        },
        "leaf_basis": "set_builder + injective_surjective_def"
      },
      {
        "id": "S05",
        "uses": [
          "S03",
          "S04"
        ],
        "before_tex": "f\\ \\text{bijective}",
        "after_tex": "\\forall b\\in B:\\ |f^{-1}(\\{b\\})|=1",
        "relation": "equivalent",
        "rule": "mko_bijective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "雙射的定義是單射且滿射。以 S03、S04 的等價分別替換兩個合取項，得到：每個 b 的纖維同時「至多一個元素」且「至少一個元素」，恰好就是「恰有一個元素」。這個推論不需要先假設纖維有限，也不把一般函數的纖維大小預設為非負整數。這就是 MKO 所說的等價刻畫。",
          "en": "Bijective means injective and surjective. Replacing each conjunct by the equivalences S03 and S04 gives: every b's fiber has both at most one element and at least one element, which is exactly having one element. This inference does not assume in advance that fibers are finite or that a general function's fiber size is a nonnegative integer. This is the equivalent characterization stated in the MKO."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "S03",
            "S04",
            "and_intro_elim",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "每個合取項都換成等價的條件，合取保持等價；對整數，n≤1 且 n≥1 ⇔ n=1 雙向成立（反對稱與自反）。",
            "en": "Each conjunct is replaced by an equivalent condition, so the conjunction stays equivalent; for integers, n≤1 and n≥1 ⇔ n=1 holds both ways (antisymmetry and reflexivity)."
          }
        },
        "leaf_basis": "injective_surjective_def + and_intro_elim + order_basics"
      },
      {
        "id": "S06",
        "uses": [
          "G1",
          "S02"
        ],
        "before_tex": "f^{-1}(\\{4\\}),\\ f^{-1}(\\{5\\}),\\ f^{-1}(\\{6\\})",
        "after_tex": "\\{3\\},\\ \\{1\\},\\ \\{2\\}",
        "relation": "equivalent",
        "rule": "set_builder",
        "conditions": [],
        "explanation": {
          "zh-Hant": "逐一掃描 A 的三個元素：f(1)=5、f(2)=6、f(3)=4。目標 4 只由 3 達到，目標 5 只由 1 達到，目標 6 只由 2 達到。A 是有限集合，三個元素全部檢查過，所以每個纖維都已完整求出。f 的纖維概況（按 4、5、6）是 (1,1,1)。",
          "en": "Scan the three elements of A: f(1)=5, f(2)=6, f(3)=4. Target 4 is reached only from 3, target 5 only from 1, and target 6 only from 2. A is finite and all three elements were checked, so each fiber has been found completely. The fiber profile of f (in the order 4, 5, 6) is (1,1,1)."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "set_builder",
            "set_extensionality",
            "G1"
          ],
          "explanation": {
            "zh-Hant": "每個列出的元素都滿足 f(a)=b，A 中其餘兩個元素都已驗證不滿足；依集合外延性，兩邊的集合相同，雙向成立。",
            "en": "Each listed element satisfies f(a)=b and the other two elements of A were checked not to; by extensionality the sets on both sides are the same, so the step holds both ways."
          }
        },
        "leaf_basis": "set_builder + set_extensionality + numeric_evaluation"
      },
      {
        "id": "S07",
        "uses": [
          "S05",
          "S06"
        ],
        "before_tex": "|f^{-1}(\\{4\\})|=|f^{-1}(\\{5\\})|=|f^{-1}(\\{6\\})|=1",
        "after_tex": "f\\ \\text{bijective}",
        "relation": "implies",
        "rule": "mko_bijective_def",
        "conditions": [
          "B=\\{4,5,6\\}"
        ],
        "explanation": {
          "zh-Hant": "B 恰有 4、5、6 三個目標，S06 顯示三個纖維都恰有一個元素，所以「每個 b∈B 的纖維恰有一個元素」成立；依 S05，f 是雙射。",
          "en": "B has exactly the three targets 4, 5, 6, and S06 shows that each of the three fibers has exactly one element, so 'every b∈B has a fiber with exactly one element' holds; by S05, f is bijective."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S05",
            "S06",
            "G1"
          ],
          "explanation": {
            "zh-Hant": "需要的是陪域中的每個目標都被檢查到；B 的三個元素都在 S06 中出現，沒有遺漏的目標。本步只用 S05 的 ⇐ 方向。",
            "en": "What is needed is that every target of the codomain was examined; all three elements of B appear in S06, so no target is missed. Only the ⇐ direction of S05 is used here."
          }
        },
        "leaf_basis": "mko_bijective_def + forall_intro + and_intro_elim"
      },
      {
        "id": "S08",
        "uses": [
          "G2",
          "S02"
        ],
        "before_tex": "g^{-1}(\\{4\\}),\\ g^{-1}(\\{5\\}),\\ g^{-1}(\\{6\\})",
        "after_tex": "\\{1,2\\},\\ \\varnothing,\\ \\{3\\}",
        "relation": "equivalent",
        "rule": "set_builder",
        "conditions": [],
        "explanation": {
          "zh-Hant": "對 g 做同樣的掃描：g(1)=4、g(2)=4、g(3)=6。目標 4 由 1 與 2 達到，目標 6 只由 3 達到，目標 5 沒有任何輸入達到。g 的完整纖維概況（按 4、5、6）是 (2,0,1)，其中空纖維必須列出。",
          "en": "Scan g in the same way: g(1)=4, g(2)=4, g(3)=6. Target 4 is reached from 1 and from 2, target 6 only from 3, and target 5 from no input. The complete fiber profile of g (in the order 4, 5, 6) is (2,0,1), and the empty fiber must be listed."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "set_builder",
            "set_extensionality",
            "G2"
          ],
          "explanation": {
            "zh-Hant": "A 的三個元素都已對每個目標檢查；列出的元素滿足條件，其餘不滿足，集合逐元素相同。",
            "en": "All three elements of A were checked against each target; the listed elements satisfy the condition and the others do not, so the sets agree element by element."
          }
        },
        "leaf_basis": "set_builder + set_extensionality + numeric_evaluation"
      },
      {
        "id": "S09",
        "uses": [
          "S03",
          "S08"
        ],
        "before_tex": "|g^{-1}(\\{4\\})|=2",
        "after_tex": "g\\ \\text{not injective}",
        "relation": "implies",
        "rule": "L_inj_fiber",
        "conditions": [],
        "explanation": {
          "zh-Hant": "纖維 g^{-1}({4})={1,2} 有兩個元素，違反「每個纖維至多一個元素」；依 L_inj_fiber 的 ⇒ 方向取逆否，g 不是單射。具體見證：g(1)=g(2)=4 而 1≠2。",
          "en": "The fiber g^{-1}({4})={1,2} has two elements, violating 'every fiber has at most one element'; by the contrapositive of the ⇒ direction of L_inj_fiber, g is not injective. Concrete witness: g(1)=g(2)=4 while 1≠2."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "L_inj_fiber",
            "contrapositive",
            "S08"
          ],
          "explanation": {
            "zh-Hant": "只要一個纖維大於一就足以否定單射；本步不宣稱其他纖維的任何性質。",
            "en": "One fiber with more than one element suffices to refute injectivity; the step claims nothing about the other fibers."
          }
        },
        "leaf_basis": "L_inj_fiber + contrapositive"
      },
      {
        "id": "S10",
        "uses": [
          "S04",
          "S08"
        ],
        "before_tex": "g^{-1}(\\{5\\})=\\varnothing",
        "after_tex": "g\\ \\text{not surjective}",
        "relation": "implies",
        "rule": "L_surj_fiber",
        "conditions": [
          "5\\in B"
        ],
        "explanation": {
          "zh-Hant": "5 屬於宣告的陪域 B，但它的纖維是空集合；依 L_surj_fiber，g 不是滿射。所以 g 兩個條件都不滿足，屬於「兩者皆非」一類。",
          "en": "5 belongs to the declared codomain B, but its fiber is empty; by L_surj_fiber, g is not surjective. So g fails both conditions and falls in the class 'neither'."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "L_surj_fiber",
            "S08",
            "S01"
          ],
          "explanation": {
            "zh-Hant": "結論依賴 5∈B；若有人把陪域縮成 {4,6}，那是另一個函數，不影響本題對宣告陪域的判定。",
            "en": "The conclusion relies on 5∈B; shrinking the codomain to {4,6} would give a different function and does not affect the verdict for the declared codomain."
          }
        },
        "leaf_basis": "L_surj_fiber + contrapositive"
      },
      {
        "id": "S11",
        "uses": [
          "G1",
          "S09"
        ],
        "before_tex": "|A|=|B|=3,\\ g\\ \\text{not bijective}",
        "after_tex": "\\neg\\,\\forall\\varphi:A\\to B\\ (\\varphi\\ \\text{bijective})",
        "relation": "implies",
        "rule": "quantifier_negation",
        "conditions": [],
        "explanation": {
          "zh-Hant": "A 與 B 各有三個元素，大小相等；但 S09 已證 g 不是雙射。所以「大小相等的有限集合之間，每個函數都是雙射」這個全稱命題有反例 g，為假。這正是 MKO 假設 a1：判定給定函數不能只看兩個集合的大小。",
          "en": "A and B both have three elements, so their sizes are equal; yet S09 shows g is not bijective. Hence the universal claim 'every function between finite sets of equal size is bijective' has the counterexample g and is false. This is MKO assumption a1: a given function cannot be judged from the sizes of the two sets alone."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S09",
            "quantifier_negation",
            "exists_intro"
          ],
          "explanation": {
            "zh-Hant": "一個明確反例就足以否定全稱命題；本步不宣稱大多數函數都不是雙射（那是 S14 的計數）。",
            "en": "One explicit counterexample suffices to refute a universal claim; the step does not claim that most functions fail to be bijective (that is the count in S14)."
          }
        },
        "leaf_basis": "quantifier_negation + exists_intro"
      },
      {
        "id": "S12",
        "uses": [
          "G3"
        ],
        "before_tex": "|A|=3,\\ |C|=2",
        "after_tex": "\\neg\\exists h:A\\to C\\ \\text{bijective}",
        "relation": "implies",
        "rule": "L_no_inj_3_2",
        "conditions": [],
        "explanation": {
          "zh-Hant": "轉到存在性問題。依引理 L_no_inj_3_2，任何 h:A→C 都不是單射，因此沒有一個是雙射。這與前置規則 finite_counting_basics（3≠2）一致，但這裡在 S12.1 至 S12.3 直接證明，不依賴該一般定理。",
          "en": "Turn to the existence question. By Lemma L_no_inj_3_2, no h:A→C is injective, so none is bijective. This agrees with the prerequisite finite_counting_basics (3≠2), but here it is proved directly in S12.1 to S12.3 without that general theorem."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "L_no_inj_3_2",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "雙射必須單射；既然沒有單射的 h，也就沒有雙射。這裡不宣稱 A→C 沒有滿射（例如 1↦4、2↦5、3↦5 就是滿射）。",
            "en": "A bijection must be injective; since no h is injective, none is bijective. The step does not claim there is no surjection A→C (for example 1↦4, 2↦5, 3↦5 is one)."
          }
        },
        "leaf_basis": "injective_surjective_def + contrapositive"
      },
      {
        "id": "S12.1",
        "uses": [
          "G3",
          "function_def"
        ],
        "before_tex": "h:\\{1,2,3\\}\\to\\{4,5\\}",
        "after_tex": "h(1)=h(2)\\ \\lor\\ h(1)\\neq h(2)",
        "relation": "case_split",
        "rule": "case_analysis",
        "conditions": [],
        "explanation": {
          "zh-Hant": "任取函數 h:A→C，分兩種情形，兩者涵蓋一切可能。情形一 h(1)=h(2)：因 1≠2，h 已不是單射，這個情形完成。情形二 h(1)≠h(2) 在 S12.2、S12.3 處理。",
          "en": "Take any function h:A→C and split into two cases, which cover every possibility. Case 1, h(1)=h(2): since 1≠2, h is already not injective, and this case is done. Case 2, h(1)≠h(2), is handled in S12.2 and S12.3."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "case_analysis",
            "injective_surjective_def"
          ],
          "explanation": {
            "zh-Hant": "兩個情形是「相等或不相等」，互補且窮盡；情形一直接由單射定義否定。",
            "en": "The two cases, equal or not equal, are complementary and exhaustive; Case 1 is refuted directly by the definition of injective."
          }
        },
        "leaf_basis": "case_analysis + injective_surjective_def"
      },
      {
        "id": "S12.2",
        "uses": [
          "S12.1",
          "G3"
        ],
        "before_tex": "h(1)\\neq h(2),\\ h(1),h(2)\\in\\{4,5\\}",
        "after_tex": "\\{h(1),h(2)\\}=\\{4,5\\}",
        "relation": "implies",
        "rule": "case_analysis",
        "conditions": [],
        "explanation": {
          "zh-Hant": "情形二：h(1) 是 4 或 5。若 h(1)=4，則 h(2)≠4，而 h(2)∈{4,5}，所以 h(2)=5；若 h(1)=5，同理 h(2)=4。兩個子情形都得到 {h(1),h(2)}={4,5}。",
          "en": "Case 2: h(1) is 4 or 5. If h(1)=4 then h(2)≠4 and h(2)∈{4,5}, so h(2)=5; if h(1)=5 then likewise h(2)=4. Both sub-cases give {h(1),h(2)}={4,5}."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "case_analysis",
            "set_extensionality"
          ],
          "explanation": {
            "zh-Hant": "用到的是 C 只有兩個元素；兩個子情形窮盡 h(1) 的可能值。反向不需要。",
            "en": "What is used is that C has only two elements; the two sub-cases exhaust the possible values of h(1). The converse is not needed."
          }
        },
        "leaf_basis": "case_analysis + set_extensionality"
      },
      {
        "id": "S12.3",
        "uses": [
          "S12.2"
        ],
        "before_tex": "h(3)\\in\\{4,5\\}=\\{h(1),h(2)\\}",
        "after_tex": "h(3)=h(1)\\ \\lor\\ h(3)=h(2)",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "h(3) 也在 {4,5}={h(1),h(2)} 中，所以 h(3)=h(1) 或 h(3)=h(2)；而 3≠1、3≠2，兩種都違反單射。情形一（S12.1）與情形二都得到 h 不是單射，h 又是任意取的，S12.1 至 S12.3 證得引理 L_no_inj_3_2。",
          "en": "h(3) also lies in {4,5}={h(1),h(2)}, so h(3)=h(1) or h(3)=h(2); since 3≠1 and 3≠2, either way injectivity fails. Case 1 (S12.1) and Case 2 both show h is not injective, and h was arbitrary, so S12.1 to S12.3 prove Lemma L_no_inj_3_2."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "injective_surjective_def",
            "case_analysis",
            "forall_intro"
          ],
          "explanation": {
            "zh-Hant": "兩個情形各自推出同一結論，h 沒有附加假設，所以可推廣到所有 h。",
            "en": "Both cases reach the same conclusion and no extra assumption was put on h, so the conclusion generalizes to every h."
          }
        },
        "leaf_basis": "injective_surjective_def + case_analysis + forall_intro"
      },
      {
        "id": "S13",
        "uses": [
          "S07"
        ],
        "before_tex": "f:A\\to B\\ \\text{bijective}",
        "after_tex": "\\exists\\varphi:A\\to B\\ \\text{bijective}",
        "relation": "implies",
        "rule": "exists_intro",
        "conditions": [],
        "explanation": {
          "zh-Hant": "存在性問題「A→B 有沒有某個雙射」由明確見證回答：S07 已證 f 是雙射，所以存在。這與 finite_counting_basics（|A|=|B|=3）一致。注意這個答案只說「有某個」，對 g 是否雙射沒有任何結論。",
          "en": "The existence question 'is there some bijection A→B?' is answered by an explicit witness: S07 proved f is bijective, so one exists. This agrees with finite_counting_basics (|A|=|B|=3). Note that the answer says only 'some', and says nothing about whether g is bijective."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S07",
            "exists_intro"
          ],
          "explanation": {
            "zh-Hant": "存在引入只需一個見證；反向（存在某個雙射 ⇒ 每個函數都是雙射）不成立，S11 已給反例。",
            "en": "Existential introduction needs one witness; the reverse (some bijection exists ⇒ every function is bijective) fails, as S11 shows by counterexample."
          }
        },
        "leaf_basis": "exists_intro"
      },
      {
        "id": "S14",
        "uses": [
          "G1"
        ],
        "before_tex": "|A|=|B|=3",
        "after_tex": "3^3=27\\ \\text{functions},\\ 3!=6\\ \\text{bijections}",
        "relation": "implies",
        "rule": "count_maps",
        "conditions": [],
        "explanation": {
          "zh-Hant": "依乘法原理，A→B 共有 3^3=27 個函數，其中雙射 3!=6 個，所以有 21 個函數不是雙射，g 是其中之一。大小相等只保證「有」雙射，並不使大多數函數成為雙射。",
          "en": "By the multiplication principle there are 3^3=27 functions A→B, of which 3!=6 are bijections, so 21 functions are not bijective, and g is one of them. Equal size only guarantees that some bijection exists; it does not make most functions bijective."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "count_maps",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "計數規則是前置知識，本稿不證；這一步只作說明，主結論 S07、S09 至 S13 不依賴它。",
            "en": "The counting rule is a prerequisite not proved here; this step is illustrative only, and the main conclusions S07 and S09 to S13 do not depend on it."
          }
        },
        "leaf_basis": "count_maps + numeric_evaluation"
      },
      {
        "id": "S15",
        "uses": [
          "G4",
          "function_def"
        ],
        "before_tex": "\\varnothing\\to\\varnothing",
        "after_tex": "\\varepsilon=\\varnothing\\ \\text{is the unique bijection}\\ \\varnothing\\to\\varnothing",
        "relation": "implies",
        "rule": "injective_surjective_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "函數 ∅→∅ 是 ∅×∅=∅ 的子集合，且每個定義域元素恰有一個值；定義域沒有元素，條件空真，所以唯一的子集合 ∅ 就是唯一的函數，記為 ε。單射空真（沒有兩個輸入可比較），滿射也空真（陪域沒有需要達到的目標），因此 ε 是雙射；按纖維看，陪域沒有目標，「每個纖維恰有一個元素」同樣空真。這對應 a2：|∅|=0=|∅| 時有唯一的空雙射。",
          "en": "A function ∅→∅ is a subset of ∅×∅=∅ in which every domain element has exactly one value; the domain has no elements, so the condition holds vacuously, and the only subset, ∅, is the only function, written ε. Injectivity holds vacuously (there are no two inputs to compare) and so does surjectivity (the codomain has no target to reach), so ε is a bijection; in terms of fibers, the codomain has no targets and 'every fiber has exactly one element' is vacuously true as well. This matches a2: when |∅|=0=|∅| there is the unique empty bijection."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "function_def",
            "injective_surjective_def",
            "cartesian_product_def",
            "forall_intro"
          ],
          "explanation": {
            "zh-Hant": "所有條件都是對空集合的全稱，因此空真；唯一性來自 ∅×∅ 只有一個子集合。",
            "en": "All conditions are universal statements over the empty set and hold vacuously; uniqueness comes from ∅×∅ having only one subset."
          }
        },
        "leaf_basis": "function_def + injective_surjective_def + cartesian_product_def + forall_intro"
      },
      {
        "id": "S16",
        "uses": [
          "S07",
          "S09",
          "S10",
          "S12",
          "S13",
          "S15"
        ],
        "before_tex": "\\text{S07, S09, S10, S12, S13, S15}",
        "after_tex": "f\\ \\text{bijective};\\ g\\ \\text{neither};\\ \\exists\\,A\\to B;\\ \\nexists\\,A\\to C;\\ \\exists!\\,\\varnothing\\to\\varnothing",
        "relation": "implies",
        "rule": "and_intro_elim",
        "conditions": [],
        "explanation": {
          "zh-Hant": "把結果分成兩類問題整理。給定函數：f 的纖維概況 (1,1,1)，是雙射；g 的纖維概況 (2,0,1)，既非單射也非滿射。存在性：A→B 有雙射（見證 f），A→C 沒有，∅→∅ 恰有一個。",
          "en": "Collect the results under the two kinds of question. Given functions: f has fiber profile (1,1,1) and is bijective; g has fiber profile (2,0,1) and is neither injective nor surjective. Existence: a bijection A→B exists (witness f), none exists A→C, and exactly one exists ∅→∅."
        },
        "reverse_audit": {
          "kind": "sufficient_goal_reduction",
          "required_ids": [
            "S07",
            "S09",
            "S10",
            "S12",
            "S13",
            "S15",
            "and_intro_elim"
          ],
          "explanation": {
            "zh-Hant": "目標 G 是 goal 中的全部判定。足夠條件 H 是各子結論的合取，每一項都已由前面的步驟從已知正向證成；H⇒G 只用合取引入，沒有把 G 當作前提。",
            "en": "Goal G is the full set of verdicts in the goal. The sufficient condition H is the conjunction of the sub-results, each proved forwards from the givens in earlier steps; H⇒G uses only conjunction introduction and never takes G as a premise."
          }
        },
        "leaf_basis": "and_intro_elim"
      }
    ],
    "result": {
      "zh-Hant": "f 的纖維概況（按 4、5、6）為 (1,1,1)，所以 f 是雙射；g 的纖維概況為 (2,0,1)，g 既非單射（g(1)=g(2)）也非滿射（5 無原像），雖然 |A|=|B|=3。一般地，總函數是雙射當且僅當每個纖維恰有一個元素（S05）。存在性另成一題：A→B 存在雙射（f），{1,2,3}→{4,5} 不存在任何雙射（實際上沒有單射），∅→∅ 恰有一個空雙射。",
      "en": "The fiber profile of f (in the order 4, 5, 6) is (1,1,1), so f is bijective; the fiber profile of g is (2,0,1), so g is neither injective (g(1)=g(2)) nor surjective (5 has no preimage), even though |A|=|B|=3. In general a total function is bijective exactly when every fiber has exactly one element (S05). Existence is a separate question: a bijection A→B exists (f), no bijection {1,2,3}→{4,5} exists (indeed no injection does), and ∅→∅ has exactly one, the empty bijection."
    },
    "negative_controls": [
      {
        "claim": {
          "zh-Hant": "|A|=|B|=3，所以 g 是雙射",
          "en": "|A|=|B|=3, so g is bijective"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "g(1)=g(2)=4 且 1≠2，g 不是單射；5 的纖維為空，g 不是滿射。",
          "en": "g(1)=g(2)=4 with 1≠2, so g is not injective; the fiber of 5 is empty, so g is not surjective."
        }
      },
      {
        "claim": {
          "zh-Hant": "k:{1,2}→{4,5,6}，k(1)=4、k(2)=5 是單射，所以是雙射",
          "en": "k:{1,2}→{4,5,6} with k(1)=4, k(2)=5 is injective, hence bijective"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "6 的纖維是空集合，k 不是滿射；而且 |{1,2}|=2≠3，根本不存在 {1,2}→{4,5,6} 的雙射。",
          "en": "The fiber of 6 is empty, so k is not surjective; moreover |{1,2}|=2≠3, so no bijection {1,2}→{4,5,6} exists at all."
        }
      },
      {
        "claim": {
          "zh-Hant": "g 不是雙射，所以 A→B 之間不存在雙射",
          "en": "g is not bijective, so no bijection A→B exists"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "給定函數與存在性是不同問題；f 就是一個 A→B 的雙射（S07、S13）。",
          "en": "Testing a given function and existence are different questions; f is a bijection A→B (S07, S13)."
        }
      },
      {
        "claim": {
          "zh-Hant": "空集合之間沒有函數，所以 ∅→∅ 談不上雙射",
          "en": "There is no function between empty sets, so ∅→∅ has no bijection"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "空函數 ε=∅ 是 ∅→∅ 的唯一函數，單射與滿射皆空真，所以它是雙射（S15）。",
          "en": "The empty function ε=∅ is the unique function ∅→∅; injectivity and surjectivity hold vacuously, so it is a bijection (S15)."
        }
      }
    ],
    "status": "candidate",
    "gaps": [],
    "verification": {
      "structure": "checked_local_script",
      "mathematics": "candidate_argument",
      "formalization": "not_formalized"
    },
    "rule_glossary": [
      {
        "id": "function_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "函數：f:A→B 對每個 a∈A 指定恰好一個 f(a)∈B。兩函數相等 ⇔ 定義域、對應域相同且對每個 a 都有相同值。",
          "en": "Function: f:A→B assigns to each a∈A exactly one f(a)∈B. Two functions are equal ⇔ they have the same domain and codomain and agree at every a."
        }
      },
      {
        "id": "injective_surjective_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "單射：f(a)=f(a′) ⇒ a=a′。滿射：每個 b∈B 都有 a∈A 使 f(a)=b。雙射：既單又滿，此時有唯一反函數 f⁻¹ 使 f⁻¹∘f=id_A、f∘f⁻¹=id_B。",
          "en": "Injective: f(a)=f(a′) ⇒ a=a′. Surjective: every b∈B has some a∈A with f(a)=b. Bijective: both; then there is a unique inverse f⁻¹ with f⁻¹∘f=id_A and f∘f⁻¹=id_B."
        }
      },
      {
        "id": "image_preimage_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "像與原像：f(S)={f(a) ∣ a∈S}；f⁻¹(T)={a∈A ∣ f(a)∈T}。原像記號不預設 f 有反函數。",
          "en": "Image and preimage: f(S)={f(a) ∣ a∈S}; f⁻¹(T)={a∈A ∣ f(a)∈T}. The preimage notation does not presuppose that f has an inverse."
        }
      },
      {
        "id": "set_builder",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "集合建構式：x∈{y∈A ∣ P(y)} 當且僅當 x∈A 且 P(x)。",
          "en": "Set-builder notation: x∈{y∈A ∣ P(y)} if and only if x∈A and P(x)."
        }
      },
      {
        "id": "finite_counting_basics",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "有限計數：互斥有限集合 A、B 有 |A∪B|=|A|+|B|；|A×B|=|A|·|B|；有限集之間存在雙射 ⇔ 元素個數相同。",
          "en": "Finite counting: for disjoint finite sets A, B, |A∪B|=|A|+|B|; |A×B|=|A|·|B|; there is a bijection between finite sets ⇔ they have the same number of elements."
        }
      },
      {
        "id": "numeric_evaluation",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "明確整數或有理數算式的精確求值；可以獨立重算。",
          "en": "Exact evaluation of an explicit integer or rational expression; independently recomputable."
        }
      },
      {
        "id": "eq_refl_symm_trans",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "等號的性質：u=u；若 u=v 則 v=u；若 u=v 且 v=w 則 u=w。",
          "en": "Properties of equality: u=u; if u=v then v=u; if u=v and v=w then u=w."
        }
      },
      {
        "id": "and_intro_elim",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "合取：由 P 與 Q 得 P∧Q；由 P∧Q 可分別得 P 與 Q。",
          "en": "Conjunction: from P and Q infer P∧Q; from P∧Q infer P and infer Q."
        }
      },
      {
        "id": "order_basics",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "實數的序：任兩數恰有 u<v、u=v、u>v 之一；u<v 且 v<w 推出 u<w；u<v 推出 u+w<v+w；u<v 且 w>0 推出 uw<vw；u<v 且 w<0 推出 uw>vw。",
          "en": "Order of the reals: exactly one of u<v, u=v, u>v holds; u<v and v<w give u<w; u<v gives u+w<v+w; u<v and w>0 give uw<vw; u<v and w<0 give uw>vw."
        }
      },
      {
        "id": "set_extensionality",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "集合相等：A=B 當且僅當 A⊆B 且 B⊆A，即兩者有相同元素。",
          "en": "Set equality: A=B if and only if A⊆B and B⊆A, i.e. they have the same elements."
        }
      },
      {
        "id": "forall_intro",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "∀引入（全稱推廣）：若某命題對一個「任意的」元素 x 證成，而證明沒有對 x 加任何額外假設，則它對論域中所有 x 成立。",
          "en": "∀-introduction (generalization): if a statement is proved for an arbitrary element x, with no extra assumption on x, it holds for every x in the domain."
        }
      },
      {
        "id": "contrapositive",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "逆否命題：P⇒Q 與 ¬Q⇒¬P 等價。逆命題 Q⇒P 一般不與 P⇒Q 等價。",
          "en": "Contrapositive: P⇒Q is equivalent to ¬Q⇒¬P. The converse Q⇒P is in general not equivalent to P⇒Q."
        }
      },
      {
        "id": "quantifier_negation",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "量詞否定：¬(∀x, P(x)) 等價於 ∃x, ¬P(x)；¬(∃x, P(x)) 等價於 ∀x, ¬P(x)。",
          "en": "Negating quantifiers: ¬(∀x, P(x)) is equivalent to ∃x, ¬P(x), and ¬(∃x, P(x)) is equivalent to ∀x, ¬P(x)."
        }
      },
      {
        "id": "exists_intro",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "∃引入：若找到 a∈D 使 P(a) 成立，則 ∃x∈D, P(x)。",
          "en": "∃-introduction: if some a∈D satisfies P(a), then ∃x∈D, P(x)."
        }
      },
      {
        "id": "case_analysis",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "分情況論證：若 P∨Q 成立，且 P⇒R、Q⇒R 都已證，則 R 成立。所有情況必須涵蓋全部可能。",
          "en": "Proof by cases: if P∨Q holds and both P⇒R and Q⇒R are proved, then R holds. The cases must cover every possibility."
        }
      },
      {
        "id": "cartesian_product_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "笛卡兒積：A×B 是所有有序對 (a,b)（a∈A、b∈B）的集合；(a,b)=(c,d) ⇔ a=c 且 b=d。",
          "en": "Cartesian product: A×B is the set of ordered pairs (a,b) with a∈A and b∈B; (a,b)=(c,d) ⇔ a=c and b=d."
        }
      },
      {
        "id": "mko_bijective_def",
        "kind": "cited",
        "source": {
          "mko_id": "mko-bijective",
          "sha256": "3f8aacffa7cd2d06121165a4baccd488e1af92185dc745b6ee2cd5733c59c73c",
          "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f"
        },
        "statement": {
          "zh-Hant": "總函數 f:A→B 為雙射，當且僅當它同時單射與滿射；等價地，每個 b∈B 的纖維恰有一個元素。對有限集合，存在某個 A→B 的雙射當且僅當 |A|=|B|；基數相等不保證任意給定 f 都是雙射。",
          "en": "A total function f:A→B is bijective exactly when it is both injective and surjective, or equivalently when each fiber of b∈B has exactly one element. For finite sets, some bijection A→B exists exactly when |A|=|B|; equal cardinality does not make every specified f bijective."
        }
      },
      {
        "id": "fiber_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "纖維：對函數 f:A→B 與 b∈B，b 的纖維是原像 f^{-1}({b})={a∈A ∣ f(a)=b}；它對每個函數都有定義，可以是空集合。",
          "en": "Fiber: for a function f:A→B and b∈B, the fiber of b is the preimage f^{-1}({b})={a∈A ∣ f(a)=b}; it is defined for every function and may be empty."
        }
      },
      {
        "id": "count_maps",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "計數（乘法原理）：若 |A|=m、|B|=n，則 A→B 的函數共有 n^m 個；若 m=n，其中雙射共有 n! 個。",
          "en": "Counting (multiplication principle): if |A|=m and |B|=n there are n^m functions A→B; if m=n, exactly n! of them are bijections."
        }
      },
      {
        "id": "L_inj_fiber",
        "kind": "lemma",
        "proved_in": [
          "S03.1",
          "S03.2"
        ],
        "statement": {
          "zh-Hant": "對總函數 f:A→B：f 單射 ⇔ 每個 b∈B 的纖維至多一個元素。",
          "en": "For a total function f:A→B: f is injective ⇔ the fiber of every b∈B has at most one element."
        }
      },
      {
        "id": "L_surj_fiber",
        "kind": "lemma",
        "proved_in": [
          "S04.1"
        ],
        "statement": {
          "zh-Hant": "對總函數 f:A→B：f 滿射 ⇔ 每個 b∈B 的纖維至少一個元素。",
          "en": "For a total function f:A→B: f is surjective ⇔ the fiber of every b∈B has at least one element."
        }
      },
      {
        "id": "L_no_inj_3_2",
        "kind": "lemma",
        "proved_in": [
          "S12.1",
          "S12.2",
          "S12.3"
        ],
        "statement": {
          "zh-Hant": "任何函數 h:{1,2,3}→{4,5} 都不是單射。",
          "en": "No function h:{1,2,3}→{4,5} is injective."
        }
      }
    ],
    "revision_log": [],
    "numeric_checks": [
      {
        "id": "N1",
        "step": "S06",
        "lhs": "1+1+1",
        "rhs": "3"
      },
      {
        "id": "N2",
        "step": "S08",
        "lhs": "2+0+1",
        "rhs": "3"
      },
      {
        "id": "N3",
        "step": "S14",
        "lhs": "3**3",
        "rhs": "27"
      },
      {
        "id": "N4",
        "step": "S14",
        "lhs": "factorial(3)",
        "rhs": "6"
      },
      {
        "id": "N5",
        "step": "S14",
        "lhs": "3**3-factorial(3)",
        "rhs": "21"
      },
      {
        "id": "N6",
        "step": "S12",
        "lhs": "3",
        "relation": "!=",
        "rhs": "2"
      }
    ]
  },
  "presentation": {
    "md_scope": {
      "zh-Hant": "纖維刻畫（S03 至 S05）對任意集合上的總函數證明；其餘都是 MKO 假設 a1、a2 下的有限集合題。存在性方向：A→B 以明確見證 f 回答，{1,2,3}→{4,5} 的不存在在子步中直接證明，一般的「有限集合間存在雙射 ⇔ 元素個數相同」取自前置規則 finite_counting_basics，本稿不另證。不處理無限基數；不改動 canonical MKO 或英文 edition。",
      "en": "The fiber characterization (S03 to S05) is proved for total functions on arbitrary sets; everything else is a finite-set exercise under MKO assumptions a1 and a2. On the existence side, A→B is answered by the explicit witness f, the non-existence for {1,2,3}→{4,5} is proved directly in sub-steps, and the general fact that finite sets admit a bijection exactly when they have the same number of elements is taken from the prerequisite rule finite_counting_basics and not reproved. Infinite cardinalities are not treated; the canonical MKO and its English edition are not changed."
    },
    "md_symbols": [
      [
        "f,g:A\\to B",
        "兩個給定的總函數",
        "the two given total functions"
      ],
      [
        "f^{-1}(\\{b\\})",
        "b 的纖維 {a∈A ∣ f(a)=b}；記號不預設 f 可逆",
        "the fiber {a∈A ∣ f(a)=b} of b; the notation does not presuppose that f is invertible"
      ],
      [
        "|S|",
        "有限集合 S 的元素個數",
        "the number of elements of a finite set S"
      ],
      [
        "A=\\{1,2,3\\},\\ B=\\{4,5,6\\},\\ C=\\{4,5\\}",
        "定義域與兩個陪域",
        "the domain and two codomains"
      ],
      [
        "\\varnothing",
        "空集合",
        "the empty set"
      ]
    ],
    "md_error_controls": [
      {
        "title": "大小相等不等於給定函數是雙射 / Equal sizes do not make a given function bijective",
        "zh": "MKO 的誤解是由 |A|=|B| 直接判定給定 f 為雙射。g 就是反例：|A|=|B|=3，但 g(1)=g(2)=4 且 5 無原像。A→B 的 27 個函數中只有 6 個是雙射（S14）。大小相等只回答「是否存在某個雙射」（S13），判定給定函數必須看它的纖維。",
        "en": "The misconception identified in the MKO is declaring a given f bijective straight from |A|=|B|. g is a counterexample: |A|=|B|=3, but g(1)=g(2)=4 and 5 has no preimage. Only 6 of the 27 functions A→B are bijections (S14). Equal size answers only whether some bijection exists (S13); a given function must be judged by its fibers."
      },
      {
        "title": "只查一個條件不夠 / Checking one condition is not enough",
        "zh": "只驗單射或只驗滿射會漏判。k:{1,2}→{4,5,6}，k(1)=4、k(2)=5 是單射，但 6 的纖維是空的，不是滿射。對大小相等的有限集合，單射與滿射確實互相推出，但那是需要另行證明的定理，不能直接假設；在無限集合上它也不成立，例如 ℕ→ℕ 的 n↦n+1 是單射而非滿射。本稿對 f 經由纖維概況同時核對兩個條件。",
        "en": "Checking only injectivity or only surjectivity can mislead. k:{1,2}→{4,5,6} with k(1)=4, k(2)=5 is injective, but the fiber of 6 is empty, so it is not surjective. For finite sets of equal size injective and surjective do imply each other, but that is a theorem needing its own proof and may not simply be assumed; it also fails for infinite sets, for example n↦n+1 on ℕ is injective but not surjective. This guide checks both conditions for f through its fiber profile."
      },
      {
        "title": "空纖維不可漏 / Do not omit empty fibers",
        "zh": "若只從 g 的表列出出現過的值，會得到 4↦{1,2}、6↦{3}，而遺漏目標 5。纖維概況必須按宣告的陪域逐一列出，5 的空纖維正是 g 不滿射的證據（S10）。",
        "en": "Listing only the values that occur in g's table gives 4↦{1,2} and 6↦{3} and misses the target 5. The fiber profile must run through the declared codomain, and the empty fiber of 5 is exactly the evidence that g is not surjective (S10)."
      }
    ],
    "md_open_items": [
      {
        "zh-Hant": "一般結論「有限集合間存在雙射 ⇔ 元素個數相同」取自前置規則 finite_counting_basics，本稿未證；本稿只以見證 f 回答 A→B，並直接證明 3 元素集合到 2 元素集合沒有單射。",
        "en": "The general fact that finite sets admit a bijection exactly when they have the same number of elements is taken from the prerequisite finite_counting_basics and not proved here; this guide answers A→B by the witness f and proves directly that there is no injection from a 3-element set to a 2-element set."
      },
      {
        "zh-Hant": "計數規則 count_maps（27 與 6）為前置知識，S14 只作說明，主結論不依賴它。",
        "en": "The counting rule count_maps (27 and 6) is a prerequisite; S14 is illustrative and the main conclusions do not depend on it."
      }
    ]
  },
  "revision": {
    "id": "production-20261019-adopted-96",
    "source_commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
    "adopted_source_sha256": "3cc1ae7f0a2851556bf4390ecba06ec72251dbf8678c4accbd7061d54a693764",
    "original_source_sha256": "3cc1ae7f0a2851556bf4390ecba06ec72251dbf8678c4accbd7061d54a693764",
    "owner_adopted": true,
    "bilingual_sync": "complete_source_bound",
    "formal_Lean": "NOT_RUN",
    "independent_AI_concurrence": "NOT_MEASURED",
    "issue_ids": [],
    "scope": "Owner-adopted natural-language teaching guide; not a formal proof, canonical MKO rewrite or evidence-status promotion."
  }
}
