{
  "schema_version": "ocme-derivation-reader-v1",
  "guide_id": "derivation-mko-numerical-approximation-error-01",
  "mko_id": "mko-numerical-approximation-error",
  "title": {
    "zh-Hant": "數值近似與誤差：以 0.33 近似 1/3 的絕對誤差、相對誤差與容許範圍",
    "en": "Numerical approximation and error: absolute error, relative error and tolerance for 0.33 approximating 1/3"
  },
  "contract": {
    "schema_version": "ocme-derivation-guide-v0.1",
    "guide_id": "derivation-mko-numerical-approximation-error-01",
    "source": {
      "mko_id": "mko-numerical-approximation-error",
      "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
      "sha256": "ced94d430d6417b9e607be1f09be7234591c3138507fecd536d3d7dc024ecbe0",
      "english_sha256": "fe552b17f866ceee13097202f2ac4dd54a72ef64059402444b22146b41d82149"
    },
    "mode": "worked_example",
    "audience_prerequisites": [
      "frac_rules",
      "abs_rules",
      "order_basics",
      "mul_inverse_nonzero",
      "case_analysis"
    ],
    "goal": {
      "zh-Hant": "以精確有理數計算：近似值 a=33/100 相對參照值 x=1/3 的絕對誤差與相對誤差；判定 a 是否在容許誤差 τ₁=1/250、τ₂=1/400、τ₃=1/300 之內（τ₃ 為端點情形）；證明 |a−x|≤τ ⇔ x−τ≤a≤x+τ；比較放大 1000 倍後的誤差；說明參照值為 0 時相對誤差沒有定義，以及誤差數值本身不能說明誤差來源。",
      "en": "Using exact rationals: compute the absolute and relative error of the approximation a=33/100 to the reference x=1/3; decide whether a is within the tolerances τ₁=1/250, τ₂=1/400 and τ₃=1/300 (τ₃ is the endpoint case); prove |a−x|≤τ ⇔ x−τ≤a≤x+τ; compare the errors after scaling by 1000; explain why relative error is undefined for a zero reference and why an error value alone does not reveal the source of the error."
    },
    "givens": [
      {
        "id": "G1",
        "statement": {
          "zh-Hant": "近似值 a=33/100（十進位 0.33 讀作精確有理數），參照值 x=1/3。",
          "en": "Approximation a=33/100 (the decimal 0.33 read as an exact rational), reference x=1/3."
        }
      },
      {
        "id": "G2",
        "statement": {
          "zh-Hant": "容許誤差 τ₁=1/250、τ₂=1/400、τ₃=1/300，皆 ≥0。",
          "en": "Tolerances τ₁=1/250, τ₂=1/400 and τ₃=1/300, all ≥0."
        }
      },
      {
        "id": "G3",
        "statement": {
          "zh-Hant": "放大的一對：a′=330，x′=1000/3。",
          "en": "A scaled pair: a′=330 and x′=1000/3."
        }
      },
      {
        "id": "G4",
        "statement": {
          "zh-Hant": "參照值為零的一對：a₀=1/1000，x₀=0。",
          "en": "A pair with zero reference: a₀=1/1000 and x₀=0."
        }
      },
      {
        "id": "G5",
        "statement": {
          "zh-Hant": "兩位小數的產生方式：四捨五入取最接近的 k/100；截斷取不超過原數（正數）的最大 k/100（k 為整數）。",
          "en": "Two ways of producing two decimals: rounding takes the nearest k/100; truncation takes the largest k/100 not exceeding the (positive) number, with k an integer."
        }
      }
    ],
    "steps": [
      {
        "id": "S01",
        "uses": [
          "G1",
          "G2"
        ],
        "before_tex": "a=\\tfrac{33}{100},\\ x=\\tfrac{1}{3}",
        "after_tex": "e_{\\mathrm{abs}}=|a-x|,\\ e_{\\mathrm{rel}}=\\frac{|a-x|}{|x|}\\ (x\\neq 0),\\ \\text{within }\\tau\\iff |a-x|\\le\\tau",
        "relation": "definition",
        "rule": "mko_error_def",
        "conditions": [
          "\\tau\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "依 MKO 寫出三個定義。絕對誤差保留原量的尺度；相對誤差只在 x≠0 時定義，把誤差和參照量比較；「在容許範圍內」用的是 ≤，所以等號成立時也算在內。",
          "en": "State the three definitions from the MKO. Absolute error keeps the scale of the quantity; relative error is defined only for x≠0 and compares the error with the reference; 'within tolerance' uses ≤, so equality counts as within."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "G2",
            "mko_error_def"
          ],
          "explanation": {
            "zh-Hant": "此步只寫出定義與數據，不推出新事實；x≠0 的條件要在 S04 檢查後才能使用相對誤差。",
            "en": "This step only states definitions and data and derives no new fact; the condition x≠0 must be checked in S04 before the relative error is used."
          }
        },
        "leaf_basis": "mko_error_def + def_intro"
      },
      {
        "id": "S02",
        "uses": [
          "G1"
        ],
        "before_tex": "a-x=\\tfrac{33}{100}-\\tfrac{1}{3}",
        "after_tex": "a-x=-\\tfrac{1}{300}",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [
          "100\\neq 0,\\ 3\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "通分到公分母 300 後相減，細節在 S02.1、S02.2。結果為負，表示近似值比參照值小。",
          "en": "Bring both to the common denominator 300 and subtract; details in S02.1 and S02.2. The result is negative, so the approximation is below the reference."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "精確有理數運算，雙向是同一個數；反向可驗算 1/3+(−1/300)=99/300=33/100。",
            "en": "Exact rational arithmetic, the same number both ways; backwards, 1/3+(−1/300)=99/300=33/100."
          }
        },
        "leaf_basis": "frac_rules + numeric_evaluation"
      },
      {
        "id": "S02.1",
        "uses": [
          "G1"
        ],
        "before_tex": "\\tfrac{33}{100},\\ \\tfrac{1}{3}",
        "after_tex": "\\tfrac{99}{300},\\ \\tfrac{100}{300}",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [
          "3\\neq 0,\\ 100\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "依 a/b=(ak)/(bk)（k≠0）：33/100 分子分母同乘 3 得 99/300；1/3 同乘 100 得 100/300。",
          "en": "By a/b=(ak)/(bk) with k≠0: multiplying numerator and denominator of 33/100 by 3 gives 99/300, and of 1/3 by 100 gives 100/300."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules"
          ],
          "explanation": {
            "zh-Hant": "約去非零公因數 3 或 100 即回到原式，雙向成立。",
            "en": "Cancelling the nonzero common factor 3 or 100 returns to the original, so the step holds both ways."
          }
        },
        "leaf_basis": "frac_rules"
      },
      {
        "id": "S02.2",
        "uses": [
          "S02.1"
        ],
        "before_tex": "\\tfrac{99}{300}-\\tfrac{100}{300}",
        "after_tex": "-\\tfrac{1}{300}",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [],
        "explanation": {
          "zh-Hant": "同分母相減：(99−100)/300=−1/300。",
          "en": "Subtract over the common denominator: (99−100)/300=−1/300."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "整數 99−100=−1 的精確計算，雙向成立。",
            "en": "Exact integer computation 99−100=−1, valid both ways."
          }
        },
        "leaf_basis": "frac_rules + numeric_evaluation"
      },
      {
        "id": "S03",
        "uses": [
          "S02"
        ],
        "before_tex": "|a-x|=\\left|-\\tfrac{1}{300}\\right|",
        "after_tex": "|a-x|=\\tfrac{1}{300}",
        "relation": "equivalent",
        "rule": "abs_rules",
        "conditions": [
          "-\\tfrac{1}{300}<0"
        ],
        "explanation": {
          "zh-Hant": "因 −1/300<0，依絕對值定義 |u|=−u，得 1/300。這就是絕對誤差，單位與 x 相同。",
          "en": "Since −1/300<0, the definition |u|=−u gives 1/300. This is the absolute error, in the same units as x."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "abs_rules"
          ],
          "explanation": {
            "zh-Hant": "兩式表示同一個非負數；先確定 u 的符號才能選對絕對值的分支。",
            "en": "Both expressions denote the same nonnegative number; the sign of u must be known first to choose the right branch of the absolute value."
          }
        },
        "leaf_basis": "abs_rules + neg_mul"
      },
      {
        "id": "S04",
        "uses": [
          "G1"
        ],
        "before_tex": "x=\\tfrac{1}{3}",
        "after_tex": "x\\neq 0,\\ |x|=\\tfrac{1}{3}",
        "relation": "implies",
        "rule": "abs_rules",
        "conditions": [
          "\\tfrac{1}{3}>0"
        ],
        "explanation": {
          "zh-Hant": "1/3>0，所以 x≠0，且 |x|=x=1/3。這是 MKO 計算相對誤差的前提。",
          "en": "1/3>0, so x≠0 and |x|=x=1/3. This is the MKO's precondition for computing the relative error."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "abs_rules",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "需要 x 的正負；正數推出非零，反向不宣稱（非零數也可能是負的）。",
            "en": "It needs the sign of x; positive implies nonzero, and the converse is not claimed (a nonzero number may be negative)."
          }
        },
        "leaf_basis": "abs_rules + order_basics"
      },
      {
        "id": "S05",
        "uses": [
          "S03",
          "S04"
        ],
        "before_tex": "e_{\\mathrm{rel}}=\\frac{1/300}{1/3}",
        "after_tex": "e_{\\mathrm{rel}}=\\tfrac{1}{100}",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [
          "\\tfrac{1}{3}\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "依 (a/b)/(c/d)=(ad)/(bc)（c≠0）：(1·3)/(300·1)=3/300=1/100。相對誤差是無因次的比，也就是 1%。",
          "en": "By (a/b)/(c/d)=(ad)/(bc) with c≠0: (1·3)/(300·1)=3/300=1/100. The relative error is a dimensionless ratio, that is 1%."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules",
            "S04"
          ],
          "explanation": {
            "zh-Hant": "除以 1/3 需要 S04 的 x≠0；反向是乘回 1/3 得 1/300。",
            "en": "Dividing by 1/3 needs x≠0 from S04; backwards, multiplying by 1/3 gives 1/300."
          }
        },
        "leaf_basis": "frac_rules + mul_inverse_nonzero"
      },
      {
        "id": "S06",
        "uses": [
          "S03",
          "G2"
        ],
        "before_tex": "\\tfrac{1}{300}\\le\\tfrac{1}{250}",
        "after_tex": "250\\le 300\\ (\\text{true}),\\ \\text{so }a\\ \\text{within }\\tau_1",
        "relation": "equivalent",
        "rule": "frac_compare",
        "conditions": [
          "300>0,\\ 250>0"
        ],
        "explanation": {
          "zh-Hant": "依分數比較，兩邊同乘正數 300·250：1/300≤1/250 ⇔ 1·250≤1·300，後者成立。所以 |a−x|≤τ₁，a 在容許誤差 τ₁ 之內。",
          "en": "By comparison of fractions, multiplying both sides by the positive number 300·250: 1/300≤1/250 ⇔ 1·250≤1·300, which is true. So |a−x|≤τ₁ and a is within tolerance τ₁."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_compare",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "本步的兩個分母 300、250 均為正，乘以其正乘積保持不等號方向，除回可還原。這是所用引理的充分前提，不表示每個分母都正是所有比較的必要條件：兩個負分母的乘積也為正；乘積為負才反向，分母為零則商未定義。",
            "en": "Both denominators here, 300 and 250, are positive, so multiplication by their positive product preserves order and division by it reverses the move. These are sufficient hypotheses of the lemma used, not necessary sign conditions for every comparison: two negative denominators also have positive product. A negative product reverses order; a zero denominator makes the quotient undefined."
          }
        },
        "leaf_basis": "frac_compare + order_basics"
      },
      {
        "id": "S07",
        "uses": [
          "L_tol_interval"
        ],
        "before_tex": "|a-x|\\le\\tau",
        "after_tex": "x-\\tau\\le a\\le x+\\tau",
        "relation": "equivalent",
        "rule": "L_tol_interval",
        "conditions": [
          "\\tau\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "依引理 L_tol_interval（在 S07.1 到 S07.3 分情況證明），誤差界等價於 a 位於含端點的區間 [x−τ, x+τ]，這是 MKO 第二段的說法。庫中的 abs_rules 只給嚴格版 |u|<r，所以非嚴格版需要自己證明。",
          "en": "By Lemma L_tol_interval (proved by cases in S07.1 to S07.3), the error bound is equivalent to a lying in the closed interval [x−τ, x+τ], as the MKO's second paragraph says. The library rule abs_rules gives only the strict version |u|<r, so the non-strict version is proved here."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "L_tol_interval"
          ],
          "explanation": {
            "zh-Hant": "引理本身是雙條件，兩個方向都在子步證明。",
            "en": "The lemma is itself a biconditional, and both directions are proved in the sub-steps."
          }
        },
        "leaf_basis": "abs_rules + order_basics + case_analysis"
      },
      {
        "id": "S07.1",
        "uses": [
          "abs_rules"
        ],
        "before_tex": "u\\ge 0:\\ |u|\\le\\tau",
        "after_tex": "-\\tau\\le u\\le\\tau",
        "relation": "equivalent",
        "rule": "abs_rules",
        "conditions": [
          "u\\ge 0",
          "\\tau\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "設 u=a−x 且 u≥0。此時 |u|=u，所以 |u|≤τ ⇔ u≤τ。而 −τ≤0≤u 自動成立（因 τ≥0），所以 u≤τ ⇔ −τ≤u≤τ。",
          "en": "Let u=a−x with u≥0. Then |u|=u, so |u|≤τ ⇔ u≤τ. And −τ≤0≤u holds automatically (since τ≥0), so u≤τ ⇔ −τ≤u≤τ."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "abs_rules",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "左界 −τ≤u 在此情形下恆真，加入或去掉它都不改變真假，雙向成立；這裡用到 τ≥0。",
            "en": "In this case the left bound −τ≤u is always true, so adding or removing it does not change truth, and both directions hold; this uses τ≥0."
          }
        },
        "leaf_basis": "abs_rules + order_basics"
      },
      {
        "id": "S07.2",
        "uses": [
          "abs_rules"
        ],
        "before_tex": "u<0:\\ |u|\\le\\tau",
        "after_tex": "-\\tau\\le u\\le\\tau",
        "relation": "equivalent",
        "rule": "abs_rules",
        "conditions": [
          "u<0",
          "\\tau\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "設 u<0。此時 |u|=−u，−u≤τ ⇔ −τ≤u（兩邊乘 −1 反轉不等號）。而 u<0≤τ 使 u≤τ 自動成立，所以 −u≤τ ⇔ −τ≤u≤τ。",
          "en": "Let u<0. Then |u|=−u, and −u≤τ ⇔ −τ≤u (multiplying by −1 reverses the inequality). And u<0≤τ makes u≤τ automatic, so −u≤τ ⇔ −τ≤u≤τ."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "abs_rules",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "乘 −1 兩次回到原式，右界在此情形恆真，雙向成立。",
            "en": "Multiplying by −1 twice returns to the original, and the right bound is always true in this case, so both directions hold."
          }
        },
        "leaf_basis": "abs_rules + order_basics + neg_mul"
      },
      {
        "id": "S07.3",
        "uses": [
          "S07.1",
          "S07.2"
        ],
        "before_tex": "|a-x|\\le\\tau\\iff -\\tau\\le a-x\\le\\tau",
        "after_tex": "|a-x|\\le\\tau\\iff x-\\tau\\le a\\le x+\\tau",
        "relation": "equivalent",
        "rule": "case_analysis",
        "conditions": [
          "\\tau\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "u≥0 與 u<0 涵蓋所有實數（三分律），兩種情形都得到同一個等價，依分情況論證它對每個 u=a−x 成立。最後三邊同加 x 得 x−τ≤a≤x+τ。S07.1 到 S07.3 合起來證得引理 L_tol_interval。",
          "en": "u≥0 and u<0 cover every real number (trichotomy), and both cases give the same equivalence, so by cases it holds for every u=a−x. Finally adding x to all three parts gives x−τ≤a≤x+τ. S07.1 to S07.3 together prove Lemma L_tol_interval."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "case_analysis",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "加 x 與減 x 互為反運算且保持不等號，雙向成立；兩種情形完整涵蓋。",
            "en": "Adding and subtracting x undo each other and keep inequalities, so both directions hold; the two cases are exhaustive."
          }
        },
        "leaf_basis": "case_analysis + order_basics"
      },
      {
        "id": "S08",
        "uses": [
          "S07",
          "G1",
          "G2",
          "S06"
        ],
        "before_tex": "[x-\\tau_1,\\ x+\\tau_1]",
        "after_tex": "\\left[\\tfrac{247}{750},\\ \\tfrac{253}{750}\\right]\\ni\\tfrac{33}{100}",
        "relation": "implies",
        "rule": "L_tol_interval",
        "conditions": [
          "\\tau_1\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "第二條路線核對 S06：1/3−1/250=250/750−3/750=247/750，1/3+1/250=253/750。交叉相乘：33·750=24750≥247·100=24700，且 24750≤253·100=25300，所以 247/750≤33/100≤253/750。依 L_tol_interval，這與 |a−x|≤τ₁ 等價，與 S06 一致。",
          "en": "A second route to S06: 1/3−1/250=250/750−3/750=247/750 and 1/3+1/250=253/750. Cross-multiplying: 33·750=24750≥247·100=24700 and 24750≤253·100=25300, so 247/750≤33/100≤253/750. By L_tol_interval this is equivalent to |a−x|≤τ₁, agreeing with S06."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "L_tol_interval",
            "frac_compare",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "需要引理與正分母的分數比較；這是對同一結論的獨立核對，S06 不依賴它。",
            "en": "It needs the lemma and comparison of fractions with positive denominators; it is an independent check of the same conclusion, and S06 does not depend on it."
          }
        },
        "leaf_basis": "L_tol_interval + frac_compare + numeric_evaluation"
      },
      {
        "id": "S09",
        "uses": [
          "S03",
          "G2"
        ],
        "before_tex": "\\tfrac{1}{300}\\le\\tfrac{1}{400}\\ ?",
        "after_tex": "400\\le 300\\ \\text{false};\\ \\tfrac{1}{300}>\\tfrac{1}{400};\\ a\\ \\text{not within }\\tau_2",
        "relation": "equivalent",
        "rule": "frac_compare",
        "conditions": [
          "300>0,\\ 400>0"
        ],
        "explanation": {
          "zh-Hant": "依分數比較，1/300≤1/400 ⇔ 400≤300，後者不成立，所以 |a−x|>τ₂，a 不在容許誤差 τ₂ 之內。分子同為 1 時，分母較大的分數較小。",
          "en": "By comparison of fractions, 1/300≤1/400 ⇔ 400≤300, which is false, so |a−x|>τ₂ and a is not within tolerance τ₂. With equal numerators 1, the fraction with the larger denominator is smaller."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_compare",
            "order_basics"
          ],
          "explanation": {
            "zh-Hant": "與 S06 相同的等價變形，雙向成立；結論是否定的。",
            "en": "The same equivalence as in S06, valid both ways; here the conclusion is negative."
          }
        },
        "leaf_basis": "frac_compare + order_basics"
      },
      {
        "id": "S10",
        "uses": [
          "S03",
          "S07",
          "G2"
        ],
        "before_tex": "|a-x|=\\tfrac{1}{300}=\\tau_3",
        "after_tex": "|a-x|\\le\\tau_3,\\ a=x-\\tau_3\\ \\text{(left endpoint)}",
        "relation": "implies",
        "rule": "mko_error_def",
        "conditions": [
          "\\tau_3\\ge 0"
        ],
        "explanation": {
          "zh-Hant": "τ₃=1/300 時 |a−x|=τ₃，而定義用 ≤，所以 a 在容許範圍內。事實上 x−τ₃=1/3−1/300=99/300=33/100=a，a 正好在左端點；MKO 說明端點包含在容許範圍。",
          "en": "With τ₃=1/300 we have |a−x|=τ₃, and the definition uses ≤, so a is within tolerance. In fact x−τ₃=1/3−1/300=99/300=33/100=a, so a sits exactly at the left endpoint; the MKO says endpoints are included."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mko_error_def",
            "S03",
            "L_tol_interval"
          ],
          "explanation": {
            "zh-Hant": "結論依賴「≤」而非「<」；若定義改用嚴格不等號，端點就會被排除，所以必須照 MKO 的定義。",
            "en": "The conclusion depends on ≤ rather than <; with a strict inequality the endpoint would be excluded, so the MKO's definition must be followed."
          }
        },
        "leaf_basis": "mko_error_def + eq_refl_symm_trans + order_basics"
      },
      {
        "id": "S11",
        "uses": [
          "G3",
          "mko_error_def"
        ],
        "before_tex": "a'=330,\\ x'=\\tfrac{1000}{3}",
        "after_tex": "|a'-x'|=\\tfrac{10}{3},\\ \\frac{|a'-x'|}{|x'|}=\\tfrac{1}{100}",
        "relation": "implies",
        "rule": "mko_error_def",
        "conditions": [
          "x'\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "330=990/3，所以 a′−x′=−10/3，絕對誤差 10/3；x′=1000/3≠0，相對誤差 (10/3)/(1000/3)=1/100。兩個量都放大 1000 倍後，絕對誤差也放大 1000 倍（10/3=1000·1/300），相對誤差不變。兩種誤差回答不同的問題。",
          "en": "330=990/3, so a′−x′=−10/3 and the absolute error is 10/3; x′=1000/3≠0 and the relative error is (10/3)/(1000/3)=1/100. Scaling both quantities by 1000 scales the absolute error by 1000 (10/3=1000·1/300) and leaves the relative error unchanged. The two errors answer different questions."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mko_error_def",
            "frac_rules",
            "abs_rules"
          ],
          "explanation": {
            "zh-Hant": "相對誤差需要 x′≠0，這裡成立。此例只說明尺度效應，不宣稱相對誤差對任何變換都不變。",
            "en": "The relative error needs x′≠0, which holds. The example only shows the effect of scale; it does not claim relative error is invariant under every transformation."
          }
        },
        "leaf_basis": "mko_error_def + frac_rules + abs_rules"
      },
      {
        "id": "S12",
        "uses": [
          "G4",
          "mko_error_def"
        ],
        "before_tex": "a_0=\\tfrac{1}{1000},\\ x_0=0",
        "after_tex": "|a_0-x_0|=\\tfrac{1}{1000},\\ \\frac{|a_0-x_0|}{|x_0|}\\ \\text{undefined}",
        "relation": "implies",
        "rule": "mul_inverse_nonzero",
        "conditions": [
          "x_0=0"
        ],
        "explanation": {
          "zh-Hant": "絕對誤差照常計算：|1/1000−0|=1/1000。相對誤差要除以 |x₀|=0，而 0 沒有倒數，v/0 不定義，所以依 MKO 假設 a2 不計算相對誤差；不能把它寫成無限大或改用其他分母而不加說明。",
          "en": "The absolute error is computed as usual: |1/1000−0|=1/1000. The relative error would divide by |x₀|=0, but 0 has no inverse and v/0 is undefined, so by MKO assumption a2 the relative error is not evaluated; it may not be written as infinity or silently replaced by another denominator."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mul_inverse_nonzero",
            "mko_error_def"
          ],
          "explanation": {
            "zh-Hant": "只需要 x₀=0；這是定義的界限，而不是計算困難。",
            "en": "It needs only x₀=0; this is a limit of the definition, not a computational difficulty."
          }
        },
        "leaf_basis": "mul_inverse_nonzero + abs_rules"
      },
      {
        "id": "S13",
        "uses": [
          "G1",
          "G5",
          "mko_error_sources"
        ],
        "before_tex": "\\text{error }\\tfrac{1}{300}\\ \\text{for }0.33",
        "after_tex": "\\text{rounding and truncation both give }\\tfrac{33}{100};\\ \\text{source not determined by the value}",
        "relation": "implies",
        "rule": "mko_error_sources",
        "conditions": [],
        "explanation": {
          "zh-Hant": "33/100≤1/3<34/100，且 1/3 到 33/100 的距離 1/300 小於到 34/100 的距離 2/300，所以四捨五入與截斷都給出 33/100，誤差同為 1/300。同一個誤差值可能來自兩種不同程序，所以誤差值本身不能告訴我們來源。對 2/3 兩者就不同：四捨五入得 67/100（誤差 1/300），截斷得 66/100（誤差 1/150）。",
          "en": "33/100≤1/3<34/100, and the distance from 1/3 to 33/100, 1/300, is smaller than the distance to 34/100, 2/300, so both rounding and truncation give 33/100, with the same error 1/300. One error value can come from two different procedures, so the value itself cannot tell us the source. For 2/3 the two differ: rounding gives 67/100 (error 1/300) and truncation gives 66/100 (error 1/150)."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "mko_error_sources",
            "G5",
            "frac_compare"
          ],
          "explanation": {
            "zh-Hant": "需要兩種程序的定義與精確比較；結論是「不能由數值判定來源」，不是「來源是某一種」。",
            "en": "It needs the definitions of the two procedures and exact comparisons; the conclusion is that the source cannot be determined from the value, not that the source is one particular procedure."
          }
        },
        "leaf_basis": "mko_error_sources + frac_compare + numeric_evaluation"
      },
      {
        "id": "S14",
        "uses": [
          "S03",
          "S05",
          "S06",
          "S09",
          "S10",
          "S12",
          "S13"
        ],
        "before_tex": "\\text{computed and proved facts}",
        "after_tex": "e_{\\mathrm{abs}}=\\tfrac{1}{300},\\ e_{\\mathrm{rel}}=\\tfrac{1}{100};\\ \\text{within }\\tau_1,\\tau_3;\\ \\text{not within }\\tau_2",
        "relation": "implies",
        "rule": "and_intro_elim",
        "conditions": [],
        "explanation": {
          "zh-Hant": "合併結論：絕對誤差 1/300，相對誤差 1/100；在 τ₁ 與 τ₃（端點）之內，不在 τ₂ 之內；參照值為 0 時相對誤差沒有定義；誤差值不決定來源。",
          "en": "Combine the conclusions: absolute error 1/300 and relative error 1/100; within τ₁ and τ₃ (endpoint), not within τ₂; for a zero reference the relative error is undefined; the error value does not determine its source."
        },
        "reverse_audit": {
          "kind": "sufficient_goal_reduction",
          "required_ids": [
            "S03",
            "S05",
            "S06",
            "S09",
            "S10",
            "S12",
            "S13",
            "and_intro_elim"
          ],
          "explanation": {
            "zh-Hant": "目標 G：本稿目標的各項判定。足夠條件 H：S03、S05、S06、S09、S10、S12、S13（H⇒G 由合取引入）。H 由給定條件正向推出，沒有把 G 當作前提。",
            "en": "Goal G: the determinations in the goal. Sufficient condition H: S03, S05, S06, S09, S10, S12 and S13 (H⇒G by conjunction introduction). H is derived forwards from the givens; G is never used as a premise."
          }
        },
        "leaf_basis": "and_intro_elim"
      }
    ],
    "result": {
      "zh-Hant": "a=33/100 近似 x=1/3 的絕對誤差是 1/300，相對誤差是 1/100。它在 τ₁=1/250 之內，等價地 a∈[247/750, 253/750]；不在 τ₂=1/400 之內；在 τ₃=1/300 之內且恰在左端點。放大 1000 倍後絕對誤差變為 10/3，相對誤差仍為 1/100。參照值為 0 時相對誤差沒有定義。誤差值 1/300 可由四捨五入或截斷產生，所以不能由數值判定來源。",
      "en": "The approximation a=33/100 to x=1/3 has absolute error 1/300 and relative error 1/100. It is within τ₁=1/250, equivalently a∈[247/750, 253/750]; it is not within τ₂=1/400; it is within τ₃=1/300, exactly at the left endpoint. After scaling by 1000 the absolute error becomes 10/3 while the relative error stays 1/100. For a zero reference the relative error is undefined. The error value 1/300 can come from rounding or from truncation, so its source cannot be determined from the value."
    },
    "negative_controls": [
      {
        "claim": {
          "zh-Hant": "a₀=1/1000 相對 x₀=0 的相對誤差是無限大",
          "en": "The relative error of a₀=1/1000 to x₀=0 is infinite"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "相對誤差只在參照值非零時定義；除以 0 沒有定義（S12）。",
          "en": "Relative error is defined only for a nonzero reference; division by 0 is undefined (S12)."
        }
      },
      {
        "claim": {
          "zh-Hant": "a=33/100 剛好在邊界上，所以不在容許誤差 τ₃=1/300 之內",
          "en": "a=33/100 is exactly on the boundary, so it is not within tolerance τ₃=1/300"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "定義是 |a−x|≤τ，端點包含在內（S10）。",
          "en": "The definition is |a−x|≤τ, which includes the endpoints (S10)."
        }
      },
      {
        "claim": {
          "zh-Hant": "|a−x|=1/300 證明 0.33 是由四捨五入得到的",
          "en": "|a−x|=1/300 proves that 0.33 was obtained by rounding"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "截斷也得到 33/100 與同一個誤差（S13）。",
          "en": "Truncation also gives 33/100 with the same error (S13)."
        }
      },
      {
        "claim": {
          "zh-Hant": "因為 300<400，所以 1/300<1/400，a 在 τ₂ 之內",
          "en": "Since 300<400, 1/300<1/400, so a is within τ₂"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "1/300≤1/400 ⇔ 400≤300，不成立；實際上 1/300>1/400（S09）。",
          "en": "1/300≤1/400 ⇔ 400≤300, which is false; in fact 1/300>1/400 (S09)."
        }
      },
      {
        "claim": {
          "zh-Hant": "a′=330 與 x′=1000/3 的相對誤差同為 1/100，所以絕對誤差也同為 1/300",
          "en": "a′=330 and x′=1000/3 have the same relative error 1/100, so the absolute error is also 1/300"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "絕對誤差保留尺度，是 10/3（S11）。",
          "en": "Absolute error keeps the scale; it is 10/3 (S11)."
        }
      }
    ],
    "status": "candidate",
    "gaps": [],
    "verification": {
      "structure": "checked_local_script",
      "mathematics": "candidate_argument",
      "formalization": "not_formalized"
    },
    "rule_glossary": [
      {
        "id": "frac_rules",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "分數運算（分母皆非零）：a/c+b/c=(a+b)/c；(a/b)(c/d)=(ac)/(bd)；(a/b)/(c/d)=(ad)/(bc)（另需 c≠0）；a/b=(ak)/(bk)（k≠0）。",
          "en": "Fraction rules (all denominators nonzero): a/c+b/c=(a+b)/c; (a/b)(c/d)=(ac)/(bd); (a/b)/(c/d)=(ad)/(bc) (also needing c≠0); a/b=(ak)/(bk) for k≠0."
        }
      },
      {
        "id": "abs_rules",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "絕對值（實數）：|u|=u（u≥0）、|u|=−u（u<0）；|u|≥0；|uv|=|u||v|；三角不等式 |u+v|≤|u|+|v|；|u|<r ⇔ −r<u<r。",
          "en": "Absolute value (reals): |u|=u if u≥0 and |u|=−u if u<0; |u|≥0; |uv|=|u||v|; triangle inequality |u+v|≤|u|+|v|; |u|<r ⇔ −r<u<r."
        }
      },
      {
        "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": "mul_inverse_nonzero",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "非零數的倒數：在 ℚ、ℝ、ℂ 中，若 u≠0，存在 1/u 使 u·(1/u)=1；對 u≠0 定義 v/u 為 v·(1/u)。u=0 時沒有倒數，v/0 不定義。",
          "en": "Inverse of a nonzero number: in ℚ, ℝ or ℂ, if u≠0 there is 1/u with u·(1/u)=1, and v/u means v·(1/u). 0 has no inverse, so v/0 is undefined."
        }
      },
      {
        "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": "def_intro",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "引入定義：可為一個命題、式子或物件取名；之後名稱與被定義者可互相替換。",
          "en": "Introducing a definition: a statement, expression or object may be given a name, after which the name and what it stands for are interchangeable."
        }
      },
      {
        "id": "numeric_evaluation",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "明確整數或有理數算式的精確求值；可以獨立重算。",
          "en": "Exact evaluation of an explicit integer or rational expression; independently recomputable."
        }
      },
      {
        "id": "neg_mul",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "負號與乘法：(−u)v=−(uv)，(−u)(−v)=uv。",
          "en": "Signs and multiplication: (−u)v=−(uv) and (−u)(−v)=uv."
        }
      },
      {
        "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": "mko_error_def",
        "kind": "cited",
        "source": {
          "mko_id": "mko-numerical-approximation-error",
          "sha256": "ced94d430d6417b9e607be1f09be7234591c3138507fecd536d3d7dc024ecbe0",
          "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f"
        },
        "statement": {
          "zh-Hant": "給近似值 a 與參照值 x，絕對誤差為 |a−x|。若 x≠0，相對誤差為 |a−x|/|x|。容許誤差 τ≥0 時，|a−x|≤τ 才稱在該容許範圍內。",
          "en": "For approximation a and reference x, absolute error is |a−x|. If x≠0, relative error is |a−x|/|x|. For tolerance τ≥0, being within tolerance means |a−x|≤τ."
        }
      },
      {
        "id": "mko_error_sources",
        "kind": "cited",
        "source": {
          "mko_id": "mko-numerical-approximation-error",
          "sha256": "ced94d430d6417b9e607be1f09be7234591c3138507fecd536d3d7dc024ecbe0",
          "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f"
        },
        "statement": {
          "zh-Hant": "誤差數值本身不說明來源。要區分離散化、截斷、捨入、量測與模型誤差，必須另有產生過程資料。",
          "en": "An error value by itself does not indicate its source. Distinguishing discretization, truncation, rounding, measurement and model error requires separate data about how the value was produced."
        }
      },
      {
        "id": "frac_compare",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "正分母的分數比較：若 b>0、d>0，則 a/b≤c/d ⇔ ad≤cb（兩邊同乘正數 bd）。",
          "en": "Comparing fractions with positive denominators: if b>0 and d>0 then a/b≤c/d ⇔ ad≤cb (multiply both sides by the positive number bd)."
        }
      },
      {
        "id": "L_tol_interval",
        "kind": "lemma",
        "proved_in": [
          "S07.1",
          "S07.2",
          "S07.3"
        ],
        "statement": {
          "zh-Hant": "對實數 a、x 與 τ≥0：|a−x|≤τ ⇔ x−τ≤a≤x+τ。",
          "en": "For reals a, x and τ≥0: |a−x|≤τ ⇔ x−τ≤a≤x+τ."
        }
      }
    ],
    "revision_log": [],
    "numeric_checks": [
      {
        "id": "N1",
        "step": "S02.1",
        "lhs": "33/100",
        "rhs": "99/300"
      },
      {
        "id": "N2",
        "step": "S02",
        "lhs": "33/100-1/3",
        "rhs": "-1/300"
      },
      {
        "id": "N3",
        "step": "S03",
        "lhs": "abs(33/100-1/3)",
        "rhs": "1/300"
      },
      {
        "id": "N4",
        "step": "S05",
        "lhs": "(1/300)/(1/3)",
        "rhs": "1/100"
      },
      {
        "id": "N5",
        "step": "S06",
        "lhs": "1/300",
        "relation": "<=",
        "rhs": "1/250"
      },
      {
        "id": "N6",
        "step": "S08",
        "lhs": "1/3-1/250",
        "rhs": "247/750"
      },
      {
        "id": "N7",
        "step": "S08",
        "lhs": "1/3+1/250",
        "rhs": "253/750"
      },
      {
        "id": "N8",
        "step": "S08",
        "lhs": "247/750",
        "relation": "<=",
        "rhs": "33/100"
      },
      {
        "id": "N9",
        "step": "S08",
        "lhs": "33/100",
        "relation": "<=",
        "rhs": "253/750"
      },
      {
        "id": "N10",
        "step": "S09",
        "lhs": "1/300",
        "relation": ">",
        "rhs": "1/400"
      },
      {
        "id": "N11",
        "step": "S10",
        "lhs": "1/3-1/300",
        "rhs": "33/100"
      },
      {
        "id": "N12",
        "step": "S11",
        "lhs": "abs(330-1000/3)",
        "rhs": "10/3"
      },
      {
        "id": "N13",
        "step": "S11",
        "lhs": "(10/3)/(1000/3)",
        "rhs": "1/100"
      },
      {
        "id": "N14",
        "step": "S13",
        "lhs": "34/100-1/3",
        "rhs": "2/300"
      },
      {
        "id": "N15",
        "step": "S13",
        "lhs": "abs(67/100-2/3)",
        "rhs": "1/300"
      },
      {
        "id": "N16",
        "step": "S13",
        "lhs": "abs(66/100-2/3)",
        "rhs": "1/150"
      }
    ]
  },
  "presentation": {
    "md_scope": {
      "zh-Hant": "全部使用精確有理數（MKO 假設 a1），十進位寫法 0.33 讀作有理數 33/100，不涉及二進位浮點表示。相對誤差只在參照值非零時計算（假設 a2）。不處理條件數、穩定性或收斂階；不改動 canonical MKO 或英文 edition。",
      "en": "Everything uses exact rationals (MKO assumption a1); the decimal 0.33 is read as the rational 33/100, and binary floating-point representation is not involved. Relative error is computed only for a nonzero reference (assumption a2). Condition numbers, stability and orders of convergence are not treated; the canonical MKO and its English edition are not changed."
    },
    "md_symbols": [
      [
        "a,\\ x",
        "近似值與參照值",
        "approximation and reference value"
      ],
      [
        "|a-x|",
        "絕對誤差",
        "absolute error"
      ],
      [
        "\\frac{|a-x|}{|x|}",
        "相對誤差（x≠0）",
        "relative error (x≠0)"
      ],
      [
        "\\tau",
        "容許誤差，τ≥0",
        "tolerance, τ≥0"
      ],
      [
        "[x-\\tau,\\ x+\\tau]",
        "容許區間（含端點）",
        "tolerance interval (endpoints included)"
      ]
    ],
    "md_error_controls": [
      {
        "title": "參照值為零不能算相對誤差 / No relative error for a zero reference",
        "zh": "MKO 指出的誤解之一是參照值為零仍計算相對誤差。S12 中 |a₀−x₀|=1/1000 可以算，但 (1/1000)/0 沒有定義。若需要描述靠近 0 的量，應改用絕對誤差或明示另一個非零尺度，並說明理由。",
        "en": "One misconception named by the MKO is computing a relative error with a zero reference. In S12, |a₀−x₀|=1/1000 can be computed, but (1/1000)/0 is undefined. To describe quantities near 0, use the absolute error or state another nonzero scale explicitly, with a reason."
      },
      {
        "title": "不是所有誤差都是捨入誤差 / Not every error is a rounding error",
        "zh": "MKO 指出的另一個誤解是把所有誤差都叫捨入誤差。S13 顯示 0.33 可能由四捨五入或截斷得到，誤差都是 1/300；它也可能來自量測或模型。誤差數值本身不說明來源，必須有產生過程的資料。",
        "en": "Another misconception named by the MKO is calling every error a rounding error. S13 shows that 0.33 may come from rounding or from truncation, both with error 1/300; it might also come from measurement or modelling. The error value alone does not reveal the source; data about how the value was produced are needed."
      },
      {
        "title": "端點包含在內，比較分數要注意方向 / Endpoints are included, and compare fractions carefully",
        "zh": "定義用 ≤，所以 S10 中恰在端點的 a 算在容許範圍內。比較 1/300 與 1/400 時不能把分母的大小方向直接當成分數的大小方向：正分母的分數可用交叉相乘比較（S06、S09），分子同為 1 時分母越大分數越小。",
        "en": "The definition uses ≤, so the a in S10 that sits exactly at the endpoint counts as within tolerance. When comparing 1/300 with 1/400, do not carry the direction of the denominator comparison over to the fractions: fractions with positive denominators can be compared by cross-multiplying (S06, S09); with numerators 1, the larger denominator gives the smaller fraction."
      }
    ],
    "md_open_items": [
      {
        "zh-Hant": "本稿把十進位 0.33 讀作精確有理數 33/100；二進位浮點顯示值與其真正儲存值的差異不在範圍內。",
        "en": "This guide reads the decimal 0.33 as the exact rational 33/100; the difference between a displayed binary floating-point value and its actual stored value is out of scope."
      }
    ]
  },
  "revision": {
    "id": "production-20261019-adopted-96",
    "source_commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
    "adopted_source_sha256": "58bd7e5c1024dfee361ec4fcc28dfa4a57c63d8a4f604d1e27e3e41147838585",
    "original_source_sha256": "b3644181d9d4bd6d19b2e0af1af975697928d76dee4dcb2c3153092b30403bce",
    "owner_adopted": true,
    "bilingual_sync": "complete_source_bound",
    "formal_Lean": "NOT_RUN",
    "independent_AI_concurrence": "NOT_MEASURED",
    "issue_ids": [
      "BR-M041"
    ],
    "scope": "Owner-adopted natural-language teaching guide; not a formal proof, canonical MKO rewrite or evidence-status promotion."
  }
}
