NEO.K / PU程式宇宙基礎
編號PU-2-02
版本v0.1
日期2026-07-27
作者Neo.K with Aletheia
狀態初版完成

下載 PDF ↓回到論文索引 ↗

符號作為算子:從靜態字元到可組合計算閉包

Symbols as Operators: From Static Characters to Composable Computational Closure

論文編號: PU-2-02
系列:「程式宇宙書系」第 2 冊《程式語言的本質》
作者: Neo.K with Aletheia
機構: EveMissLab/一言諾科技有限公司
版本: v0.1
日期: 2026 年 7 月 27 日


摘要

前篇指出程式語言不等於文字,文字只是程式結構的一種線性序列化投影。本篇進一步追問:若語言不以文字為本體,那麼構成語言的「符號」究竟是什麼?

傳統語言學與程式語言實作常將符號理解為字元、token、關鍵字、操作符或語法節點。然而,這種理解只描述符號的表面辨識方式,沒有完整描述其在程式世界中的可執行角色。本文提出:

SymbolCharacterToken\boxed{ \text{Symbol} \neq \text{Character} \neq \text{Token} }

並將可執行符號定義為:

帶有輸入域、輸出域、前置條件、後置條件、效果、權限、證據與組合規則的語意算子。

形式上:

ω=I,O,P,Q,E,A,V,C\boxed{ \omega = \left\langle I, O, P, Q, E, A, V, C \right\rangle }

其中:

本文核心命題是:

Executable Symbol=Operator with Governed Meaning\boxed{ \text{Executable Symbol} = \text{Operator with Governed Meaning} }

一個符號不因被寫成 +sendapprove、圖形節點或自然語言片語而自動具有完整算子地位。真正決定其身份的是:

本文進一步建立三層符號觀:

  1. 表面符號:字元、圖示、詞彙或節點外觀;
  2. 語意符號:連接問題世界概念與關係;
  3. 算子符號:可對值、狀態、事件、權限或世界執行受約束變換。

形式上:

σsurfacebindσsemanticoperationalizeω\sigma_{\mathrm{surface}} \xrightarrow{\operatorname{bind}} \sigma_{\mathrm{semantic}} \xrightarrow{\operatorname{operationalize}} \omega

同一算子可以擁有多種表面符號:

πtext(ω),πvisual(ω),πspeech(ω),πmachine(ω)\pi_{\mathrm{text}}(\omega), \quad \pi_{\mathrm{visual}}(\omega), \quad \pi_{\mathrm{speech}}(\omega), \quad \pi_{\mathrm{machine}}(\omega)

因此,表面表示不同,不代表算子不同。反之,兩個外觀相同的符號若具有不同輸入域、效果、權限或 Runtime,也可能是不同算子。

本文提出「算子身份」:

Identity(ω)=(SemanticRole,InputType,OutputType,EffectSignature,Invariant,Version)Identity(\omega) = \left( SemanticRole, InputType, OutputType, EffectSignature, Invariant, Version \right)

而非單純依靠名稱或字元。

本文區分六類基礎算子:

  1. 值算子:對值進行轉換;
  2. 結構算子:建立、連接、分解或重組結構;
  3. 狀態算子:改變權威狀態;
  4. 事件算子:形成或轉譯已發生事實;
  5. 效果算子:作用於外部數位或物理世界;
  6. 治理算子:授權、撤銷、批准、申訴、暫停或改變規則。

本文指出,傳統語言往往高度形式化值算子與結構算子,卻把狀態、事件、效果與治理算子隱藏在函式命名、框架、API、middleware 與人工流程中。這使語言能精確描述「怎麼算」,卻難以直接描述「誰能改變什麼世界、如何證明、失敗如何恢復」。

本文進一步建立算子組合:

ω2ω1\omega_2 \circ \omega_1

只有在輸出—輸入相容、前後條件可接合、效果不衝突、權限合法、證據可傳遞時,組合才成立。

本文將組合合法性形式化為:

Composable(ω1,ω2)    O1I2Q1P2Compatible(E1,E2)Authorized(A1,A2)Traceable(V1,V2)Composable \left( \omega_1,\omega_2 \right) \iff O_1\subseteq I_2 \land Q_1\models P_2 \land Compatible(E_1,E_2) \land Authorized(A_1,A_2) \land Traceable(V_1,V_2)

這表示型別相容只是組合的第一層。若兩個函式型別吻合,但一個會產生不可逆付款效果,另一個假設可回滾,則語意上仍不可安全組合。

本文提出「計算閉包」概念。給定一組基礎算子 Ω0\Omega_0 與組合規則 C\mathcal C ,可生成:

Closure(Ω0,C)\boxed{ \operatorname{Closure} \left( \Omega_0, \mathcal C \right) }

閉包中的每一複合算子都應仍具有可推導的:

如果組合後這些資訊遺失,就只形成語法閉包,而非可治理計算閉包。

本文提出:

Syntactic ClosureSemantic ClosureOperational ClosureGoverned Closure\boxed{ \text{Syntactic Closure} \neq \text{Semantic Closure} \neq \text{Operational Closure} \neq \text{Governed Closure} }

其中:

本文進一步分析算子的純度、效果、可逆性、冪等性、交換性、結合性、分配性與時序依賴。傳統代數律在涉及狀態、外部效果與權限後,不能無條件沿用。例如:

ωaωbωbωa\omega_a\circ\omega_b \neq \omega_b\circ\omega_a

寄信後再撤銷權限,與先撤銷權限再嘗試寄信,顯然不同。

本文使用算術、資料轉換、狀態更新、工作流、AI Agent 工具、醫療批准與物理裝置控制等案例,說明如何將靜態符號提升為帶有世界責任的算子。本文最後提出可證偽研究綱領,包括表面符號—算子身份錯配、組合合法性檢查、效果簽章完整度、閉包保持、AI 算子選擇、可逆性推導、治理算子建模、跨投影算子同一性與算子圖對事故預防的效果。

本文為下一篇〈語法—語意—效果〉建立算子地基:語法將被重新理解為算子形成規則,語意是算子所指向的世界關係,效果則是算子對數位與物理世界產生的差分。

關鍵詞: 符號、算子、計算閉包、組合、效果簽章、治理算子、程式語言本體論、後文本語言


Abstract

This paper argues that executable symbols are not merely characters or tokens. They are semantic operators with governed meaning.

An operator is modeled as:

ω=I,O,P,Q,E,A,V,C\omega = \left\langle I, O, P, Q, E, A, V, C \right\rangle

The paper distinguishes surface symbols, semantic symbols, and operator symbols; defines operator identity; develops six classes of operators; and formalizes composability beyond type compatibility.

It distinguishes syntactic, semantic, operational, and governed closure, and argues that a mature programming language should preserve effects, authorization, evidence, failure, and recovery through composition.

Keywords: symbols, operators, computational closure, composition, effect signatures, governed computation


一、問題的提出:符號何時才真正「能做事」

字元 + 本身不會加法。

單字 send 本身不會寄信。

圖形中的箭頭本身不會建立流程。

只有當符號被連接到:

它才成為可執行算子。

所以:

Visible Symbol⇏Executable Operator\boxed{ \text{Visible Symbol} \not\Rightarrow \text{Executable Operator} }

語言設計不能只問符號看起來像什麼,而必須問符號在世界中能做什麼。


二、算子的八元結構

本文定義:

ω=I,O,P,Q,E,A,V,C\boxed{ \omega = \left\langle I, O, P, Q, E, A, V, C \right\rangle }

2.1 輸入域 II

算子能接受什麼值、狀態、事件或世界實體。

2.2 輸出域 OO

算子會產生什麼值、狀態、事件或證據。

2.3 前置條件 PP

執行前世界必須滿足什麼。

2.4 後置條件 QQ

成功後應保證什麼。

2.5 效果 EE

算子可能:

2.6 授權 AA

誰可以在何種情境使用此算子。

2.7 驗證 VV

如何證明輸入、執行與結果合法。

2.8 組合規則 CC

算子可以與哪些算子、以何種順序與條件組合。


三、三層符號觀

3.1 表面符號

可以是:

3.2 語意符號

指向:

3.3 算子符號

能對世界或計算結構執行受規則約束的變換。

3.4 形成鏈

σsurfacebindσsemanticoperationalizeω\sigma_{\mathrm{surface}} \xrightarrow{\operatorname{bind}} \sigma_{\mathrm{semantic}} \xrightarrow{\operatorname{operationalize}} \omega

3.5 多表面投影

同一算子可投影為:

表面不同,不代表算子不同。


四、算子身份

本文提出:

Identity(ω)=(SemanticRole,InputType,OutputType,EffectSignature,Invariant,Version)Identity(\omega) = \left( SemanticRole, InputType, OutputType, EffectSignature, Invariant, Version \right)

4.1 名稱不足

兩個算子都叫 save,可能分別表示:

名稱相同不代表身份相同。

4.2 字元不足

符號 + 在不同語言中可能表示:

4.3 語意角色

算子必須綁定其問題世界角色,例如:

Money.Add
String.Concat
Set.Union
Permission.Grant

4.4 效果簽章

算子身份還應包含:

pure
reads-state
writes-state
emits-event
external-effect
physical-effect
governance-effect

4.5 版本

算子語意改變時,即使名稱不變,也可能成為新版本算子。


五、六類基礎算子

5.1 值算子

對值進行轉換:

ωv:XY\omega_v : X \rightarrow Y

例如:

5.2 結構算子

建立、連接、分解或重組結構:

5.3 狀態算子

改變權威狀態:

ωs:StSt+1\omega_s : S_t \rightarrow S_{t+1}

例如:

5.4 事件算子

形成、驗證、轉譯或路由事件:

5.5 效果算子

作用於外部數位或物理世界:

5.6 治理算子

改變誰能做什麼,以及規則如何生效:


六、傳統語言的算子偏置

6.1 值算子高度成熟

傳統語言擅長:

6.2 狀態算子部分顯式

狀態改變通常以:

表達,但其世界語意常被隱藏。

6.3 效果算子外掛化

寄信、付款、發布等效果通常只是一般函式呼叫,語言本身不知道其不可逆性與風險。

6.4 治理算子隱形

權限、批准與申訴常散落於:

6.5 算子語言的擴展

未來語言應把狀態、事件、效果與治理算子提升為一等結構,而非只靠命名慣例。


七、算子簽章

傳統函式簽章:

f:XYf : X \rightarrow Y

只描述輸入與輸出。

本文提出擴展算子簽章:

ω:IA,VP,E,QO\boxed{ \omega : I \xrightarrow[ A,V ]{P,E,Q} O }

其中:

7.1 失敗簽章

還可加入:

Fω={rejected,retryable,unknown,partial,irreversible}F_\omega = \left\{ rejected, retryable, unknown, partial, irreversible \right\}

7.2 時間簽章

Tω=deadline,timeout,effectiveTime,latencyT_\omega = \left\langle deadline, timeout, effectiveTime, latency \right\rangle

7.3 可恢復性簽章

reversible
compensatable
idempotent
reconstructable
irreversible

八、算子組合

給定:

ω1:I1O1\omega_1 : I_1 \rightarrow O_1

以及:

ω2:I2O2\omega_2 : I_2 \rightarrow O_2

O1O_1 可作為 I2I_2 ,則可考慮:

ω2ω1\omega_2 \circ \omega_1

但型別相容只是最低條件。

8.1 完整組合判準

Composable(ω1,ω2)    O1I2Q1P2Compatible(E1,E2)Authorized(A1,A2)Traceable(V1,V2)Composable \left( \omega_1,\omega_2 \right) \iff O_1\subseteq I_2 \land Q_1\models P_2 \land Compatible(E_1,E_2) \land Authorized(A_1,A_2) \land Traceable(V_1,V_2)

8.2 輸出—輸入相容

前一算子產物必須能被下一算子理解。

8.3 後置—前置接合

前一算子的保證,必須足以滿足下一算子的要求。

8.4 效果相容

效果不能破壞彼此假設。

8.5 授權可傳遞性

有權執行第一步,不代表有權執行第二步。

8.6 證據可追蹤

組合後應保留每一步的身份、事件與證據鏈。


九、型別相容不等於世界相容

例如:

chargeCard : PaymentRequest -> Receipt
sendReceipt : Receipt -> Message

型別上可組合。

但仍需知道:

所以:

TypeCompatible⇏WorldCompatible\boxed{ TypeCompatible \not\Rightarrow WorldCompatible }

完整語言需檢查世界語意與效果。


十、純算子與效果算子

10.1 純算子

純算子在相同輸入下產生相同輸出,且不修改外部狀態:

ωp(x)=y\omega_p(x)=y

10.2 效果算子

效果算子依賴或改變世界:

ωe(x,St)=(y,St+1,E)\omega_e \left( x,S_t \right) = \left( y,S_{t+1},E \right)

10.3 純度的價值

純算子較容易:

10.4 效果不可消失

效果算子不能被偽裝成純值函式。

10.5 效果邊界

可將純計算集中於內部,把外部效果集中於明示邊界,使責任與恢復更清楚。


十一、代數律在效果世界中的限制

11.1 結合律

若:

(ω3ω2)ω1=ω3(ω2ω1)(\omega_3\circ\omega_2)\circ\omega_1 = \omega_3\circ(\omega_2\circ\omega_1)

則組合順序的括號可改變而不改變結果。

但涉及:

時,不一定成立。

11.2 交換律

ωaωb=ωbωa\omega_a\circ\omega_b = \omega_b\circ\omega_a

對許多效果算子不成立。

例如先撤銷權限再寄信,與先寄信再撤銷權限不同。

11.3 冪等律

ωω=ω\omega\circ\omega = \omega

對讀取、設定狀態等算子可能成立;對付款、寄信與累加通常不成立。

11.4 分配律

效果、錯誤與時序可能使分配律失效。

11.5 語言責任

語言與型別系統應標示哪些律可安全使用,而不是把純數學直覺無條件帶入世界效果。


十二、可逆性

12.1 可逆算子

若存在 ω1\omega^{-1}

ω1ω=id\omega^{-1} \circ \omega = id

則稱其在特定域內可逆。

12.2 數位可逆

值轉換、局部狀態或未發布草稿可能可逆。

12.3 補償可逆

某些世界效果不能真正逆轉,只能透過補償接近原狀。

12.4 不可逆

例如:

12.5 可逆性簽章

算子應明示:

exactly-reversible
state-reversible
compensatable
explainable-only
irreversible

12.6 組合後可逆性

即使每個局部算子可逆,複合後也可能因外部觀測與時間而不可逆。


十三、冪等性

13.1 冪等算子

ω(ω(x))=ω(x)\omega(\omega(x)) = \omega(x)

13.2 世界冪等

世界冪等關心重複行動是否產生重複世界效果。

13.3 身份

冪等通常需要行動身份,而不只是相同資料。

13.4 條件冪等

算子可能只在:

冪等。

13.5 冪等性推導

複合算子是否冪等,不能只看單一算子,還需考慮順序與外部效果。


十四、時序算子

14.1 時間是算子條件

某些算子只在期限、窗口或狀態階段中合法。

14.2 等待算子

wait-until
wait-for-event
wait-for-human
wait-with-timeout

等待不是沒有執行,而是正式時間狀態。

14.3 超時算子

超時可產生:

14.4 排程算子

排程需保存:

14.5 時序組合

先後、並行、競爭、選擇與匯合應成為語言的一等組合方式。


十五、失敗算子

15.1 失敗不是無結果

算子可能產生正式失敗:

ω(x)Failure(f)\omega(x) \rightarrow Failure(f)

15.2 失敗處理算子

例如:

15.3 錯誤值與世界失敗

回傳 Error 是資料表示;真正世界失敗還包含:

15.4 組合中的失敗傳播

語言應明示:

15.5 失敗閉包

複合算子的失敗集合應可從子算子推導,而不是在 Runtime 才意外出現。


十六、治理算子

16.1 授權

grant(actor, capability, scope, time)

16.2 撤銷

revoke(actor, capability)

16.3 批准

把待定行動轉入可執行狀態。

16.4 申訴

對分類、拒絕或結果提出正式異議。

16.5 暫停

停止某主體或流程繼續產生效果。

16.6 修改規則

改變其他算子的合法性與效果。

16.7 高階性

治理算子是作用於算子、權限與規則之上的高階算子。

ωg:ΩΩ\omega_g : \Omega \rightarrow \Omega'

因此需更高層的版本、審核與證據。


十七、高階算子

17.1 算子接受算子

H:ΩΩH : \Omega \rightarrow \Omega

例如:

17.2 高階效果

高階算子可能改變:

17.3 retry 作為高階算子

Retryn(ω)Retry_n(\omega)

不能只重複呼叫,還需知道 ω\omega 是否安全重試。

17.4 authorize 作為高階算子

AuthorizeA(ω)Authorize_A(\omega)

將授權條件附加於算子。

17.5 audit 作為高階算子

Audit(ω)Audit(\omega)

應保存行動、事件、效果與證據,而不是只列印文字日誌。


十八、算子圖

18.1 定義

算子圖:

GΩ=(Ω,EC,ED,EF,EA)G_\Omega = \left( \Omega, E_C, E_D, E_F, E_A \right)

其中:

18.2 不只是呼叫圖

呼叫圖只表示誰呼叫誰。

算子圖還表示:

18.3 算子圖驗證

可檢查:

18.4 多尺度

高階算子可封裝子圖,並保留摘要簽章。


十九、計算閉包

19.1 基礎算子集合

給定:

Ω0={ω1,ω2,,ωn}\Omega_0 = \left\{ \omega_1,\omega_2,\ldots,\omega_n \right\}

與組合規則 C\mathcal C

19.2 閉包

Closure(Ω0,C)\boxed{ \operatorname{Closure} \left( \Omega_0, \mathcal C \right) }

表示所有可由基礎算子合法組成的複合算子。

19.3 語法閉包

只保證組合結果仍是合法語法結構。

19.4 語意閉包

組合後仍具有可理解的世界語意。

19.5 操作閉包

組合後能被 Runtime 執行。

19.6 治理閉包

組合後仍能推導:

19.7 四層不等價

Syntactic ClosureSemantic ClosureOperational ClosureGoverned Closure\boxed{ \text{Syntactic Closure} \neq \text{Semantic Closure} \neq \text{Operational Closure} \neq \text{Governed Closure} }

能編譯不代表能合法、安全、可追責地改變世界。


二十、閉包的保持條件

複合算子 Ω\Omega^\ast 應保持:

20.1 型別可推導

輸入與輸出仍可被判定。

20.2 條件可推導

整體前置與後置條件可由子算子合成。

20.3 效果可推導

能知道整體:

20.4 失敗可推導

失敗集合與傳播方式可見。

20.5 權限可推導

整體所需權限不應低於子算子要求。

20.6 證據可推導

能從複合結果追蹤回每個重要子效果。

20.7 恢復可推導

能知道:


二十一、封裝與抽象

21.1 封裝複合算子

一個複合子圖可以被封裝為高階算子。

21.2 摘要簽章

封裝後仍需對外揭露:

21.3 隱藏實作,不隱藏責任

抽象可以隱藏內部步驟,但不能隱藏外部效果與失敗責任。

21.4 洩漏抽象

若使用者必須知道大量內部細節才能正確使用算子,摘要簽章不完整。

21.5 危險抽象

把付款、刪除與發布包裝成普通 execute(),是把世界風險隱藏在名稱之下。


二十二、案例一:算術算子

22.1 加法

+:R×RR+ : \mathbb R\times\mathbb R \rightarrow \mathbb R

22.2 前置條件

在有限機器中仍需考慮:

22.3 單位算子

3 公尺 + 2 秒 在一般物理語意下不可組合。

型別系統可把量綱納入算子簽章。

22.4 金額

金額加法還需要相同幣別、精度與會計規則。

因此,即使最基本的 + 也不是脫離語意域的普遍靜態字元。


二十三、案例二:資料轉換

23.1 解析算子

ParseDate : Text -> Date

23.2 隱藏條件

仍需:

23.3 組合

Text
→ ParseDate
→ ConvertTimezone
→ ScheduleEvent

最後一步產生世界效果,不能因前兩步純計算而把整條鏈視為純算子。

23.4 證據

排程成功還需保存:


二十四、案例三:狀態更新

算子:

CompleteTask

其完整簽章應包含:

它不是單純:

task.completed = True

二十五、案例四:工作流組合

工作流:

ApproveRelease
→ DeployRelease
→ VerifyRelease
→ ShiftTraffic

25.1 組合條件

25.2 失敗

若部署成功但驗證失敗,需要:

25.3 閉包

整體 PublishRelease 算子必須暴露所有重要效果與失敗,而不能只回傳布林值。


二十六、案例五:AI Agent 工具

26.1 工具不是名稱集合

Agent 看見 send_email,還需知道:

26.2 算子選擇

Agent 應根據算子簽章與世界狀態選擇工具,而非只依自然語言名稱相似度。

26.3 組合計畫

計畫必須在執行前檢查:

26.4 高階治理

可使用:

RequireApproval(SendEmail)
Audit(DeleteFile)
RetrySafe(ReadWebPage)

將治理與恢復策略附加於工具算子。


二十七、案例六:醫療批准

算子:

ApproveTreatment

不是普通布林更新。

它包含:

這是治理算子與狀態算子的組合。


二十八、案例七:物理裝置控制

算子:

StartMotor

應具有:

若感測器無法確認,結果應是:

command-sent
physical-outcome-unverified

而非直接宣稱馬達已啟動。


二十九、主要失敗模式

  1. 字元即算子: 只憑外觀判定符號身份。
  2. 名稱即語意: 同名函式被假定具有相同世界角色。
  3. 型別即完整簽章: 只有輸入輸出,缺少條件、效果與權限。
  4. 型別相容即世界相容: 忽略後置—前置、效果與證據。
  5. 純度偽裝: 外部效果被隱藏在普通函式中。
  6. 效果外掛化: 語言無法直接表示付款、發布、權限與物理作用。
  7. 治理缺席: 批准、申訴與規則修改只存在於人工流程。
  8. 代數律濫用: 對效果算子錯誤假定交換、結合或冪等。
  9. 可逆性誤判: 數位狀態可回復便宣稱世界效果可逆。
  10. 補償等同逆算子: 忽略殘差、時間與人類影響。
  11. 冪等只看 payload: 不保存行動身份與作用域。
  12. 等待非狀態化: 長時等待只由執行緒或臨時記憶維持。
  13. 超時即失敗: 結果未知被誤判並盲目重試。
  14. 失敗集合隱藏: 複合算子可能失敗方式無法推導。
  15. 高階算子改變語意: retry、parallel 等包裝器未反映效果變化。
  16. 呼叫圖即算子圖: 缺少權限、效果、失敗與證據邊。
  17. 語法閉包冒充治理閉包: 能組合與編譯便宣稱可安全執行。
  18. 抽象隱藏責任: 封裝同時隱藏不可逆效果與失敗所有者。
  19. AI 依名稱選工具: 不檢查算子簽章與當前世界狀態。
  20. 物理命令僭位: 命令送出被當成物理效果成立。
  21. 算子版本無身份: 語意改變卻沿用舊名稱與契約。
  22. 多投影身份分裂: 文字、圖形與機器節點無法確認是否為同一算子。

三十、可證偽研究綱領

30.1 表面符號—算子身份錯配

統計同名、同字元或同圖示在不同上下文中實際對應不同算子的比例。

30.2 算子簽章完整度

對八元算子結構評分:

Cω=declared operator dimensions8C_\omega = \frac{ |\text{declared operator dimensions}| }{ 8 }

研究其與事故率、重構成本、AI 工具誤用率的關係。

30.3 組合合法性檢查

比較只做型別檢查,以及同時檢查條件、效果、權限與證據的系統,對錯誤組合的檢出能力。

30.4 效果簽章完整率

統計高風險函式中,有多少能明示:

30.5 代數律有效域

對實際算子測量結合、交換、冪等與分配性成立的條件與失效範圍。

30.6 可逆性推導

比較人工判斷與結構化算子簽章,對複合工作流可逆、可補償與不可逆的判定準確率。

30.7 閉包保持率

檢查複合算子是否仍能推導:

30.8 語法閉包—治理閉包差異

統計可編譯工作流中,有多少缺少合法授權、責任或恢復結構。

30.9 算子圖事故預防

比較呼叫圖與完整算子圖,在發現越權、不可逆效果、失敗中斷與無擁有者責任上的能力。

30.10 AI 算子選擇

比較 AI 只依名稱與描述選工具,以及依完整算子簽章與世界狀態選擇工具的正確率。

30.11 高階算子安全性

測量 retry、parallelize、cache、authorize、audit 等高階算子是否正確保持原算子的效果與失敗語意。

30.12 治理算子可見性

統計批准、撤銷、申訴、暫停與規則修改在系統中有多少被正式建模,而非隱藏於人工作業。

30.13 跨投影算子同一性

將同一算子投影為文字、圖形、語音與機器節點,測量身份、語意與版本保持。

30.14 物理算子驗證

比較只記錄命令送出與同時記錄感測確認、安全不變量及物理證據的控制系統。


三十一、本文的二十二項命題

  1. 符號不等於字元或 token。
  2. 可執行符號是具有受治理語意的算子。
  3. 算子至少包含輸入、輸出、前置、後置、效果、授權、驗證與組合。
  4. 同一算子可以具有文字、圖形、語音與機器等多種表面投影。
  5. 表面符號相同不保證算子身份相同。
  6. 算子身份應由語意角色、型別、效果、不變量與版本共同決定。
  7. 程式語言需要值、結構、狀態、事件、效果與治理等多類算子。
  8. 傳統語言高度形式化值算子,卻常隱藏效果與治理算子。
  9. 型別簽章不足以描述世界算子。
  10. 算子組合需要輸出—輸入、前後條件、效果、授權與證據同時相容。
TypeCompatible⇏WorldCompatibleTypeCompatible \not\Rightarrow WorldCompatible
  1. 純算子與效果算子應在語言中明確區分。
  2. 交換、結合、冪等與分配等代數律只在明示條件域內成立。
  3. 數位可逆、可補償與世界不可逆是不同性質。
  4. 時間、等待、超時與結果未知應成為正式算子結構。
  5. 失敗集合與失敗傳播應能由複合算子推導。
  6. 治理算子是作用於權限、規則與其他算子的高階算子。
  7. 算子圖比呼叫圖多保存效果、權限、失敗與證據。
  8. 語法閉包、語意閉包、操作閉包與治理閉包互不等同。
  9. 抽象可以隱藏實作,但不能隱藏外部責任與不可逆效果。
  10. AI 應根據算子簽章與世界狀態選擇工具,而非只依名稱相似度。
程式語言中的符號,\boxed{ \text{程式語言中的符號,} } 不是靜止地代表某個意思,\boxed{ \text{不是靜止地代表某個意思,} } 而是在明示條件與責任下,\boxed{ \text{而是在明示條件與責任下,} } 對可計算世界施加可組合變換。\boxed{ \text{對可計算世界施加可組合變換。} }

三十二、與前後篇的關係

32.1 承接 PU-2-01

PU-2-01 將文字降為程式結構的一種投影。

本篇進一步把表面符號與權威算子分開,說明同一算子可以擁有多種投影。

32.2 承接第 1 冊

第 1 冊建立了狀態、事件、責任、契約、失敗與恢復。

本篇把這些結構納入算子簽章,使語言中的操作不再只是值轉換,而能承載世界責任。

32.3 銜接 PU-2-03

下一篇將建立:

SyntaxSemanticsEffects\boxed{ \text{Syntax} \rightarrow \text{Semantics} \rightarrow \text{Effects} }

並回答:


三十三、結論:符號不是被閱讀的標記,而是被治理的變換

人類看到符號時,容易先注意它的外觀。

機器處理符號時,容易先辨認它的 token 與語法位置。

但對真正的程式語言而言,符號的核心不在於它長什麼樣,而在於它能對什麼施加何種合法變換。

因此:

Symbol IdentityVisual Identity\boxed{ \text{Symbol Identity} \neq \text{Visual Identity} }

符號需要被提升為算子,並保存:

這會使程式語言從「操作文字」進一步轉化為「組合世界變換」。

本文將算子語言收束為:

Operator Language=Typed Transformation+World Preconditions+Effect Signature+Authorization+Evidence+Composition Law\boxed{ \text{Operator Language} = \text{Typed Transformation} + \text{World Preconditions} + \text{Effect Signature} + \text{Authorization} + \text{Evidence} + \text{Composition Law} }

當多個算子被組合時,真正需要保持的不只是型別,也包括:

因此,計算閉包也不應只表示「還能形成更多合法式子」,而應表示:

由一組基礎算子生成的所有複合結構,仍可被理解、執行、驗證、追責與恢復。

本文最終命題是:

語言的力量,\boxed{ \text{語言的力量,} } 不只來自它擁有多少符號,\boxed{ \text{不只來自它擁有多少符號,} } 而來自它能否讓符號在組合後,\boxed{ \text{而來自它能否讓符號在組合後,} } 仍保存世界語意與責任。\boxed{ \text{仍保存世界語意與責任。} }

附錄 A:算子描述格式

operator:
  operator_id: "send-message-v2"
  semantic_role: "external-message-delivery"

  input:
    - "recipient"
    - "message-content"

  output:
    - "delivery-attempt"

  preconditions:
    - "recipient is resolved"
    - "content policy passed"

  postconditions:
    - "delivery attempt is recorded"

  effects:
    external:
      - "message may become visible to recipient"
    irreversible: true

  authorization:
    required:
      - "message-send-capability"

  verification:
    evidence:
      - "provider receipt"

  composition:
    retry:
      safe: "only-with-same-action-id"
    compensation:
      available: false

附錄 B:算子組合檢查

composition_check:
  first: "AuthorizePayment"
  second: "MarkOrderPaid"

  compatibility:
    output_input: true
    post_precondition: true
    effects: true
    authorization: true
    evidence_trace: true

  composed_effects:
    - "external-bank-authorization"
    - "order-state-write"

  failure_union:
    - "PaymentDeclined"
    - "PaymentOutcomeUnknown"
    - "OrderVersionConflict"

  reversible: false
  compensatable: true

附錄 C:計算閉包層級

closure:
  base_operators:
    - "ValidateOrder"
    - "AuthorizePayment"
    - "RecordPayment"
    - "NotifyCustomer"

  levels:
    syntactic:
      closed: true

    semantic:
      closed: true

    operational:
      closed: true

    governed:
      closed: false
      missing:
        - "human approval for high-value payment"
        - "compensation owner for duplicate charge"

附錄 D:算子圖節點

operator_node:
  id: "DeployRelease"
  class: "effect-operator"

  signature:
    input: "ApprovedRelease"
    output: "DeploymentState"

  effects:
    - "writes deployment state"
    - "calls infrastructure"
    - "may shift physical compute resources"

  failures:
    - "DeploymentRejected"
    - "DeploymentPartial"
    - "OutcomeUnknown"

  governance:
    authorization: "production-deploy"
    approval_required: true

  recovery:
    rollback: "conditional"
    compensation: "traffic-shift-back"

附錄 E:第 2 冊六篇位置

  1. PU-2-01 程式語言不等於文字:結構、語意與執行的基本分離
  2. PU-2-02 符號作為算子:從靜態字元到可組合計算閉包
  3. PU-2-03 語法—語意—效果:程式語言的三層存在結構
  4. PU-2-04 意圖中介表示:從自然意圖到多重可執行投影
  5. PU-2-05 可編譯世界:程式執行作為世界狀態差分
  6. PU-2-06 後文本程式語言:意圖、結構、驗證與物理耦合的統一框架

參考文獻

Neo.K/EveMissLab 相關理論

  1. Neo.K with Aletheia,《程式語言不等於文字:結構、語意與執行的基本分離》,2026。
  2. Neo.K with Aletheia,《程式不等於程式碼:可執行問題模型的基本定義》,2026。
  3. Neo.K with Aletheia,《資料—狀態—事件—行動:程式系統的四元動力結構》,2026。
  4. Neo.K with Aletheia,《責任、模組與契約:從檔案分類到系統邊界》,2026。
  5. Neo.K with Aletheia,《失敗也是程式:驗證、可觀測、恢復與長期維護》,2026。
  6. Neo.K with Aletheia,《分域結構論》,2026。
  7. Neo.K with Aletheia,《算子本體論》,2026。

一般理論背景

  1. Church, A., “An Unsolvable Problem of Elementary Number Theory,” 1936.
  2. Turing, A. M., “On Computable Numbers, with an Application to the Entscheidungsproblem,” 1936.
  3. Curry, H. B. and Feys, R., Combinatory Logic, 1958.
  4. Mac Lane, S., Categories for the Working Mathematician, 1971.
  5. Scott, D. and Strachey, C., “Toward a Mathematical Semantics for Computer Languages,” 1971.
  6. Moggi, E., “Notions of Computation and Monads,” 1991.
  7. Wadler, P., “The Essence of Functional Programming,” 1992.
  8. Plotkin, G. D. and Power, J., “Algebraic Operations and Generic Effects,” 2003.
  9. Pierce, B. C., Types and Programming Languages, 2002.
  10. Hoare, C. A. R., “An Axiomatic Basis for Computer Programming,” 1969.
  11. Milner, R., Communicating and Mobile Systems: The Pi-Calculus, 1999.
  12. Reynolds, J. C., Theories of Programming Languages, 1998.
  13. Backus, J., “Can Programming Be Liberated from the von Neumann Style?”, 1978.

版本紀錄

v0.1 — 2026-07-27