仅用四条公理奠基计算与本体论 — Rei 语言的设计哲学(0 -shiki)
抱歉,我需要您提供要翻译的正文内容(除代码块和 URL 之外的文本),才能为您完成简体中文翻译。请把文章的文字粘贴在这里,我会保持原有的 Markdown 格式并只翻译正文部分。
数字不是点——它们是场
在传统编程中,数字是单一点(标量值)。当你写 x = 5 时,一个叫 5 的点被存入变量。
Rei 推翻了这一假设。每个值都是一个拥有“中心”和“外围”的场。
import { mdnum, compute } from 'rei-lang';
// 多维数字:center = 5, periphery = [1, 2, 3, 4]
const md = mdnum(5, [1, 2, 3, 4]);
const result = compute(md);
console.log(result.value); // 7.5(中心 + 外围的加权平均)
// center = 0, 没有外围 → 退化为标量
const scalar = mdnum(0, []);
console.log(compute(scalar).value); // 0(与普通数字相同)
这根本不同于“用数组进行计算”。在 Rei 中,数字本身的结构遵循中心‑外围模式,而标量只是外围为空的退化情形。
四条不可约公理
| 符号 | 含义 |
|---|---|
M = (c, N, μ, w) | 一个值 |
c ∈ V | 中心 |
N = (n₁,…,nₖ) | 外围 |
μ ∈ Modes | 计算模式 |
w : N → ℝ⁺ | 权重函数 |
退化:当 k = 0 时,compute(c, ∅, μ, w) = c。传统编程可以视为只处理这种退化情形。
每个值都可以沿 深度轴 扩展 或 约简:
⊕ : V × S → V(扩展:添加下标)⊖ : V → V(约简:移除下标)
链: v₀ →⊕ v₀ₒ →⊕ v₀ₒₒ → …
逆: ⊖(⊕(v, s)) = v
import { subscript, extnum, extend, reduce, toNotation } from 'rei-lang';
// 创建 0₀ₒₒ(零的三重扩展)
const sub = subscript(0, ['o', 'o', 'o']);
const en = extnum(sub);
// 扩展与约简操作
const extended = extend(en, 'x'); // 0ooo → 0ooox (⊕)
const reduced = reduce(extended); // 0ooox → 0ooo (⊖)
// 四层记号等价
const notation = toNotation(sub);
console.log(notation.sensory); // "0ooo" (感官层)
console.log(notation.dialogue); // "0_o3" (对话层)
console.log(notation.structural);// "0(o,3)" (结构层)
console.log(notation.semantic); // JSON (语义层)
对“零之前是什么?”的回答
通常,0被视为不可约的原子,但在 Rei 中,无限结构 在0内展开。每一次变换都会留下痕迹;一个值保留自己的历史。
V̂ = V × Σ // value = 原始值 + 元数据
Σ = (H, τ, n)
H – 变换历史(记忆)
τ – 趋势(变化方向)
n – 变换计数
每一次函数调用都会自动记录,所以一个值始终知道 它现在是什么 以及 它来自何处。
import { lang } from 'rei-lang';
// compress = 函数定义(压缩的哲学)
lang.run('compress double(x) -> x * 2');
lang.run('compress inc(x) -> x + 1');
// 用管道运算符串联变换
lang.run('5 |> double |> inc |> double'); // → 22
// 在此过程中,变换历史 [5, 10, 11] 会自动累积在 σ 中
分阶段存在
存在从虚无中产生,分为 四 个阶段;任何阶段都不能跳过。
P = { void, ・, 0₀, 0, ℕ }
void → ・ // 某物可以存在
・ → 0₀ // 值与结构分离
0₀ → 0 // 值固化并可计算
0 → ℕ // 自然数系统出现
import { genesis } from 'rei-lang';
const { runFullGenesis, verifyTheoremS0, verifyTheoremS1 } = genesis;
// 运行完整的起源过程:void → ・ → 0₀ → 0 → ℕ
const state = runFullGenesis();
console.log(state.phase); // 'number'
// 验证唯一性定理
const s0 = verifyTheoremS0(state); // ・→0₀ 转换唯一
const s1 = verifyTheoremS1(state); // 0₀→0 转换唯一
console.log(s0.valid, s1.valid); // true true
阻断规则 – 不能直接从
void跳到0。转换必须一步一步进行:void → ・ → 0₀ → 0
Source: …
. 这是一条原则:“通往存在没有捷径。”
四条公理(独立轴)
| 公理 | 轴 | 所回答的问题 |
|---|---|---|
| A1 | 空间(结构) | “一个值的形状是什么?” |
| A2 | 深度(嵌套) | “你可以在一个值内部深入到多深?” |
| A3 | 时间(历史) | “一个值是如何变化的?” |
| A4 | 起源(生成) | “一个值来自何处?” |
为什么每条公理都不能被其他公理取代
| 公理 | 不可或缺的原因 |
|---|---|
| A1 | A2、A3、A4 并未定义 值的结构 |
| A2 | A1、A3、A4 并未包含 深度 的概念 |
| A3 | A1、A2、A4 并未暗示保留 历史 |
| A4 | A1、A2、A3 并未涉及 存在的起源 |
比较概览
| 系统 | # 公理 | 范围 |
|---|---|---|
| λ‑calculus | 3 | 计算 |
| Peano | 5 | 自然数 |
| ZFC | 9 | 集合 |
| Rei | 4 | 计算 + 本体论 |
Rei的语法映射其四条公理
import { lang } from 'rei-lang';
// A1: 多维数字字面量 [center; periphery...]
lang.run('[5; 1, 2, 3, 4]');
// A2: 扩展 ⊕ / 缩减 ⊖
lang.run('0oo ⊕ x'); // 0oo → 0oox
lang.run('0oox ⊖'); // 0oox → 0oo
// A3: 管道(函数组合并伴随 σ‑累积)
lang.run('compress inc(x) -> x + 1');
lang.run('41 |> inc'); // 42
// A4: 绑定(值固定 = 存在的固化)
lang.run('bind x = 42');
语法 – 公理映射
| 语法 | 公理 | 设计意图 |
|---|---|---|
[c; n₁, n₂, …] | A1 | 直接表达多维数字 |
⊕ / ⊖ | A2 | 将扩展 / 缩减作为一等运算符 |
| ` | >` (管道) | A3 |
bind | A4 | 值固定 = 存在的固化 |
所有代码片段均假设已安装最新版本的 rei-lang。
Source: …
Rei‑lang 精选
> (pipe) → A3
bind → A4
*Irreversibly fix the existence of a value*
compress → A1+A3
*Compress computation into a reusable form*
中心‑外围模式 的真实世界性能优势
| 任务 | 与传统相比 | 描述 |
|---|---|---|
| 图像卷积核操作 | 降低 4 倍 | 卷积代码量 |
| 多维数据聚合 | 提升 3.7 倍 | 聚合流水线的冗长程度 |
| 图结构转换 | 提升 3.7 倍 | 网络结构的操作 |
| 平均代码缩减 | 74 % | 整体表达力 |
第 7 阶段 (v0.5.5+) 功能
- σ‑属性交互 (7a)
- 自我修复 (7b)
- 自我生成 (7c)
- 涌现 (7d)
- 微‑宏双界限元桥 (7e)
该语言现已覆盖 七大领域——自然科学、信息工程、人文、艺术、音乐、经济学和语言学——并通过 36‑方向桥 相互连接。通过 compress/expand 函子 实现 五套备选公理系统 之间的相互转换。
资源
- GitHub:
- npm:
- Zenodo DOI:
- SSRN:
欢迎反馈、提出问题和点赞!