# 解譯完備數符：從裸數字到可判定語義的表示框架

**Interpretation-Complete Numeral Expressions: From Bare Numeric Strings to Decidable Semantic Representations**

**作者：Neo.K**  
**研究單位：EveMissLab**  
**版本：公開論文草案 v0.1**  
**日期：2026-07-29**

---

## 摘要

日常書寫中的數字，經常被視為可以直接理解的對象。然而，字串 `0.91` 並不天然只對應一種數值或結構。它可能表示十進位實數、版本欄位、壓縮後的階層路徑、量測結果、序列索引，或某種有限長度的編碼。即使在符號前加上 `V`、`R`、`ID` 等前綴，也通常只能提供語境提示，而不能完整宣告該數符的承載域、解析文法、進位制、位置權重、欄位上限、比較方式、相等規則、解析度、進位規則與後繼關係。

本文提出「解譯完備數符」框架，將表面數字符號與其解譯環境分離，並以宣告域與判定域共同決定一個數符的合法意義。本文主張：一個數字符號只有在可以被唯一解析、唯一映射、穩定比較，且其邊界、精度、正規化與後繼規則均已充分宣告時，才具有可判定的完整語義。本文進一步提出線性宣告、上下語義附加、綱要錨定與自描述欄位等表示方法，作為未來跨文件、跨程式語言、跨人工智慧系統與跨資料協定的數符語義基礎。

**關鍵詞：** 數字符號、語義宣告、版本號、位置制、混合進位、型別系統、判定域、宣告域、數值表示、機器可讀語義

---

## 1. 問題的提出

考慮下列符號：

```text
0.9
0.10
0.89
0.91
```

若將它們視為十進位實數，則：

$$
0.10 = 0.1 < 0.89 < 0.9 < 0.91.
$$

若將它們視為兩欄位版本序列，並採用字典序，則可能得到：

$$
(0,9) < (0,10) < (0,89) < (0,91).
$$

若將 `0.91` 解析為三個單位欄位，則它又可能表示：

$$
(0,9,1).
$$

因此，問題並不只是「版本號看起來像小數」，也不能單純依靠前綴字母來解決。即使寫成：

```text
V0.91
```

仍然沒有回答以下問題：

1. `0.91` 的承載域是什麼？
2. `.` 是小數點、欄位分隔符，還是壓縮記號？
3. `91` 是一個整數欄位，還是兩個獨立位置？
4. 採用何種進位制？
5. 每一位置或欄位的合法範圍為何？
6. `0.9` 與 `0.90` 是否相等？
7. 下一個符號是 `0.91`、`0.10`、`1.0`，還是根本不存在？
8. 欄位溢位時是否進位？
9. 有限位數的最大值、上確界與極限值如何區分？
10. 不同系統之間如何保證解譯一致？

本文將這類問題統稱為「裸數符歧義」。

---

## 2. 裸數符與解譯環境

令：

$$
s
$$

表示一個表面數字符號，例如：

$$
s=\texttt{0.91}.
$$

本文不預設 $s$ 已經是一個實數、自然數或版本向量。相反地， $s$ 首先只是一個字串。它的意義必須由解譯環境決定：

$$
\Gamma=(\Delta,\Pi),
$$

其中：

$$
\Delta=\text{宣告域},
$$

$$
\Pi=\text{判定域}.
$$

數符的意義寫成：

$$
\llbracket s\rrbracket_{\Gamma}
=
\llbracket s\rrbracket_{\Delta,\Pi}.
$$

這裡的 $\Delta$ 負責宣告「它是什麼」，而 $\Pi$ 負責宣告「它如何被判斷、比較與推進」。

---

## 3. 宣告域

本文將宣告域定義為：

$$
\Delta=
\langle
D,G,R,P,M,K
\rangle.
$$

其中：

- $D$ ：承載域；
- $G$ ：解析文法；
- $R$ ：進位制或混合進位制；
- $P$ ：位置或欄位映射；
- $M$ ：每個位置或欄位的上限；
- $K$ ：欄位數或位數規則。

### 3.1 承載域

承載域決定解譯結果屬於何種對象。例如：

$$
D=\mathbb R
$$

表示實數；

$$
D=\mathbb N^3
$$

表示三欄位自然數向量；

$$
D=\Sigma^\ast
$$

表示符號序列；

$$
D=\prod_{i=1}^{n}\{0,\ldots,M_i\}
$$

表示具有欄位上限的有限乘積空間。

### 3.2 解析文法

解析文法：

$$
G:\Sigma^\ast\rightarrow\mathcal T
$$

將表面字串映射為語法樹或欄位結構。

例如：

$$
G_{\mathrm{decimal}}(\texttt{0.91})
=
(0;\,9,1),
$$

其中小數點後的每個字元對應一個位置。

另一方面：

$$
G_{\mathrm{field}}(\texttt{0.91})
=
(0,91),
$$

表示點號分隔兩個整數欄位。

若採固定寬度壓縮：

$$
G_{\mathrm{fixed}}(\texttt{0.91})
=
(0,9,1).
$$

因此，數符的合法性首先取決於是否存在唯一解析：

$$
\exists!\,t\in\mathcal T
\quad
G(s)=t.
$$

### 3.3 進位制

對位置制數字，可宣告基數：

$$
R=b,
$$

並要求每一數字位滿足：

$$
d_i\in\{0,1,\ldots,b-1\}.
$$

十進位時：

$$
0\le d_i\le 9.
$$

二進位時：

$$
0\le d_i\le 1.
$$

但對版本欄位或階層標記而言， $R$ 可能不存在，因為欄位本身是自然數，而不是位置制中的單一數字位。此時可令：

$$
R=\varnothing.
$$

### 3.4 位置映射

位置映射 $P$ 決定每一位置的權重。

十進位小數可寫成：

$$
P(i)=10^{-i}.
$$

因此：

$$
\llbracket 0.91\rrbracket
=
9\cdot10^{-1}+1\cdot10^{-2}.
$$

版本欄位則不應使用位置權重，而可採欄位語義：

$$
P(1)=\text{major},
$$

$$
P(2)=\text{minor},
$$

$$
P(3)=\text{patch}.
$$

### 3.5 欄位上限與長度

每一欄位可具有上限：

$$
0\le x_i\le M_i.
$$

位數或欄位數則由 $K$ 宣告。可能情形包括：

$$
K=n,
$$

表示固定長度；

$$
K\in\mathbb N,
$$

表示任意有限長度；

$$
K=\aleph_0,
$$

表示允許可數無限展開。

這三種情況具有不同的最大值、上確界與正規化規則。

---

## 4. 判定域

本文將判定域定義為：

$$
\Pi=
\langle
O,E,N,Q,C,S
\rangle.
$$

其中：

- $O$ ：排序規則；
- $E$ ：相等規則；
- $N$ ：正規化規則；
- $Q$ ：解析度或量化尺度；
- $C$ ：進位與溢位規則；
- $S$ ：後繼規則。

### 4.1 排序規則

若 $D=\mathbb R$ ，可採通常實數序：

$$
O=<_{\mathbb R}.
$$

若 $D=\mathbb N^n$ ，可採字典序：

$$
(x_1,\ldots,x_n)
\prec_{\mathrm{lex}}
(y_1,\ldots,y_n)
$$

當且僅當，在第一個滿足 $x_j\neq y_j$ 的位置 $j$ 上，有：

$$
x_j<y_j.
$$

因此：

$$
(0,91)\succ_{\mathrm{lex}}(0,9).
$$

### 4.2 相等規則

在實數語義下：

$$
0.9=0.90.
$$

但在某些量測語義中，兩者雖具有相同中心值，卻可能具有不同解析度：

$$
\operatorname{Val}(0.9)
=
\operatorname{Val}(0.90),
$$

$$
\operatorname{Res}(0.9)
\neq
\operatorname{Res}(0.90).
$$

在版本欄位語義中，若 `9` 與 `90` 是不同整數欄位，則：

$$
(0,9)\neq(0,90).
$$

因此，相等並不是字形本身決定的，而是由 $E$ 決定。

### 4.3 正規化規則

正規化函數：

$$
N:S\rightarrow S_{\mathrm{canonical}}
$$

將不同表面表示映射至標準形。

例如，實數語義可規定：

$$
N(\texttt{0.90})=\texttt{0.9}.
$$

版本語義則可能規定：

$$
N(\texttt{0.9})=\texttt{0.9.0},
$$

或保留原字串而不補零。

### 4.4 解析度

若一個數字符號只允許兩位十進位小數，則其解析度可宣告為：

$$
Q=10^{-2}.
$$

此時可定義量化後繼：

$$
S_Q(x)=x+Q.
$$

所以：

$$
S_{10^{-2}}(0.90)=0.91.
$$

但若：

$$
Q=10^{-1},
$$

則：

$$
S_{10^{-1}}(0.9)=1.0.
$$

因此，所謂「下一個數」必須依賴解析度或離散結構。

### 4.5 進位與溢位

十進位位置制可具有標準進位：

$$
0.99+0.01=1.00.
$$

版本欄位則通常不具自然進位：

$$
(0,99)\rightarrow(0,100),
$$

而不是：

$$
(0,99)\rightarrow(1,0).
$$

只有在明確宣告：

$$
M_{\mathrm{minor}}=99
$$

且存在進位函數：

$$
C_{\mathrm{minor}\rightarrow\mathrm{major}}
$$

時，才可以合法得到：

$$
(0,99)\rightarrow(1,0).
$$

---

## 5. 三個基本命題

### 命題一：前綴不足命題

對任意前綴 $p$ 與裸數符 $s$ ，僅由字串拼接：

$$
ps
$$

不能保證 $s$ 的唯一解譯。

#### 論證

設：

$$
s=\texttt{0.91}.
$$

即使寫成：

$$
p=\texttt{V},
$$

仍可存在至少三種相容解譯：

$$
\llbracket \texttt{V0.91}\rrbracket_1=(0,91),
$$

$$
\llbracket \texttt{V0.91}\rrbracket_2=(0,9,1),
$$

$$
\llbracket \texttt{V0.91}\rrbracket_3=0.91.
$$

除非前綴 $p$ 指向一個完整、唯一且可取得的解譯綱要，否則前綴只提供語境暗示，不構成完整宣告。

---

### 命題二：後繼依賴命題

數符的「下一個」不是表面數值的內在性質，而依賴承載域、解析度與後繼規則。

#### 論證

在實數域中，任意兩個不同實數之間仍存在其他實數，因此：

$$
\nexists\,\operatorname{succ}_{\mathbb R}(x).
$$

在量化網格：

$$
D_Q=\{kQ\mid k\in\mathbb Z\}
$$

中，則可定義：

$$
\operatorname{succ}_{Q}(x)=x+Q.
$$

在版本向量中，後繼又可能定義為指定欄位加一：

$$
\operatorname{succ}_{\mathrm{minor}}(a,b,c)
=
(a,b+1,c).
$$

因此，未宣告 $D$ 、 $Q$ 與 $S$ 時，「下一個」沒有唯一答案。

---

### 命題三：表示相等不蘊含語義相等命題

兩個具有相同表面數值的表示，不必在所有解譯環境中相等。

#### 論證

在實數語義中：

$$
0.9=0.90.
$$

在帶解析度的量測語義中，可以有：

$$
\operatorname{Val}(0.9)
=
\operatorname{Val}(0.90),
$$

但：

$$
\operatorname{Res}(0.9)
\neq
\operatorname{Res}(0.90).
$$

在欄位向量語義中：

$$
(0,9)\neq(0,90).
$$

因此，「值相等」「表示相等」「精度相等」與「結構相等」必須分開宣告。

---

## 6. 小數位極限的四重區分

「小數位極限」至少包含四種不同概念。

### 6.1 單一數字位上限

基數為 $b$ 時：

$$
d_i\le b-1.
$$

### 6.2 位數上限

固定 $n$ 位小數時：

$$
K=n.
$$

### 6.3 固定位數的可表示最大值

若整數部分為零，基數為 $b$ ，最多允許 $n$ 位小數，則最大值為：

$$
\sum_{i=1}^{n}(b-1)b^{-i}
=
1-b^{-n}.
$$

十進位兩位小數時：

$$
0.99=1-10^{-2}.
$$

### 6.4 無限延伸下的上確界或極限

若允許任意有限位數，則：

$$
\sup
\left\{
1-b^{-n}
\mid
n\in\mathbb N
\right\}
=
1.
$$

若允許無限展開並採通常實數完備化，則：

$$
0.\overline{(b-1)}=1.
$$

因此，最大值、上確界、極限值與可表示邊界不應使用同一個詞籠統處理。

---

## 7. 解譯完備數符

本文提出「解譯完備數符」：

$$
\mathfrak N
=
\langle
s;\Delta,\Pi
\rangle.
$$

亦可使用上下語義附加形式：

$$
{}^{\Delta}_{\Pi}\!s.
$$

其中，上方宣告域描述數符的型別與結構，下方判定域描述比較、相等、解析度、進位與後繼。

定義完備性函數：

$$
\operatorname{Complete}(s,\Delta,\Pi)\in\{0,1\}.
$$

當且僅當以下條件同時成立時：

$$
\operatorname{Complete}(s,\Delta,\Pi)=1.
$$

1. $s$ 可以被唯一解析；
2. 每一位置或欄位具有合法域；
3. 解譯結果唯一；
4. 相等規則可判定；
5. 排序規則在所需範圍內可判定；
6. 精度或解析度已宣告；
7. 邊界與溢位規則已宣告；
8. 正規化方式已宣告；
9. 若使用「下一個」，後繼規則已宣告；
10. 跨系統轉換不會遺失必要語義，或遺失情況已明確標記。

若任何一項不足，則該符號仍可能可用，但不能宣稱具有解譯完備性。

---

## 8. 四種公開表示方法

### 8.1 線性宣告

最傳統且最容易實作的方法，是在文件或資料區塊前先宣告：

```text
schema:
  domain = real
  grammar = decimal-positional
  radix = 10
  precision = 2
  equality = numeric
  order = real-order
  carry = positional
```

之後同一作用域內的 `0.91` 均依此解譯。

### 8.2 上下語義附加

對局部數符，可表示為：

$$
{}^{\Delta_{\mathrm{dec}}}_{\Pi_{\mathrm{real}}}\!0.91.
$$

版本向量則可寫成：

$$
{}^{\Delta_{\mathrm{ver}}}_{\Pi_{\mathrm{lex}}}\!0.91.
$$

上下附加的優點是能直接保留原始表面符號，同時將其所屬解譯環境顯示在鄰近位置。

### 8.3 綱要錨定

先建立完整綱要：

$$
\mathsf{V3}\mapsto(\Delta_{\mathsf{V3}},\Pi_{\mathsf{V3}}),
$$

之後只需寫：

$$
{}^{\mathsf{V3}}\!0.91.
$$

此時 `V3` 不再只是「版本」的字母提示，而是可解析、可查驗的正式綱要識別碼。

### 8.4 自描述欄位

對交換格式，可使用：

```text
number{
  token = "0.91",
  domain = "real",
  grammar = "decimal-positional",
  radix = 10,
  precision = 2,
  order = "real-order"
}
```

或：

```text
number{
  token = "0.91",
  domain = "tuple[N,N]",
  grammar = "dot-separated-fields",
  order = "lexicographic"
}
```

此方法較冗長，但適合資料庫、協定、人工智慧代理與跨語言處理。

---

## 9. 應用範圍

解譯完備數符不只適用於軟體版本。

### 9.1 版本與發布系統

可區分：

$$
(0,9),
\quad
(0,10),
\quad
(0,9,1),
\quad
0.91.
$$

避免更新器、套件管理器與人類文件之間出現不同排序。

### 9.2 科學量測

可同時表示：

$$
\operatorname{Val}(x),
\quad
\operatorname{Res}(x),
\quad
\operatorname{Unc}(x),
\quad
\operatorname{Unit}(x).
$$

避免將 `0.9` 與 `0.90` 的精度資訊抹除。

### 9.3 金融與會計資料

可以明確宣告小數位數、捨入規則、貨幣單位與合法區間，避免單純依靠顯示格式推定實際金額語義。

### 9.4 模型、資料集與實驗編號

人工智慧模型常同時使用版本、步數、檢查點、量化級別與資料批次。若全部壓縮成點分數字，極易產生欄位衝突。解譯綱要可以明確指定每一段的角色。

### 9.5 人工智慧生成內容

人工智慧系統經常根據局部語境猜測數字意義。當文件具有顯式宣告域與判定域時，模型可以先解析綱要，再處理數值，降低因語境猜測產生的錯誤。

### 9.6 跨程式語言與跨協定交換

不同系統可能將同一字串分別解析為浮點數、字串、語義版本、日期或路徑。將數符與其解譯綱要一同傳輸，可降低隱式轉型風險。

---

## 10. 與傳統數值表示的關係

本文並不主張所有數字都必須永久攜帶完整標籤。傳統位置制在穩定、單一且共享的語境中仍然高效。

本文主張的是：

> 當一個數符跨越不同語境、不同系統、不同型別或不同判定規則時，不應再假設其表面形式足以承載完整語義。

因此，解譯完備數符是一種可分層採用的框架：

1. 穩定局部環境中，使用線性宣告；
2. 局部歧義位置，使用上下附加；
3. 跨文件或跨系統環境，使用綱要錨定；
4. 機器交換與長期保存，使用自描述欄位。

---

## 11. 限制與風險

### 11.1 表示負擔

完整宣告會增加文字長度與視覺複雜度，因此必須設計可壓縮、可繼承與可局部覆寫的語法。

### 11.2 綱要漂移

若同一綱要識別碼在不同時間指向不同定義，將造成比裸數符更嚴重的錯誤。因此綱要需要版本化、內容指紋或不可變識別。

### 11.3 過度形式化

並非所有日常數字都需要完整型別標記。框架應允許依風險與交換範圍決定宣告強度。

### 11.4 舊系統相容性

既有軟體可能只接受純數字或字串，因此必須提供不破壞原值的旁路標記、註解層或外部綱要映射。

### 11.5 人類可讀性

機器可讀格式不必然適合人類閱讀。上下附加、欄位分隔與線性宣告需要形成一致的視覺規則。

---

## 12. 結論

`0.91` 並不天然是一個已經完成定義的數值。它首先是一個表面符號，其意義取決於承載域、解析文法、進位制、位置映射、欄位上限、排序、相等、解析度、正規化、進位與後繼規則。

因此，數字符號的根本問題不是「應不應該在前面加上 `V`」，而是：

$$
\boxed{
\text{是否已經合法宣告該符號如何被解譯與判定}
}
$$

本文提出：

$$
\mathfrak N
=
\langle
s;\Delta,\Pi
\rangle
$$

作為解譯完備數符的基本形式，並以：

$$
{}^{\Delta}_{\Pi}\!s
$$

作為可見的語義附加表示。

這套框架將數字從「依賴讀者猜測的裸字串」，轉化為「具有可檢查解譯條件的型化符號」。其後續技術工作將包括統一語法、綱要註冊、解析器、比較器、正規化器、轉換層與最小可行原型。這些工作可進一步形成跨人類文件、程式語言、人工智慧代理與資料協定的數符語義基礎。

---

## 附錄 A：最小宣告模板

```yaml
symbol_schema:
  id: DECIMAL_10_P2
  declaration_domain:
    carrier: real
    grammar: decimal-positional
    radix: 10
    position_map: negative-powers
    digit_max: 9
    length: 2
  judgment_domain:
    order: real-order
    equality: numeric-equality
    normalization: trim-insignificant-trailing-zero
    resolution: 0.01
    carry: positional
    successor: add-resolution
```

版本欄位示例：

```yaml
symbol_schema:
  id: VERSION_3_LEX
  declaration_domain:
    carrier: tuple[N,N,N]
    grammar: dot-separated-fields
    radix: null
    position_map: [major, minor, patch]
    field_max: [unbounded, unbounded, unbounded]
    length: 3
  judgment_domain:
    order: lexicographic
    equality: structural-equality
    normalization: pad-right-zero
    resolution: field
    carry: none
    successor: increment-selected-field
```

---

## 附錄 B：公開版核心符號表

| 符號 | 意義 |
|---|---|
| $s$ | 表面數字符號 |
| $\Gamma$ | 完整解譯環境 |
| $\Delta$ | 宣告域 |
| $\Pi$ | 判定域 |
| $D$ | 承載域 |
| $G$ | 解析文法 |
| $R$ | 進位制 |
| $P$ | 位置或欄位映射 |
| $M$ | 位元或欄位上限 |
| $K$ | 位數或欄位數規則 |
| $O$ | 排序規則 |
| $E$ | 相等規則 |
| $N$ | 正規化規則 |
| $Q$ | 解析度 |
| $C$ | 進位或溢位規則 |
| $S$ | 後繼規則 |
| $\mathfrak N$ | 解譯完備數符 |
| $\operatorname{Complete}$ | 解譯完備性判定 |

