# Causal-Condense Explorer（因果凝聚浏览器）软件规格说明书

| 项目 | 内容 |
|---|---|
| 软件名称 | Causal-Condense Explorer · 因果凝聚可视化原型 |
| 版本 | v1.2（含范畴论对应关系 + 布局优化版） |
| 上线地址 | https://my5dmodel.com/causal/ |
| 文档日期 | 2026-09-23 |
| 性质声明 | 理论演示与结构检验原型，**不提供数学证明**；理论权威以鲁学星《因果凝聚（Causal-net Condensation）》系列 arXiv 论文为唯一准绳 |

---

## 1. 概述

### 1.1 软件定位
本软件把《因果凝聚》论文中提出的一整套理论构造——原始因果 DAG → 张量弦图表示 → 因果网络范畴 **Cau** → 粗粒化变换 → 重整化演化 → 凝聚不动点自持态——做成**可交互、可检验、可回退**的可视化原型。用户通过点击、拖拽等操作亲手推进每一个理论步骤，并实时观察网络结构的变化与合法性诊断。

交互范式继承 HodgeFold 四步推演：**识别困境 → 升维审视 → 高维操作 → 降维返回**。

### 1.2 目标用户
- 理论研究者：直观检验论文构造的每一步是否保持结构合法；
- 学生与新用户：通过图解向导低门槛理解因果凝聚的思想脉络；
- 评审与访客：快速把握论文构造的整体流程。

### 1.3 设计原则
1. **单文件交付**：全部功能封装在一个 `index.html` 中，零依赖、零构建，任何静态服务器可直接部署；
2. **全部状态可回退**：任何操作自动存入快照历史；
3. **操作即理论**：界面上的每个按钮对应论文中的一个概念（粗粒化、反向细化、不动点等）；
4. **合法可见**：每次变换后五条结构准则（C-01~C-05）即时给出 ✓ / ◌ / ✕ 判定。

---

## 2. 理论基础（软件所演示的构造）

| 理论构件 | 论文出处 | 软件中的对应 |
|---|---|---|
| 因果网络范畴 Cau（对象=因果单元，态射=因果关系） | §2 | 右侧「范畴 Cau」标签页的 Obj/Hom 显式展开 |
| 张量范畴弦图演算（彭罗斯弦图） | §3 | 视图B · 张量弦图 |
| 粗粒化态射及其复合封闭性 | §3.2 | 「⬆ 粗粒化」操作 + 诊断 C-02 |
| Kan 扩张 / 余层保结构 | §4 | 诊断 C-03 |
| 重整化演化与凝聚不动点 | §5 | S4 参数演化 + S5 不动点 + 诊断 C-04 |
| Spivak 范畴数据库兼容 | — | 诊断 C-05 |

### 2.1 软件与范畴论的对应关系（核心映射表）

本软件不是"借用"范畴论词汇，而是把论文构造的**每一个范畴论概念都落到了可操作、可检验的界面元素上**。下表给出系统性的对应：

| 范畴论概念 | 严格定义（直观版） | 软件中的实体 | 出现位置 |
|---|---|---|---|
| **范畴 Cau** | 由因果单元（对象）与因果关系（态射）构成的范畴 | 整张因果网络 | 全部视图 |
| **对象 Obj(Cau)** | 因果单元（事件） | 画布上的圆点节点（A、B、C…，凝聚后为 G1、G2…） | 视图A/DAG、右侧「范畴」页对象集合列表 |
| **态射 Hom(A,B)** | 从因 A 到果 B 的因果关系 | 节点间的有向箭头 | 视图A/DAG、「范畴」页 Hom 集合列表 |
| **恒等态射 id_A** | 每个对象到自身的平凡因果 | 每个节点自带的自环（计数显示于 C-01 诊断："恒等态射 N 个"） | 诊断 C-01 |
| **复合 ∘** | 因果关系沿有向路径的传递 | 路径复合：A→B 且 B⇒C 推出 A⇒C | 诊断 C-01"可复合路径 N 条" |
| **结合律** | (f∘g)∘h = f∘(g∘h) | 复合路径不依赖结合方式，DAG 天然保证 | 诊断 C-01"结合律成立" |
| **张量积 ⊗** | 对象并排组合 | 弦图中并行放置的张量盒 | 视图B/张量弦图 |
| **弦图演算** | 张量范畴的图形演算（彭罗斯记号） | copy/fuse 两种基本盒子与实线/虚线线路 | 视图B（copy·fuse 标注、虚线 copy 线、实线 fuse 线） |
| **张量函子** | 保持 ⊗ 结构的翻译 | DAG → 弦图的自动翻译 | S1「张量弦图展开」、视图A⇄B 互译 |
| **凝聚函子（粗粒化）** | Cau → Cauᴳ：把若干对象打包为高层对象，同时保持因果连接 | ⬆ 粗粒化：选 ≥2 节点 → 虚线框高层对象 G1 | S3、工具栏「⬆ 粗粒化」 |
| **细化的逆** | 粗粒化的逆变换 Cauᴳ → Cau | ⬇ 反向细化：拆回最近一层凝聚 | 工具栏「⬇ 反向细化」 |
| **函子保结构** | 函子须保持恒等、复合与 ⊗ | 粗粒化后高层对象间的因果边继承自成员间因果边 | S3 变换过程 + 诊断 C-02/C-03 |
| **Kan 扩张** | 沿凝聚函子把结构最优地延拓到高层 | 高层网络对底层因果信息的最大保持延拓 | 诊断 C-03（演化中检验是否保结构） |
| **余层（Cosheaf）** | 对覆盖的局部-整体相容赋值 | 凝聚单元成员数据在高层对象上的一致聚合 | 诊断 C-03 |
| **自然变换** | 函子间的结构保持映射 | 参数 λ 演化中网络族之间的逐步凝聚映射 | S4 演化日志 Step 序列 |
| **不动点** | 再次施加变换不再改变结构的自持态 | 顶层对象 ≤1 或结构不再改变 | S5「凝聚不动点」+ 诊断 C-04 |
| **极限/余极限** | 范畴中的泛构造 | 凝聚的"最大保持"与细化的"最优还原"目标 | 理论背景（C-03 检验依据） |
| **范畴数据库模式** | Spivak：把数据库模式建成范畴 | 高层因果结构可导出为模式映射 | 诊断 C-05 |

**一句话概括**：软件把范畴 Cau 的"对象/态射/复合/函子/不动点"整条理论链翻译成了"节点/箭头/路径/打包/自持态"的可视操作链——S0 到 S5 的每一步都是一次函子层面的变换，右侧诊断页则充当"范畴公理检查器"。

参考底座：`HodgeFold Explorer`；理论脉络：冯嘉礼属性主义纲领。

---

## 3. 功能规格

### 3.1 六阶状态机 S0–S5（顶部流程条）
顶部步进器展示六个阶段，点击任意阶段跳转；已完成阶段显示 ✓，当前阶段高亮发光，进度线渐变填充。

| 状态 | 名称 | 含义 | 可执行操作 |
|---|---|---|---|
| S0 | 原始因果网络 | 初始因果 DAG | 添加节点、连线模式、删除选中 |
| S1 | 张量弦图展开 | 翻译为彭罗斯弦图演算 | 视图切换、画布操作 |
| S2 | 范畴 Cau 显式展开 | 对象/态射/复合/结合律 | 点击对象/态射查看定义 |
| S3 | 粗粒化变换 | 升维折叠 ⇄ 降维展开 | ⬆ 粗粒化、⬇ 反向细化 |
| S4 | 重整化演化 | 参数驱动的族演化 | 调 λ、演化步长 N、「检测不动点」 |
| S5 | 凝聚不动点 | 自持态 · 闭合闭环 | 初始网络 vs 不动点结构对比 |

### 3.2 双视图（画布右上角切换）
- **视图A · DAG 因果网络**：节点-有向边表示，直观编辑；
- **视图B · 张量弦图**：张量演算表示，与 DAG 互译对照；
- 画布通用操作：滚轮缩放（0.3×–3×）、空白处拖动平移、拖拽节点重新布局。画布高度 400px。

### 3.3 样例库（4 个内置样例）
| 样例 | 名称 | 用途 |
|---|---|---|
| 1 | 极简因果网络 | 快速收敛演示 |
| 2 | 并行多分支网络 | 分支结构观察 |
| 3 | 演化不稳定案例 | **教学"事故"案例**：λ > 0.4 时弱因果边断裂，诊断 C-03 出现 ✕ |
| 4 | 复杂可收敛案例（默认） | 完整流程演示 |

### 3.4 编辑操作（S0）
- ＋ 添加节点；⇄ 连线模式（依次点击两个节点建立因果边）；✕ 删除选中（自动清理关联边与凝聚成员）。
- 非 S0 状态下编辑栏变暗并禁用。

### 3.5 粗粒化与反向细化（S3）
- **⬆ 粗粒化（升维折叠）**：选中 ≥2 个节点，凝聚为一个高层对象（虚线框 + 编号 G1、G2…）；
- **⬇ 反向细化（降维展开）**：拆解最近一层凝聚，恢复原结构；
- 每次操作自动写入快照。

### 3.6 结构诊断（5 条准则，右侧「诊断」标签页）
| 编号 | 准则 | 论文依据 | 判定 |
|---|---|---|---|
| C-01 | Cau 公理合法性（恒等态射、复合结合律） | §2 | ✓/◌/✕ |
| C-02 | 粗粒化态射复合封闭性 | §3.2 | ✓/◌/✕ |
| C-03 | Kan 扩张/余层保结构检验（演化破损检测） | §4 | ✓/◌/✕ |
| C-04 | 重整化不动点条件（再次粗粒化不再改变同构结构） | §5 | ✓/◌/✕ |
| C-05 | Spivak 范畴数据库兼容性 | — | ✓/◌/✕ |

### 3.7 参数演化（S4）
- **λ（粗粒化聚合偏好）**：0–1，步进 0.1，默认 0.6。λ 越大聚合越激进：可能更快收敛不动点，也可能诱发结构破损；
- **演化步长 N**：1–5 步；
- 「检测不动点」按钮：满足条件（顶层对象 ≤1 或结构不再改变）自动跳转 S5；
- 演化日志逐步展示凝聚单元增量与结构稳定性。

### 3.8 快照历史
- 每一次载入、粗粒化、细化、调参、演化、拖动节点均自动存档；
- 「快照」标签页可一键回退到任意历史状态；
- 快照随状态哈希导出，可完整还原。

### 3.9 导入导出
| 功能 | 说明 |
|---|---|
| 📷 导出 PNG | 当前画布（DAG 或弦图）导出为 PNG 图片 |
| 📦 导出 JSON | 完整网络数据（节点/边/凝聚组/演化标记） |
| 🔗 复制状态哈希 | Base64 编码的完整状态写入剪贴板；通过 URL `#h=` 参数可分享/恢复 |

### 3.10 新手图解向导
- 工具栏「❓ 使用说明」打开/关闭**浮动窗口**（450px 宽，标题栏可拖动，可置于屏幕一角边看边操作）；
- 6 页图解：① 软件意图（含"不提供证明"声明）→ ② 界面布局 → ③ 看懂网络 → ④ 粗粒化操作 → ⑤ 诊断/参数/快照 → ⑥ 推荐体验路线；
- 首次访问自动弹出一次（sessionStorage 记忆）。

---

## 4. 界面布局

```
┌──────────────────────────────────────────────────────┐
│ 合规声明条（理论演示，不提供证明）                        │
│ 标题区（软件名 / 构造管线副标题 / 参考底座）               │
│ S0 ── S1 ── S2 ── S3 ── S4 ── S5   ← 步进器+进度线      │
│ 工具栏：样例库 ▾ │ ❓使用说明 │ ⬆粗粒化 ⬇细化 │ 导出×3 状态 │
├───────────────────────────────┬──────────────────────┤
│ 画布（DAG/弦图双视图，可缩放拖拽）│ 右侧面板 400px        │
│ 视图A⇄B 切换                   │ 范畴/诊断/参数/快照 4 页│
│ 编辑栏（S0：加节点/连线/删除）   │                      │
├───────────────────────────────┴──────────────────────┤
│ S5 结构对比（初始网络 vs 凝聚不动点）                    │
│ 页脚：理论出处与交互范式说明                               │
└──────────────────────────────────────────────────────┘
```

整体内容区最大宽度 1380px，深色主题，紫/琥珀/青/玫红四色语义体系。

---

## 5. 数据模型

```jsonc
net = {
  nodes: [{ id, label, x, y, group }],   // group 为所属凝聚单元编号
  edges: [{ id, from, to }],
  groups: { "G1": { members: [...] } },
  _damaged: false,   // 演化中出现结构破损（C-03 触发）
  _fixed: false,     // 不动点已达成（C-04 触发）
  _steps: 0,         // 收敛所需步数
  _weak: "边id"      // 样例3 的弱因果边
}
params = { steps: 2, lambda: 0.6 }
snapshots = [{ label, stateId, data: { net, params } }, ...]  // 完整历史栈
```

状态哈希 = Base64(JSON{net, stateId})，经 URL `#h=` 还原。

---

## 6. 技术架构

| 项 | 规格 |
|---|---|
| 交付形态 | 单文件 `index.html`（HTML + 内联 CSS + 原生 JS，无外部依赖） |
| 渲染 | SVG（动态 DOM 创建），视图变换用 translate/scale |
| 画布缩放 | wheel 事件，0.3×–3× 钳制 |
| 部署 | 任意静态服务器；当前部署于 `/opt/wuwei/show/causal/`（165.154.4.196，Nginx + HTTPS） |
| 回滚机制 | 每次更新前线上文件备份为 `index.html.bak.<时间戳>` |

---

## 7. 操作手册（推荐体验路线）

1. **载入样例4**（默认），看 S0 原始网络；
2. 点 **S1 / S2**：看弦图翻译与范畴 Cau 显式展开，点对象/态射看定义；
3. 到 **S3**：选中 2 个以上节点（金色边框）→ 点「⬆ 粗粒化」；尝试「⬇ 反向细化」拆回；
4. **S4**：拖动 λ 观察演化日志；点「检测不动点」直达 S5；
5. **S5**：查看初始网络与凝聚不动点的对象/态射/结构对比；
6. 彩蛋：载入**样例3**，λ 调到 0.5 以上 → 弱边断裂、诊断 C-03 出现 ✕ → 用快照回退"修复"；
7. 导出 PNG/JSON 或复制状态哈希保存结果。

---

## 8. 限制与免责声明

1. 本软件为**理论演示与结构检验原型**，不构成对因果凝聚理论的数学证明；
2. 全部理论构造的权威表述以论文原文为准，软件中的自然语言解释仅为辅助理解；
3. 演化与诊断逻辑为论文构造的**计算模拟**，其通过/不通过判定不替代形式化验证；
4. 建议使用现代浏览器（Chrome / Edge / Firefox）访问。

---

## 9. 版本历史

| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0 | 2026-09-23 | 初版：S0–S5 状态机、双视图、粗粒化/细化、诊断 C-01~05、参数演化、快照、导入导出、状态哈希 |
| v1.1 | 2026-09-23 | 布局优化（首屏一屏展示、画布收窄 400px、字号图幅匹配）；顶部步进器美化（进度线/✓/发光）；新增 6 页图解式新手向导；向导改为可拖动浮动窗口 |
| v1.2 | 2026-09-23 | 规格说明书新增 §2.1「软件与范畴论的对应关系」核心映射表（对象/态射/复合/弦图/凝聚函子/Kan 扩张/不动点等 18 项范畴概念与界面实体逐一对应）；页脚增加说明书下载链接；主页应用项目板块加入口卡片 |
