# 「又」的邏輯：持續、曾經、離開、返回與歷史路徑算子

**English Title:** The Logic of Again: Persistence, Prior Occurrence, Departure, Return, and Historical Path Operators  
**Series:** Domain-Transition Information Logic, Paper II  
**Author:** Neo.K  
**Collaborator:** Aletheia (GPT-5.6 Sol)  
**Institution:** EveMissLab / 一言諾科技有限公司  
**Version:** v0.1  
**Date:** 2026-08-10  
**Status:** Series II — Path-Operator Paper

## 摘要

Series II / Paper I 已建立 Domain-Transition Information Logic（DTIL）的基本區分：Q4 四態是局部狀態字母；\(\mathbf B\) 是同一局部判定域中的支持／反證並存；而 \(\mathbf Y\rightsquigarrow\mathbf N\) 是具有方向與歷史的狀態轉移。該篇並指出：

\[
\boxed{
\text{same current state}
\neq
\text{same historical information state}.
}
\]

本文進一步研究這個差異最簡單、卻最容易被自然語言壓縮掉的一組歷史算子：「又、仍、曾、已」。

本文不試圖聲稱這四個中文字存在唯一、完整、固定的形式語義。自然語言中的「又／仍／曾／已」具有豐富的時態、體貌、語用與篇章功能。本文僅從 DTIL 的技術需求中抽取四類工作算子：

\[
\boxed{
\mathsf{Once},
\quad
\mathsf{Still},
\quad
\mathsf{Again},
\quad
\mathsf{Completed}.
}
\]

其中：

- \(\mathsf{Once}_q\)：狀態 \(q\) 曾在嚴格過去出現；
- \(\mathsf{Still}_q\)：從指定參考點起持續保持 \(q\)，期間沒有離開；
- \(\mathsf{Again}_q\)：目前為 \(q\)，且歷史中曾為 \(q\)、離開過 \(q\)、之後返回 \(q\)；
- \(\mathsf{Completed}_q\)：某個導向 \(q\) 的指定 transition / event 已完成，且其完成狀態在指定參考框架中仍有效。

本文進一步區分 **Return Event** 與 **Again State**：返回事件只在重新進入 \(q\) 的邊界瞬間成立，而 Again 狀態可在返回後持續保持。由此建立一套最小路徑代數：

\[
\mathsf{Stay},
\mathsf{Leave},
\mathsf{Enter},
\mathsf{Reverse},
\mathsf{Return},
\mathsf{Recur}.
\]

本文亦定義不同強度的「返回」：

\[
R_Q,\quad
R_J,\quad
R_\Psi,\quad
R_\Sigma,
\]

分別表示 Q4 狀態返回、判定域保持下的返回、語義身份保持下的返回，以及完整信息狀態返回。這使「見 \(X\) 又是 \(X\)」可以被精確表達為：分類投影返回，但並不必然是完整信息身份返回。

Past-time temporal logic 早已研究過 past operators，近期帶 perfect recall 的 temporal-epistemic model checking 更直接指出：兩條 histories 即使終止於同一 system state，past formulas 仍可能具有不同真值，因此必須追蹤額外的歷史 automaton state。本文因此不把「歷史算子」或「Once / Since」本身作為新穎性主張。本文較窄的工作是：將 path-sensitive operators 嵌入 Q4、Judgment Domain、Semantic Identity 與 transition-cause labels 的統一狀態模型，形成後續 MIF 歷史序列與「是又不是／不是又是」代數的基本操作層。

**關鍵詞：** Again Operator；Still；Once；歷史算子；路徑語義；Q4；判定域；DTIL；返回；持續；狀態機；MIF

---

# 1. 問題：一個「又」到底增加了什麼資訊？

比較：

\[
\text{X 是 Y}
\]

與：

\[
\text{X 又是 Y}.
\]

若兩句話在當前時刻都投影為：

\[
\nu_t(X)=\mathbf Y,
\]

那麼：

\[
\pi_{\mathrm{now}}
\]

看不出差異。

然而「又」至少暗示：

\[
\boxed{
\text{current state}
+
\text{a relevant prior occurrence}.
}
\]

更嚴格的「返回型又」還暗示：

\[
\boxed{
\text{prior occurrence}
+
\text{departure}
+
\text{return}.
}
\]

因此「又」攜帶的不是額外真值位元，而是：

\[
\boxed{
\text{path information}.
}
\]

---

# 2. 基本歷史模型

令：

\[
Q
=
\mathbb Q_4
=
\{
\mathbf Y,\mathbf N,\mathbf B,\mathbf U
\}.
\]

一條有限歷史：

\[
\boxed{
H_k
=
(q_0,q_1,\ldots,q_k),
\qquad
q_i\in Q.
}
\]

當前狀態：

\[
\operatorname{Now}(H_k)
=
q_k.
\]

若只保存：

\[
q_k,
\]

則所有具有相同終點的歷史都被壓縮在一起。

例如：

\[
(\mathbf Y),
\]

\[
(\mathbf N,\mathbf Y),
\]

\[
(\mathbf Y,\mathbf N,\mathbf Y),
\]

\[
(\mathbf B,\mathbf U,\mathbf N,\mathbf Y)
\]

全部有：

\[
\operatorname{Now}
=
\mathbf Y.
\]

但顯然不是同一條歷史。

---

# 3. Current-State Equivalence

定義：

\[
\boxed{
H\sim_{\mathrm{now}}H'
}
\]

當且僅當：

\[
\operatorname{Now}(H)
=
\operatorname{Now}(H').
\]

這是一個很粗的等價關係。

它只回答：

> 現在是不是同一個局部狀態？

而不回答：

> 是怎麼到這裡的？

因此：

\[
\boxed{
H\sim_{\mathrm{now}}H'
\not\Rightarrow
H\sim_{\mathrm{history}}H'.
}
\]

---

# 4. Past-Time Logic 已經證明這種差異是實質的

Past-time temporal logic 早已允許公式直接依賴過去路徑，而不是只依賴當前 state。LTL with Past 的 path checking 與 monitoring 已有成熟研究。([arxiv.org](https://arxiv.org/abs/1210.0574))

更直接的是 2026 年對 epistemic metric temporal logic with past 的研究：在 synchronous perfect-recall semantics 下，past formulas 可以在**終止於相同 system state 的不同 histories 上具有不同真值**，因此 model checker 必須追蹤 temporal automaton states，而不能只追蹤當前 system state。([arxiv.org](https://arxiv.org/abs/2607.13981))

所以：

\[
\boxed{
\text{same endpoint}
\neq
\text{same past-sensitive logical state}
}
\]

並不是本文單獨的直覺。

它是歷史敏感邏輯的一個實質計算現象。

---

# 5. \(\mathsf{Once}\)：曾經

先定義最簡單的 past operator。

對：

\[
q\in Q,
\]

定義：

\[
\boxed{
\mathsf{Once}_q(H_k)=1
}
\]

當且僅當：

\[
\exists i<k:
q_i=q.
\]

注意這裡採用：

\[
i<k
\]

而不是：

\[
i\le k.
\]

因此它表示：

\[
\boxed{
\text{strict-past occurrence}.
}
\]

若只想表示「歷史到目前為止曾包含 \(q\)，包括現在」，可以另外定義：

\[
\mathsf{Ever}_q.
\]

---

# 6. \(\mathsf{Ever}\)：截至目前曾出現

定義：

\[
\boxed{
\mathsf{Ever}_q(H_k)=1
}
\]

當且僅當：

\[
\exists i\le k:
q_i=q.
\]

因此：

\[
\mathsf{Once}_q(H_k)
\Rightarrow
\mathsf{Ever}_q(H_k),
\]

但反向不一定。

例如：

\[
H=(\mathbf N,\mathbf Y).
\]

在最後位置：

\[
\mathsf{Ever}_{\mathbf Y}=1,
\]

但：

\[
\mathsf{Once}_{\mathbf Y}=0.
\]

因為 \(\mathbf Y\) 只在現在第一次出現。

---

# 7. 「曾是」不代表「現在是」

若：

\[
\mathsf{Once}_{\mathbf Y}(H)=1,
\]

不能推出：

\[
\operatorname{Now}(H)=\mathbf Y.
\]

例如：

\[
H=(\mathbf Y,\mathbf N).
\]

有：

\[
\mathsf{Once}_{\mathbf Y}=1,
\]

但：

\[
\operatorname{Now}
=
\mathbf N.
\]

因此：

\[
\boxed{
\text{Past occurrence}
\neq
\text{current persistence}.
}
\]

---

# 8. \(\mathsf{Still}\)：仍然保持

「仍」需要一個 reference anchor。

否則：

> 從什麼時候開始算「仍然」？

並不明確。

因此對：

\[
a\le k
\]

定義：

\[
\boxed{
\mathsf{Still}_q(H_k;a)=1
}
\]

當且僅當：

\[
\forall i\in[a,k]:
q_i=q.
\]

也就是從 reference point \(a\) 到現在沒有離開 \(q\)。

---

# 9. 全歷史 Still

如果：

\[
a=0,
\]

則：

\[
\boxed{
\mathsf{Still}_q^{0}(H_k)
}
\]

表示：

\[
q_0=q_1=\cdots=q_k=q.
\]

這是一個非常強的 persistence。

自然語言中的「仍是」通常不一定從整段歷史起點計算，因此：

\[
\mathsf{Still}_q^0
\]

只是一種技術特例。

---

# 10. \(\mathsf{Stay}\)：一步持續

定義 elementary edge：

\[
\boxed{
\mathsf{Stay}(q):
q\rightarrow q.
}
\]

若：

\[
q_{k-1}=q_k=q,
\]

則：

\[
\mathsf{Stay}_q(k)=1.
\]

注意：

\[
\mathsf{Stay}_q(k)
\]

只表示一個 step 的持續。

而：

\[
\mathsf{Still}_q(H;a)
\]

表示整個 interval 的持續。

---

# 11. \(\mathsf{Leave}\)：離開

定義：

\[
\boxed{
\mathsf{Leave}_q(k)=1
}
\]

當且僅當：

\[
q_{k-1}=q
\]

且：

\[
q_k\neq q.
\]

也就是：

\[
\boxed{
q
\rightarrow
Q\setminus\{q\}.
}
\]

它只要求離開，不指定去了哪一態。

---

# 12. \(\mathsf{Enter}\)：進入

定義：

\[
\boxed{
\mathsf{Enter}_q(k)=1
}
\]

當且僅當：

\[
q_{k-1}\neq q
\]

且：

\[
q_k=q.
\]

因此：

\[
\mathsf{Enter}_q
\]

表示：

\[
\boxed{
Q\setminus\{q\}
\rightarrow
q.
}
\]

---

# 13. \(\mathsf{Reverse}\)：指定反轉

若：

\[
q\neq r,
\]

定義：

\[
\boxed{
\mathsf{Reverse}_{q\to r}(k)=1
}
\]

當且僅當：

\[
q_{k-1}=q,
\qquad
q_k=r.
\]

例如：

\[
\mathsf{Reverse}_{\mathbf Y\to\mathbf N}.
\]

這就是最小的：

\[
\boxed{
\text{Is-Then-Not}
}
\]

transition event。

反向：

\[
\mathsf{Reverse}_{\mathbf N\to\mathbf Y}
\]

就是：

\[
\boxed{
\text{Not-Then-Is}.
}
\]

---

# 14. \(\mathsf{ReturnEvent}\)：返回事件

一個普通：

\[
\mathsf{Enter}_q
\]

不一定是「返回」。

因為可能是第一次進入 \(q\)。

所以定義：

\[
\boxed{
\mathsf{ReturnEvent}_q(k)=1
}
\]

當且僅當：

\[
\mathsf{Enter}_q(k)=1
\]

且存在：

\[
i<k-1
\]

使：

\[
q_i=q.
\]

亦即：

> 現在進入 \(q\)，而且這不是第一次曾經處於 \(q\)。

---

# 15. \(\mathsf{Again}\)：返回後的歷史狀態

現在定義：

\[
\boxed{
\mathsf{Again}_q(H_k)=1
}
\]

當且僅當：

\[
q_k=q
\]

且存在：

\[
i<j<k
\]

使：

\[
q_i=q,
\]

\[
q_j\neq q.
\]

因為當前：

\[
q_k=q,
\]

所以存在：

\[
q
\rightarrow
\cdots
\rightarrow
\neg q
\rightarrow
\cdots
\rightarrow
q.
\]

這就是嚴格的：

\[
\boxed{
\text{return-type Again}.
}
\]

---

# 16. Return Event 與 Again State 不同

如果：

\[
\mathsf{ReturnEvent}_q(k)=1,
\]

則在 \(k\)：

\[
\mathsf{Again}_q(H_k)=1.
\]

但是反向不成立。

例如：

\[
H
=
(q,r,q,q,q).
\]

在第一次重新進入 \(q\) 的位置：

\[
k=2
\]

有 Return Event。

但在：

\[
k=3,4
\]

雖然沒有新的 Return Event，

仍有：

\[
\mathsf{Again}_q=1.
\]

因此：

\[
\boxed{
\text{Return Event}
\neq
\text{Again State}.
}
\]

---

# 17. 「又」會持續嗎？

依本文的嚴格歷史定義：

只要返回歷史仍被保留，而且當前仍為 \(q\)，

則：

\[
\mathsf{Again}_q=1.
\]

所以：

\[
(q,r,q,q,q)
\]

最後三個位置都可以滿足 Again。

這不是說自然語言每一句都會持續說「又」。

而是說 DTIL 內部的 history flag：

\[
\boxed{
returned\_to\_q=true
}
\]

在再次離開以前可以保持。

---

# 18. 「又」與「仍」可以同時成立

乍看：

\[
\text{Again}
\]

和：

\[
\text{Still}
\]

似乎矛盾。

其實取決於 reference anchor。

考慮：

\[
H=(q,r,q,q,q).
\]

在：

\[
k=4
\]

有：

\[
\mathsf{Again}_q=1.
\]

如果 Still 的 anchor 設在返回時刻：

\[
a=2,
\]

則：

\[
\mathsf{Still}_q(H;2)=1.
\]

所以：

\[
\boxed{
\mathsf{Again}_q
\land
\mathsf{Still}_q(\cdot;a)
}
\]

可以同時成立。

其意思是：

> 它曾離開、後來返回，而且自返回以後仍一直保持。

---

# 19. 但全歷史 Still 與 Again 不相容

若採：

\[
\mathsf{Still}_q^0,
\]

則：

\[
\mathsf{Still}_q^0(H)=1
\]

要求整段歷史從未離開 \(q\)。

而：

\[
\mathsf{Again}_q(H)=1
\]

要求至少曾經離開 \(q\)。

所以：

\[
\boxed{
\mathsf{Still}_q^0
\Rightarrow
\neg\mathsf{Again}_q.
}
\]

---

# 20. \(\mathsf{Again}\) 必然包含 \(\mathsf{Once}\)

由定義直接有：

\[
\boxed{
\mathsf{Again}_q(H)
\Rightarrow
\mathsf{Once}_q(H).
}
\]

因為返回要求過去已經存在 \(q\)。

也有：

\[
\boxed{
\mathsf{Again}_q(H)
\Rightarrow
\operatorname{Now}(H)=q.
}
\]

但：

\[
\mathsf{Once}_q
\land
Now_q
\]

仍然不一定推出 Again。

---

# 21. Once + Now 為什麼還不夠？

例如：

\[
H=(q,q,q).
\]

有：

\[
\mathsf{Once}_q=1,
\]

也有：

\[
Now_q=1.
\]

但從未離開 \(q\)。

所以：

\[
\mathsf{Again}_q=0.
\]

因此：

\[
\boxed{
\mathsf{Again}_q
=
Now_q
+
Prior(q)
+
Departure(q).
}
\]

更精確地說：

\[
\boxed{
\mathsf{Again}_q
=
Now_q
\land
\exists\text{ prior }q
\land
\exists\text{ intervening non-}q.
}
\]

---

# 22. 用 Past Operators 表示 Again

若使用一個 strict-past existential operator：

\[
\mathbf P\phi
\]

表示：

> 嚴格過去某時 \(\phi\) 成立，

則嚴格返回型 Again 可表示成類似：

\[
\boxed{
q
\land
\mathbf P
(
\neg q
\land
\mathbf P q
).
}
\]

因此：

\[
\boxed{
\text{Again as a pure temporal path pattern}
}
\]

可以由既有 past-time temporal machinery 表達。

本文不把這一點宣稱為全新的 temporal connective。

---

# 23. 本文為何仍保留獨立 Again Operator？

因為 DTIL 不只需要知道：

\[
q\rightarrow\neg q\rightarrow q.
\]

還需要查詢：

- 返回的是哪一層身份？
- 判定域是否相同？
- semantic referent 是否相同？
- 為什麼離開？
- 為什麼返回？
- 返回次數？
- 中途經過哪些 Q4 states？

所以：

\[
\mathsf{Again}
\]

在 runtime 中可以是一個：

\[
\boxed{
\text{compiled history predicate}.
}
\]

它的底層可由 temporal logic 或 finite-state monitor 實作。

---

# 24. \(\mathsf{Completed}\)：技術性的「已」

自然語言的「已／已經」具有豐富體貌功能。

本文不把中文「已」簡化成單一真值 operator。

只定義一個較窄的工程算子：

\[
\boxed{
\mathsf{Completed}_e(H_k)=1
}
\]

表示：

> 指定 event / transition \(e\) 已在參考歷史中完成。

若 \(e\) 是：

\[
\mathsf{Enter}_q,
\]

則可以定義：

\[
\mathsf{CompletedEnter}_q(H_k).
\]

---

# 25. 「已是 q」的技術讀法

一個工作版本：

\[
\boxed{
\mathsf{Already}_q(H_k;a)
=
Now_q(H_k)
\land
\exists j\in[a,k]:
\mathsf{Enter}_q(j).
}
\]

其意思是：

> 在參考區間開始後，進入 \(q\) 的 transition 已經發生，而且現在仍處於 \(q\)。

這不是中文「已是」全部語義。

它只是一個：

\[
\boxed{
\text{completed-transition reading}.
}
\]

---

# 26. Already 與 Again 的差異

\[
\mathsf{Already}_q
\]

只要求：

> 某次進入 \(q\) 已發生。

它可能是第一次進入。

而：

\[
\mathsf{Again}_q
\]

要求：

> 以前曾為 \(q\)，離開，再返回。

例如：

\[
H=(r,q).
\]

可以有：

\[
\mathsf{Already}_q=1,
\]

但：

\[
\mathsf{Again}_q=0.
\]

所以：

\[
\boxed{
\text{Already}
\neq
\text{Again}.
}
\]

---

# 27. 最小歷史算子表

第一版可整理為：

\[
\boxed{
\mathcal O_H
=
\{
Now,
Once,
Ever,
Still,
Leave,
Enter,
Reverse,
ReturnEvent,
Again,
Completed
\}.
}
\]

這些 operator 不全是同一 type。

可以分成：

### State Predicates

\[
Now,
Once,
Ever,
Still,
Again.
\]

### Edge / Event Predicates

\[
Leave,
Enter,
Reverse,
ReturnEvent.
\]

### Completion Predicates

\[
Completed.
\]

---

# 28. Type Discipline 很重要

若不分 operator type，

很快會出現沒有意義的組合，例如：

\[
\mathsf{Again}(\mathsf{Again}(q)).
\]

本文暫時讓：

\[
\mathsf{Again}_q
\]

只接受：

\[
q\in Q
\]

或指定 classification predicate，

而不是任意高階 temporal formula。

未來若擴張成完整 temporal logic，再另行定義 typing rule。

---

# 29. 路徑的 Stutter

考慮：

\[
H_1=(q,r,q),
\]

\[
H_2=(q,q,r,r,r,q,q).
\]

若忽略持續時間，

它們有相同 state-change skeleton：

\[
q\rightarrow r\rightarrow q.
\]

所以定義 stutter reduction：

\[
\boxed{
\operatorname{red}(H)
}
\]

刪除相鄰連續重複狀態。

因此：

\[
\operatorname{red}(H_1)
=
\operatorname{red}(H_2)
=
(q,r,q).
\]

---

# 30. Stutter Reduction 保存什麼？

它保存：

- 狀態變化順序；
- departure；
- return；
- reversal pattern。

但丟失：

- 每個狀態持續多久；
- exact timestamps；
- dwell time。

因此：

\[
\boxed{
\text{event pattern}
\neq
\text{temporal duration}.
}
\]

DTIL runtime 可以同時保存：

\[
H
\]

與：

\[
\operatorname{red}(H).
\]

---

# 31. Again 對 Stutter 不敏感

在上述例子中：

\[
\mathsf{Again}_q(H_1)
=
\mathsf{Again}_q(H_2)
=
1.
\]

所以基本 Again 只依賴：

\[
\operatorname{red}(H).
\]

但：

\[
\mathsf{Still}_q(H;a)
\]

若加入 metric / duration 條件，就可能對 dwell time 敏感。

因此未來可分：

\[
\boxed{
\text{qualitative path operators}
}
\]

與：

\[
\boxed{
\text{metric path operators}.
}
\]

---

# 32. 返回次數

定義：

\[
\boxed{
R_q(H)
=
\#\{
k:
\mathsf{ReturnEvent}_q(k)=1
\}.
}
\]

例如：

\[
H=(q,r,q,s,q)
\]

有：

\[
R_q(H)=2.
\]

因此：

\[
\mathsf{Again}_q
\]

只回答：

> 是否至少返回過一次？

而：

\[
R_q
\]

回答：

> 返回過幾次？

---

# 33. \(\mathsf{Recur}\)：反覆返回

定義：

\[
\boxed{
\mathsf{Recur}_q^{(n)}(H)=1
}
\]

當且僅當：

\[
R_q(H)\ge n.
\]

因此：

\[
\mathsf{Again}_q
\]

可以視為：

\[
\mathsf{Recur}_q^{(1)}
\]

加上當前仍為 \(q\) 的條件。

---

# 34. 返回不一定是立即反轉

例如：

\[
q
\rightarrow
r
\rightarrow
s
\rightarrow
u
\rightarrow
q.
\]

這仍是：

\[
\mathsf{Again}_q.
\]

所以 Again 不要求：

\[
q\rightarrow r\rightarrow q
\]

只有兩跳。

它要求的是：

\[
\boxed{
q
\rightarrow
(Q\setminus\{q\})^\ast
\rightarrow
q.
}
\]

---

# 35. 四態下的返回路徑

例如：

\[
\mathbf Y
\rightarrow
\mathbf B
\rightarrow
\mathbf N
\rightarrow
\mathbf U
\rightarrow
\mathbf Y.
\]

這仍是：

\[
\mathsf{Again}_{\mathbf Y}=1.
\]

但它比：

\[
\mathbf Y
\rightarrow
\mathbf N
\rightarrow
\mathbf Y
\]

具有更豐富 transition history。

所以：

\[
\boxed{
\text{Again}
}
\]

不是完整歷史。

它只是一個 history query。

---

# 36. 同一 Again 可以有不同原因路徑

Series II / Paper I 已定義 transition labels：

\[
\Lambda
=
\{
E,W,J,\Psi,M
\}.
\]

因此：

\[
\mathbf Y
\xrightarrow{E}
\mathbf N
\xrightarrow{E}
\mathbf Y
\]

與：

\[
\mathbf Y
\xrightarrow{J}
\mathbf N
\xrightarrow{J}
\mathbf Y
\]

都滿足：

\[
\mathsf{Again}_{\mathbf Y}.
\]

但 causal histories 不同。

因此：

\[
\boxed{
\text{same return pattern}
\neq
\text{same causal history}.
}
\]

---

# 37. 返回的四個強度

現在加入非常重要的區分。

假設：

\[
\widehat\Sigma_t
=
(
\Psi_t,
\mathcal J_t,
E_t,
W_t,
q_t,
H_t
).
\]

對兩個時刻：

\[
i<k
\]

且：

\[
q_i=q_k,
\]

我們可以問「究竟返回了多少層？」

---

# 38. Level 0：Q4 State Return

定義：

\[
\boxed{
R_Q(i,k)
}
\]

若：

\[
q_i=q_k
\]

且中間曾離開該 q。

這是最弱的「又」。

只表示：

\[
\boxed{
\text{local-state label returned}.
}
\]

---

# 39. Level 1：Judgment-Domain Return

定義：

\[
\boxed{
R_J(i,k)
}
\]

要求：

\[
R_Q(i,k)
\]

且：

\[
\mathcal J_i
\equiv
\mathcal J_k.
\]

這表示：

> 不只 Q4 state 回來了，使用的判定域也相同或被視為等價。

---

# 40. Level 2：Semantic-Identity Return

定義：

\[
\boxed{
R_\Psi(i,k)
}
\]

要求：

\[
R_J(i,k)
\]

且：

\[
\Psi_i
\equiv_{\mathrm{sem}}
\Psi_k.
\]

這表示：

> 返回後判定的仍然被視為同一語義對象。

---

# 41. Level 3：Full-State Return

定義：

\[
\boxed{
R_\Sigma(i,k)
}
\]

要求在所選等價準則下：

\[
\widehat\Sigma_i
\equiv
\widehat\Sigma_k.
\]

這可能要求：

- semantic identity；
- judgment domain；
- evidence state；
- world state；
- Q4 state；

都相容。

但即使：

\[
R_\Sigma(i,k)=1,
\]

仍然：

\[
H_i\neq H_k.
\]

因為歷史長度已經不同。

因此最完整地說：

\[
\boxed{
\text{state return}
\neq
\text{history reset}.
}
\]

---

# 42. 「見山又是山」最可能是哪一層 Return？

若只知道：

\[
C_0(x)=X,
\]

\[
C_1(x)\neq X,
\]

\[
C_2(x)=X,
\]

我們最多能確認：

\[
R_Q
\]

或 classification return。

不能自動推出：

\[
R_J,
\quad
R_\Psi,
\quad
R_\Sigma.
\]

所以：

\[
\boxed{
\text{“又是同一分類”}
\not\Rightarrow
\text{“全部資訊都回到原點”}.
}
\]

這正是該類語句最容易被過度解釋的地方。

---

# 43. Domain-Shifted Again

可能：

\[
q_i=q_k=q,
\]

但：

\[
\mathcal J_i\neq\mathcal J_k.
\]

這時：

\[
R_Q=1,
\]

但：

\[
R_J=0.
\]

可記：

\[
\boxed{
\mathsf{Again}^{\Delta J}_q.
}
\]

意思是：

> 同一 Q4 / classification label 返回了，但現在是在另一個判定域下成立。

---

# 44. Semantic-Shifted Again

還可能：

\[
q_i=q_k=q,
\]

\[
\mathcal J_i=\mathcal J_k,
\]

但：

\[
\Psi_i\neq\Psi_k.
\]

這時：

\[
R_Q=1,
\]

甚至表面：

\[
R_J=1,
\]

但：

\[
R_\Psi=0.
\]

這是一種：

\[
\boxed{
\text{pseudo-return}.
}
\]

表面看起來「又是」，實際上被判定的對象已經偷偷換了。

---

# 45. Again 與 Semantic Identity Guard

Bridge Paper 的 Semantic Identity Guard 在這裡有新用途。

當：

\[
\mathsf{Again}_q=1
\]

時，

系統進一步問：

```text
same_judgment_domain?
same_referent?
same_signified?
same_object?
same_world_state?
```

因此：

\[
\boxed{
\text{Again Detection}
}
\]

與：

\[
\boxed{
\text{Return Identity Audit}
}
\]

必須分開。

---

# 46. 最小 Path Algebra

現在可以定義一組 elementary operators：

\[
\boxed{
\mathcal A_H
=
\{
\mathsf{Stay},
\mathsf{Leave},
\mathsf{Enter},
\mathsf{Reverse},
\mathsf{Return}
\}.
}
\]

路徑由這些 edge event 串接：

\[
p
=
e_1e_2\cdots e_n.
\]

若終點／起點相容，可以做 concatenation：

\[
\boxed{
p_1\circ p_2.
}
\]

---

# 47. 路徑串接的結合律

在合法端點匹配下：

\[
\boxed{
(p_1\circ p_2)\circ p_3
=
p_1\circ(p_2\circ p_3).
}
\]

空路徑：

\[
\epsilon_q
\]

充當：

\[
q
\]

上的 identity path。

因此最小 transition structure 可以被理解成：

\[
\boxed{
\text{a typed path composition system}.
}
\]

本文暫不把它過度提升為某個完整代數結構的唯一標準。

---

# 48. Loop

如果：

\[
p:q\rightsquigarrow q
\]

且：

\[
p\neq\epsilon_q,
\]

則稱：

\[
\boxed{
\mathsf{Loop}_q(p).
}
\]

如果 loop 中至少存在一個非 q state：

\[
\exists r\neq q
\]

被經過，

則它構成一種 strict return loop。

因此：

\[
\mathsf{Again}_q
\]

本質上是在問：

> 當前歷史是否包含一個以 \(q\) 為起終點、且中途離開 \(q\) 的 loop prefix？

---

# 49. History Signature

為了不每次重讀完整歷史，

可以維持：

\[
\boxed{
M_t(q)
=
(
seen_q,
left_q,
return_count_q,
last_enter_q,
last_leave_q
).
}
\]

對每個：

\[
q\in Q.
\]

這是最小 path memory 的一種實作。

---

# 50. Q4 只需要很小的 Memory

因為：

\[
|Q|=4,
\]

所以可維持：

\[
4
\]

組歷史摘要。

例如：

```text
Y:
  seen = true
  left = true
  return_count = 2

N:
  seen = true
  left = true
  return_count = 1

B:
  seen = true
  left = true
  return_count = 0

U:
  seen = false
```

不需要重新掃描完整 trace 就能回答大量 basic path queries。

---

# 51. Past-Sensitive State Augmentation

這與近年的 perfect-recall temporal model checking 有一個非常直接的類比：

若 past formulas 的結果無法由當前 system state 單獨決定，

就需要把額外歷史 automaton state 加入 monitor state。2026 年的 epistemic metric temporal logic with past 工作正明確採取這種處理。([arxiv.org](https://arxiv.org/abs/2607.13981))

DTIL 的：

\[
M_t
\]

就是同樣的工程精神：

\[
\boxed{
\text{augment current state with sufficient history memory}.
}
\]

---

# 52. History-Operator Equivalence

給定一組 history operators：

\[
\mathcal O.
\]

定義：

\[
\boxed{
H\sim_{\mathcal O}H'
}
\]

當且僅當：

\[
\forall O\in\mathcal O:
O(H)=O(H').
\]

這表示：

> 對目前關心的歷史問題而言，兩條 histories 無法被區分。

這可以用來做 history compression。

---

# 53. 不同 Operator Set 會產生不同商空間

如果：

\[
\mathcal O_1
=
\{
Now
\},
\]

很多 history 會被合併。

若：

\[
\mathcal O_2
=
\{
Now,
Once,
Again,
ReturnCount
\},
\]

等價類就更細。

因此：

\[
\boxed{
\text{history identity is query-dependent}.
}
\]

這和 Series II / Paper I 的「同一需要指定判定層級」完全一致。

---

# 54. 「記住多少」不是越多越好

完整保存：

\[
H_t
\]

資訊最豐富，

但成本可能持續增加。

過度壓縮成：

\[
q_t
\]

成本最低，

但丟失 Again、Once、cause history。

所以需要：

\[
\boxed{
\text{minimal sufficient historical state}.
}
\]

問題變成：

> 對未來要支援的 operator set \(\mathcal O\)，最小需要保存多少 history？

這是一個可以直接工程化的新問題。

---

# 55. MIF 的接口

Q4 給：

\[
q_t.
\]

本文給：

\[
O(H_t).
\]

MIF 則可以處理更長的：

\[
H
=
q_0q_1q_2\cdots.
\]

因此：

\[
\boxed{
\text{DTIL operators}
}
\]

可以被理解為：

> 對 MIF 歷史序列的有限 query language。

下一階段可以研究：

- infinite recurrence；
- eventual stabilization；
- periodicity；
- unbounded reversal；
- LOOP；
- asymptotic state patterns。

---

# 56. 從「又」到 LOOP

如果：

\[
R_q(H)
\]

隨時間不斷增加，

則：

\[
q
\]

不是只「又」一次。

而是持續 recurrence：

\[
q
\rightarrow
\neg q
\rightarrow
q
\rightarrow
\neg q
\rightarrow
q
\rightarrow\cdots
\]

這將導向：

\[
\boxed{
\text{historical LOOP}.
}
\]

因此 Again 是 LOOP 的最小有限前驅之一。

---

# 57. 「是又不是／不是又是」的下一層

Paper I 將：

\[
\mathbf Y\rightarrow\mathbf N
\]

與：

\[
\mathbf N\rightarrow\mathbf Y
\]

視為 directional reversal。

本文再指出：

若：

\[
\mathbf Y\rightarrow\mathbf N\rightarrow\mathbf Y,
\]

則可以同時看到：

- 第一個 transition：Is-Then-Not；
- 第二個 transition：Not-Then-Is；
- 整條 path：Again-Y。

因此：

\[
\boxed{
\text{Again}
=
\text{composition of departure and return history}.
}
\]

---

# 58. 一個最小 Transition Grammar

可以定義：

```text
STATE ::= Y | N | B | U

EDGE ::=
    STAY(STATE)
  | LEAVE(STATE)
  | ENTER(STATE)
  | REVERSE(STATE, STATE)

PATH ::= EDGE
       | PATH ; EDGE
```

歷史 predicates：

```text
ONCE(q)
STILL(q, anchor)
AGAIN(q)
RETURN_COUNT(q)
COMPLETED(event)
```

這已經足以做第一版 parser / runtime。

---

# 59. Runtime Schema 擴充

在 Series II / Paper I 的：

```text
HistorySummary
```

中新增：

```text
seen_states
last_enter
last_leave
return_count
stutter_reduced_path
last_return_cause
return_identity_level
```

對每次 Return：

```text
ReturnRecord:
    target_state
    previous_occurrence
    departure_point
    return_point
    cause_path
    judgment_domain_relation
    semantic_identity_relation
```

---

# 60. Unit Test 1：第一次進入不是 Again

歷史：

\[
H=(\mathbf N,\mathbf Y).
\]

要求：

\[
Now_{\mathbf Y}=1,
\]

\[
Ever_{\mathbf Y}=1,
\]

但：

\[
Once_{\mathbf Y}=0,
\]

\[
Again_{\mathbf Y}=0.
\]

---

# 61. Unit Test 2：一直是 Y 不是 Again

\[
H=(\mathbf Y,\mathbf Y,\mathbf Y).
\]

要求：

\[
Still_{\mathbf Y}^0=1,
\]

\[
Once_{\mathbf Y}=1,
\]

但：

\[
Again_{\mathbf Y}=0.
\]

這是非常重要的測試：

\[
\boxed{
\text{prior occurrence alone does not imply return}.
}
\]

---

# 62. Unit Test 3：離開後返回

\[
H=(\mathbf Y,\mathbf N,\mathbf Y).
\]

要求：

\[
Again_{\mathbf Y}=1,
\]

\[
ReturnCount_{\mathbf Y}=1.
\]

並在最後 transition：

\[
ReturnEvent_{\mathbf Y}=1.
\]

---

# 63. Unit Test 4：返回後持續

\[
H=(\mathbf Y,\mathbf N,\mathbf Y,\mathbf Y).
\]

最後位置要求：

\[
Again_{\mathbf Y}=1,
\]

但：

\[
ReturnEvent_{\mathbf Y}=0.
\]

同時若 anchor 為：

\[
a=2,
\]

則：

\[
Still_{\mathbf Y}(H;2)=1.
\]

這直接證明：

\[
\boxed{
Again
\land
Still
}
\]

可以相容。

---

# 64. Unit Test 5：同 Q4 返回，不同 Judgment Domain

歷史：

\[
\mathbf Y@\mathcal J_0
\rightarrow
\mathbf N@\mathcal J_1
\rightarrow
\mathbf Y@\mathcal J_2.
\]

若：

\[
\mathcal J_0\neq\mathcal J_2,
\]

要求：

\[
R_Q=1,
\]

但：

\[
R_J=0.
\]

---

# 65. Unit Test 6：假返回

若：

\[
q_0=q_2=\mathbf Y,
\]

但：

\[
\Psi_0\neq\Psi_2,
\]

要求：

```text
Again_Q4 = true
SemanticReturn = false
PseudoReturn = true
```

這是 Bridge Paper Semantic Identity Guard 與 DTIL 的第一個真正整合測試。

---

# 66. Unit Test 7：多次返回

\[
H
=
(
\mathbf Y,
\mathbf N,
\mathbf Y,
\mathbf U,
\mathbf Y
).
\]

要求：

\[
R_{\mathbf Y}=2.
\]

並：

\[
\mathsf{Recur}_{\mathbf Y}^{(2)}=1.
\]

---

# 67. Unit Test 8：\(\mathbf B\) 仍然不是 Again

\[
H=(\mathbf B).
\]

即使：

\[
\mathbf B=(1,1)
\]

包含正負支持並存，

仍然：

\[
Again_{\mathbf Y}=0,
\]

\[
Again_{\mathbf N}=0.
\]

除非歷史真的發生對應 return。

因此：

\[
\boxed{
\text{internal dual support}
\neq
\text{historical recurrence}.
}
\]

---

# 68. 與既有 Past Temporal Logic 的關係

Past-time LTL、temporal justification logics with past、metric temporal logics with past 等都已提供成熟的歷史 modal machinery。([arxiv.org](https://arxiv.org/abs/1809.00167) [arxiv.org](https://arxiv.org/abs/1210.0574))

因此本文不宣稱：

- 首次提出 Once；
- 首次提出 past operator；
- 首次提出 Since；
- 首次表示「曾經」；
- 首次讓邏輯依賴歷史。

本文的主要工作是建立：

\[
\boxed{
\text{Q4-return operators}
+
\text{judgment-domain identity levels}
+
\text{semantic-return audit}
+
\text{transition-cause history}.
}
\]

---

# 69. 與四值 Dynamic Logic 的關係

Paraconsistent transition-system research 已經把 Belnap-Dunn 式四值語義與 transition models 結合。([arxiv.org](https://arxiv.org/abs/2204.06737))

因此：

\[
\boxed{
\text{four-valued state transition}
}
\]

也不是本文單獨的新穎性。

本文較具體的研究線是：

> 對四態歷史增加 path-return queries，並把「返回是否真的是同一個東西」拆成 Q4、Judgment Domain、Semantic Identity 與 Full Information 四層。

---

# 70. 本篇的核心新接口

可以濃縮成：

\[
\boxed{
\operatorname{ReturnIdentity}
=
(
R_Q,
R_J,
R_\Psi,
R_\Sigma
).
}
\]

它回答：

> 「又回來了」到底回來了哪一層？

這比單純：

\[
q_t=q_{t-k}
\]

更有資訊。

---

# 71. 研究邊界

本文不主張：

1. 中文「又／仍／曾／已」只有本文定義的語義；
2. \(\mathsf{Again}\) 是全新的 temporal connective；
3. 所有 return 都要求完全相同的 Judgment Domain；
4. 所有 history query 都需要保存完整 trace；
5. \(\operatorname{red}(H)\) 對所有 operator 都保真；
6. Q4 return 等同 semantic return；
7. semantic return 可以完全自動判定；
8. Completed operator 足以描述一般自然語言體貌；
9. 本文的 path algebra 已是完整公理化系統；
10. MIF 已經被完整歸約成有限歷史算子。

本文提供的是：

\[
\boxed{
\text{a minimal typed path-operator layer for DTIL}.
}
\]

---

# 72. Paper II 的核心結果

## Result 1

\[
\boxed{
\mathsf{Once}
\neq
\mathsf{Still}
\neq
\mathsf{Again}.
}
\]

## Result 2

\[
\boxed{
\mathsf{Again}_q
\Rightarrow
Now_q
\land
Once_q,
}
\]

但反向不成立。

## Result 3

\[
\boxed{
\mathsf{ReturnEvent}_q
\neq
\mathsf{Again}_q.
}
\]

前者是邊界事件，後者是可持續的歷史狀態。

## Result 4

\[
\boxed{
R_Q
\not\Rightarrow
R_J
\not\Rightarrow
R_\Psi
\not\Rightarrow
R_\Sigma.
}
\]

返回具有不同身份強度。

## Result 5

\[
\boxed{
\text{history-sensitive queries can be implemented by augmented finite state}.
}
\]

不需要每次重讀完整 history。

---

# 73. 結論：「又」不是一個字，而是一條路徑條件

在 memoryless projection 中：

\[
H_1=(\mathbf Y)
\]

和：

\[
H_2=(\mathbf Y,\mathbf N,\mathbf Y)
\]

都只剩：

\[
\mathbf Y.
\]

但加入：

\[
\mathsf{Again}_{\mathbf Y}
\]

後：

\[
\mathsf{Again}_{\mathbf Y}(H_1)=0,
\]

\[
\mathsf{Again}_{\mathbf Y}(H_2)=1.
\]

因此：

\[
\boxed{
\text{Again makes histories distinguishable that current-state projection identifies}.
}
\]

更進一步，DTIL 不能只問：

> 有沒有返回？

還要問：

\[
\boxed{
\text{What returned?}
}
\]

是：

- 同一 Q4 state？
- 同一 Judgment Domain？
- 同一 Semantic Referent？
- 同一完整信息狀態？

所以「又是」真正展開後，不是：

\[
X=X.
\]

而可能是：

\[
\boxed{
X^{(0)}
\rightarrow
\neg X
\rightarrow
X^{(2)},
}
\]

並同時滿足：

\[
X^{(0)}
=
_{\mathrm{classification}}
X^{(2)},
\]

但：

\[
X^{(0)}
\neq_{\mathrm{history}}
X^{(2)}.
\]

如果語義身份也改變，甚至：

\[
X^{(0)}
\neq_{\mathrm{semantic}}
X^{(2)}.
\]

因此本文最終提出：

\[
\boxed{
\text{“Again” is not identity; it is a return relation over history.}
}
\]

這是 Series II 從局部四態進入真正 path semantics 的第二步。

下一篇將進入 **Series II / Paper 03：Reclassification and Domain-Shifted Identity**，正式處理：

\[
\boxed{
X\text{ 是 }X
\rightarrow
X\text{ 其實是 }Y
\rightarrow
Y\text{ 其實又是 }X
}
\]

中最困難的部分：**真值／資訊狀態改變與「對象被重新分類」並不是同一種 transition。**

---

## 參考文獻

Kuhtz, L., & Finkbeiner, B. (2012). *Efficient Parallel Path Checking for Linear-Time Temporal Logic With Past and Bounds*. arXiv:1210.0574.

Ghari, M. (2018). *Linear Temporal Justification Logics with Past Operators*. arXiv:1809.00167.

Bollig, B., Függer, M., Nowak, T., & Zeinaty, P. (2026). *Agent-Alternation-Free Epistemic Metric Temporal Logic with Past: Model Checking and Complexity*. arXiv:2607.13981.

Cruz, A., Madeira, A., & Barbosa, L. S. (2022). *A Logic for Paraconsistent Transition Systems*. arXiv:2204.06737.

Costa, D. (2023). *4DL: A Four-Valued Dynamic Logic and Its Proof Theory*. Journal of Logic and Computation, 33(6), 1326–1349.

Prior, A. N. (1957). *Time and Modality*. Oxford University Press.
