解譯完備數符:從裸數字到可判定語義的表示框架
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. 問題的提出
考慮下列符號:
0.9
0.10
0.89
0.91
若將它們視為十進位實數,則:
若將它們視為兩欄位版本序列,並採用字典序,則可能得到:
若將 0.91 解析為三個單位欄位,則它又可能表示:
因此,問題並不只是「版本號看起來像小數」,也不能單純依靠前綴字母來解決。即使寫成:
V0.91
仍然沒有回答以下問題:
0.91的承載域是什麼?.是小數點、欄位分隔符,還是壓縮記號?91是一個整數欄位,還是兩個獨立位置?- 採用何種進位制?
- 每一位置或欄位的合法範圍為何?
0.9與0.90是否相等?- 下一個符號是
0.91、0.10、1.0,還是根本不存在? - 欄位溢位時是否進位?
- 有限位數的最大值、上確界與極限值如何區分?
- 不同系統之間如何保證解譯一致?
本文將這類問題統稱為「裸數符歧義」。
2. 裸數符與解譯環境
令:
表示一個表面數字符號,例如:
本文不預設 已經是一個實數、自然數或版本向量。相反地, 首先只是一個字串。它的意義必須由解譯環境決定:
其中:
數符的意義寫成:
這裡的 負責宣告「它是什麼」,而 負責宣告「它如何被判斷、比較與推進」。
3. 宣告域
本文將宣告域定義為:
其中:
- :承載域;
- :解析文法;
- :進位制或混合進位制;
- :位置或欄位映射;
- :每個位置或欄位的上限;
- :欄位數或位數規則。
3.1 承載域
承載域決定解譯結果屬於何種對象。例如:
表示實數;
表示三欄位自然數向量;
表示符號序列;
表示具有欄位上限的有限乘積空間。
3.2 解析文法
解析文法:
將表面字串映射為語法樹或欄位結構。
例如:
其中小數點後的每個字元對應一個位置。
另一方面:
表示點號分隔兩個整數欄位。
若採固定寬度壓縮:
因此,數符的合法性首先取決於是否存在唯一解析:
3.3 進位制
對位置制數字,可宣告基數:
並要求每一數字位滿足:
十進位時:
二進位時:
但對版本欄位或階層標記而言, 可能不存在,因為欄位本身是自然數,而不是位置制中的單一數字位。此時可令:
3.4 位置映射
位置映射 決定每一位置的權重。
十進位小數可寫成:
因此:
版本欄位則不應使用位置權重,而可採欄位語義:
3.5 欄位上限與長度
每一欄位可具有上限:
位數或欄位數則由 宣告。可能情形包括:
表示固定長度;
表示任意有限長度;
表示允許可數無限展開。
這三種情況具有不同的最大值、上確界與正規化規則。
4. 判定域
本文將判定域定義為:
其中:
- :排序規則;
- :相等規則;
- :正規化規則;
- :解析度或量化尺度;
- :進位與溢位規則;
- :後繼規則。
4.1 排序規則
若 ,可採通常實數序:
若 ,可採字典序:
當且僅當,在第一個滿足 的位置 上,有:
因此:
4.2 相等規則
在實數語義下:
但在某些量測語義中,兩者雖具有相同中心值,卻可能具有不同解析度:
在版本欄位語義中,若 9 與 90 是不同整數欄位,則:
因此,相等並不是字形本身決定的,而是由 決定。
4.3 正規化規則
正規化函數:
將不同表面表示映射至標準形。
例如,實數語義可規定:
版本語義則可能規定:
或保留原字串而不補零。
4.4 解析度
若一個數字符號只允許兩位十進位小數,則其解析度可宣告為:
此時可定義量化後繼:
所以:
但若:
則:
因此,所謂「下一個數」必須依賴解析度或離散結構。
4.5 進位與溢位
十進位位置制可具有標準進位:
版本欄位則通常不具自然進位:
而不是:
只有在明確宣告:
且存在進位函數:
時,才可以合法得到:
5. 三個基本命題
命題一:前綴不足命題
對任意前綴 與裸數符 ,僅由字串拼接:
不能保證 的唯一解譯。
論證
設:
即使寫成:
仍可存在至少三種相容解譯:
除非前綴 指向一個完整、唯一且可取得的解譯綱要,否則前綴只提供語境暗示,不構成完整宣告。
命題二:後繼依賴命題
數符的「下一個」不是表面數值的內在性質,而依賴承載域、解析度與後繼規則。
論證
在實數域中,任意兩個不同實數之間仍存在其他實數,因此:
在量化網格:
中,則可定義:
在版本向量中,後繼又可能定義為指定欄位加一:
因此,未宣告 、 與 時,「下一個」沒有唯一答案。
命題三:表示相等不蘊含語義相等命題
兩個具有相同表面數值的表示,不必在所有解譯環境中相等。
論證
在實數語義中:
在帶解析度的量測語義中,可以有:
但:
在欄位向量語義中:
因此,「值相等」「表示相等」「精度相等」與「結構相等」必須分開宣告。
6. 小數位極限的四重區分
「小數位極限」至少包含四種不同概念。
6.1 單一數字位上限
基數為 時:
6.2 位數上限
固定 位小數時:
6.3 固定位數的可表示最大值
若整數部分為零,基數為 ,最多允許 位小數,則最大值為:
十進位兩位小數時:
6.4 無限延伸下的上確界或極限
若允許任意有限位數,則:
若允許無限展開並採通常實數完備化,則:
因此,最大值、上確界、極限值與可表示邊界不應使用同一個詞籠統處理。
7. 解譯完備數符
本文提出「解譯完備數符」:
亦可使用上下語義附加形式:
其中,上方宣告域描述數符的型別與結構,下方判定域描述比較、相等、解析度、進位與後繼。
定義完備性函數:
當且僅當以下條件同時成立時:
- 可以被唯一解析;
- 每一位置或欄位具有合法域;
- 解譯結果唯一;
- 相等規則可判定;
- 排序規則在所需範圍內可判定;
- 精度或解析度已宣告;
- 邊界與溢位規則已宣告;
- 正規化方式已宣告;
- 若使用「下一個」,後繼規則已宣告;
- 跨系統轉換不會遺失必要語義,或遺失情況已明確標記。
若任何一項不足,則該符號仍可能可用,但不能宣稱具有解譯完備性。
8. 四種公開表示方法
8.1 線性宣告
最傳統且最容易實作的方法,是在文件或資料區塊前先宣告:
schema:
domain = real
grammar = decimal-positional
radix = 10
precision = 2
equality = numeric
order = real-order
carry = positional
之後同一作用域內的 0.91 均依此解譯。
8.2 上下語義附加
對局部數符,可表示為:
版本向量則可寫成:
上下附加的優點是能直接保留原始表面符號,同時將其所屬解譯環境顯示在鄰近位置。
8.3 綱要錨定
先建立完整綱要:
之後只需寫:
此時 V3 不再只是「版本」的字母提示,而是可解析、可查驗的正式綱要識別碼。
8.4 自描述欄位
對交換格式,可使用:
number{
token = "0.91",
domain = "real",
grammar = "decimal-positional",
radix = 10,
precision = 2,
order = "real-order"
}
或:
number{
token = "0.91",
domain = "tuple[N,N]",
grammar = "dot-separated-fields",
order = "lexicographic"
}
此方法較冗長,但適合資料庫、協定、人工智慧代理與跨語言處理。
9. 應用範圍
解譯完備數符不只適用於軟體版本。
9.1 版本與發布系統
可區分:
避免更新器、套件管理器與人類文件之間出現不同排序。
9.2 科學量測
可同時表示:
避免將 0.9 與 0.90 的精度資訊抹除。
9.3 金融與會計資料
可以明確宣告小數位數、捨入規則、貨幣單位與合法區間,避免單純依靠顯示格式推定實際金額語義。
9.4 模型、資料集與實驗編號
人工智慧模型常同時使用版本、步數、檢查點、量化級別與資料批次。若全部壓縮成點分數字,極易產生欄位衝突。解譯綱要可以明確指定每一段的角色。
9.5 人工智慧生成內容
人工智慧系統經常根據局部語境猜測數字意義。當文件具有顯式宣告域與判定域時,模型可以先解析綱要,再處理數值,降低因語境猜測產生的錯誤。
9.6 跨程式語言與跨協定交換
不同系統可能將同一字串分別解析為浮點數、字串、語義版本、日期或路徑。將數符與其解譯綱要一同傳輸,可降低隱式轉型風險。
10. 與傳統數值表示的關係
本文並不主張所有數字都必須永久攜帶完整標籤。傳統位置制在穩定、單一且共享的語境中仍然高效。
本文主張的是:
當一個數符跨越不同語境、不同系統、不同型別或不同判定規則時,不應再假設其表面形式足以承載完整語義。
因此,解譯完備數符是一種可分層採用的框架:
- 穩定局部環境中,使用線性宣告;
- 局部歧義位置,使用上下附加;
- 跨文件或跨系統環境,使用綱要錨定;
- 機器交換與長期保存,使用自描述欄位。
11. 限制與風險
11.1 表示負擔
完整宣告會增加文字長度與視覺複雜度,因此必須設計可壓縮、可繼承與可局部覆寫的語法。
11.2 綱要漂移
若同一綱要識別碼在不同時間指向不同定義,將造成比裸數符更嚴重的錯誤。因此綱要需要版本化、內容指紋或不可變識別。
11.3 過度形式化
並非所有日常數字都需要完整型別標記。框架應允許依風險與交換範圍決定宣告強度。
11.4 舊系統相容性
既有軟體可能只接受純數字或字串,因此必須提供不破壞原值的旁路標記、註解層或外部綱要映射。
11.5 人類可讀性
機器可讀格式不必然適合人類閱讀。上下附加、欄位分隔與線性宣告需要形成一致的視覺規則。
12. 結論
0.91 並不天然是一個已經完成定義的數值。它首先是一個表面符號,其意義取決於承載域、解析文法、進位制、位置映射、欄位上限、排序、相等、解析度、正規化、進位與後繼規則。
因此,數字符號的根本問題不是「應不應該在前面加上 V」,而是:
本文提出:
作為解譯完備數符的基本形式,並以:
作為可見的語義附加表示。
這套框架將數字從「依賴讀者猜測的裸字串」,轉化為「具有可檢查解譯條件的型化符號」。其後續技術工作將包括統一語法、綱要註冊、解析器、比較器、正規化器、轉換層與最小可行原型。這些工作可進一步形成跨人類文件、程式語言、人工智慧代理與資料協定的數符語義基礎。
附錄 A:最小宣告模板
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
版本欄位示例:
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:公開版核心符號表
| 符號 | 意義 |
|---|---|
| 表面數字符號 | |
| 完整解譯環境 | |
| 宣告域 | |
| 判定域 | |
| 承載域 | |
| 解析文法 | |
| 進位制 | |
| 位置或欄位映射 | |
| 位元或欄位上限 | |
| 位數或欄位數規則 | |
| 排序規則 | |
| 相等規則 | |
| 正規化規則 | |
| 解析度 | |
| 進位或溢位規則 | |
| 後繼規則 | |
| 解譯完備數符 | |
| 解譯完備性判定 |