八字数学基础规范 v0.1

状态:工作草案 v0.1;发布者:TradeCat Labs(交易猫实验室);最近评审:

边界:本文只描述形式化与软件可验证性,不证明传统命理具备现代科学意义上的因果性或预测效力。

状态:工作草案 规范版本:bazi-formal-spec/0.1 本文只定义基础对象和证明义务,不声明传统命理的科学预测效力。

1. 记号

记号 含义
AB 从集合 AB 的全函数
AB 允许无定义结果的偏函数
P(A) A 的幂集
|A| 有限集合 A 的元素数量
π 完整、版本化的计算 Profile
x 原始用户输入
n 一个 canonical 输入候选
c 一个四柱命盘

规范中的“确定”表示同一输入和 Profile 下的软件结果唯一,不表示现实事件必然发生。

2. 输入空间

2.1 原始输入

先定义只影响历法和四柱的原始输入空间:

Xchart=D×T×Lraw×K×Q×P

其中:

完整请求空间定义为:

Xraw=Xchart×A×M

其中 A 是后续规则可能使用的辅助输入,M 是姓名、标题、语言等展示元数据。性别或传统起运方向所需标签只能进入 A,不得进入四柱本体函数;具体标签含义和使用规则必须由 Profile 明确,不能把社会身份概念静默等同于历法变量。

2.2 canonical 输入

一个 canonical 输入至少包含:

n=(tutc,tlocal,ϕ,λ,z,f,u,π)

其中:

canonical 输入不得只保存地点名称而丢失坐标、时区和解析证据。

2.3 输入规范化关系

原始输入可能对应零个、一个或多个 canonical 候选,因此定义集合值映射:

projectchart:XrawXchart 为历法输入投影,则:

Nπ:XchartP(Xcanonical)

四柱规范化只消费 projectchart(x),不消费辅助输入或展示元数据。

解释:

时间误差区间可能表示连续候选集,工程实现应使用区间和边界分区,而不是逐秒枚举。规范化实现不得从多个候选中静默选择第一项。为简化后文,记 Nπ(x) 表示对 projectchart(x) 的规范化结果。

3. Profile

Profile 是计算语义的一部分,不是运行时无关配置。最小 Profile 应固定:

同一 Profile ID 不得在原地改变语义。任何会改变输出的调整必须产生新版本。

4. 天干、地支和六十甲子

4.1 天干

定义天干索引集合:

G=Z10

采用稳定顺序:

0甲 1乙 2丙 3丁 4戊 5己 6庚 7辛 8壬 9癸

4.2 地支

定义地支索引集合:

Z=Z12

采用稳定顺序:

0子 1丑 2寅 3卯 4辰 5巳 6午 7未 8申 9酉 10戌 11亥

4.3 阴阳

定义奇偶映射:

yG(g)=gmod2,yZ(z)=zmod2

偶数为阳,奇数为阴。该约定必须由穷举测试覆盖。

4.4 六十甲子

合法干支对集合为:

S={(g,z)G×Zgz(mod2)}

因此:

|S|=60

定义循环映射:

s(k)=(kmod10,kmod12),kZ60

证明义务:

  1. s 的像等于 S
  2. sZ60 上为双射。
  3. 任意输出柱必须属于 S
  4. 经过 60 次递增后回到原柱。

5. 四柱空间

定义四柱命盘空间:

C4=S4

一个确定命盘写作:

c=(Y,M,D,H)C4

其中 Y,M,D,H 分别为年柱、月柱、日柱和时柱。

历法排盘定义为带 Profile 的偏函数:

Bπ:XcanonicalS4

使用偏函数是因为下列输入应明确无定义,而不是猜测:

对原始输入,将排盘提升为集合值计算:

B^π(x)={Bπ(n)nNπ(x),Bπ(n)有定义}

解释:

6. 字段稳定性

对于任意命盘派生字段:

f:C4Vf

定义候选值集合:

V^f(x)={f(c)cB^π(x),f(c)有定义}

字段稳定当且仅当:

stablef(x)|V^f(x)|=1

|V^f(x)|>1,报告必须使用候选或条件表达;若 |V^f(x)|=0,字段为无定义,不得伪造默认值。

6.1 精度单调性

设同一原始输入的两个规范化候选集为 Nπprecise(x)Nπbroad(x)。若:

Nπprecise(x)Nπbroad(x)

则必须有:

{Bπ(n)nNπprecise(x)}{Bπ(n)nNπbroad(x)}

即增加可靠信息只能排除候选,不能产生原先不可能的命盘。

6.2 不确定性非增益

若下游结论 q 依赖字段集合 Fq,且其中存在不稳定或无定义字段,则 q 不得被标成无条件确定。形式化为:

fFq:¬stablef(x)certainty(q)definitive

7. 五行和十神族有限代数

7.1 五行

定义五行循环:

E=Z5

采用稳定顺序:

0木 1火 2土 3金 4水

相生:

generate(e)=e+1(mod5)

相克:

control(e)=e+2(mod5)

天干到五行和阴阳的映射必须是固定总函数:

eG:GE,yG:GZ2

7.2 十神关系族

设日干五行为 ed,目标干五行为 et,定义:

Δ=(eted)mod5
Δ 十神关系族
0 比劫
1 食伤
2
3 官杀
4

再按目标干与日干阴阳是否相同细分:

关系族 同阴阳 异阴阳
比劫 比肩 劫财
食伤 食神 伤官
偏财 正财
官杀 七杀 正官
偏印 正印

证明义务:

藏干十神应先通过地支到藏干的版本化映射展开,再逐个复用同一十神函数;不得维护第二套十神表。

8. 规则形式语义

一条规则定义为:

r=(id,domain,predicate,exceptions,conclusion,evidence,priority,risk)

其中:

8.1 四值求值

规则求值域定义为:

L={true,false,unknown,conflict}

规则不得把 unknown 当成 false,也不得把 conflict 隐藏为单一结论。

8.2 规则应用

features(c) 为命盘派生字段集合,则:

evalπ(r,c)L

对于候选命盘集合:

eval^π(r,x)={evalπ(r,c)cB^π(x)}

只有所有候选都得到相同、非 unknown、非 conflict 的结果时,规则状态才可视为稳定。

9. 冲突裁决

冲突裁决定义为版本化函数:

Aπ:P(RuleResult)ArbitrationResult

裁决必须输出:

权重只允许排序或表达相对解释优先级,不能修改四柱、五行、十神等基础事实,也不能把证据不足变成确定结论。

10. Evidence DAG

每个报告命题都应能映射到有向无环证据图:

Ge=(Ve,Ee)

节点类型至少包括:

a -> b 表示 b 依赖 a

证据图必须满足:

  1. 无循环依赖。
  2. 每个最终命题至少可回溯到一个输入节点、一个 Profile 节点和一个规则或算法节点。
  3. 规则文案不得成为上游事实节点。
  4. 不稳定节点的状态必须传播到所有依赖它的结论。
  5. Evidence 只证明推导链存在,不证明现实预测效力。

11. 核心证明义务

PO-01 确定性

相同 canonical 输入 hash、Profile hash、引擎版本和依赖锁定版本必须生成相同 canonical 输出 hash。

PO-02 值域合法性

任意四柱输出属于 S4,任意十神输出属于登记的十神有限集合。

PO-03 边界正确性

年界、节气月界、日界、时辰边界、DST、真太阳时和 provider 支持范围必须具有边界前、边界点、边界后样本。

PO-04 偏函数诚实性

无定义输入必须返回标准错误或无定义状态,不允许隐式默认地点、时区、经纬度、fold 或规则 Profile。

PO-05 不确定性传播

上游候选差异必须传播到受影响字段和结论,不受影响字段可以保持稳定。

PO-06 规则可追踪性

每条规则结果必须包含规则 ID、证据字段、条件结果、例外结果、来源和风险边界。

PO-07 冲突可见性

无法消解的规则或候选冲突必须出现在机器输出中,不能只在日志中存在。

PO-08 跨端同源

Web、API、Bot、CLI、Skill 和 Agent 对同一 capability 请求必须消费同一 canonical 结果,不得各自实现算法。

PO-09 版本可复现性

历史结果必须记录足够版本信息,以便判断能否重放;不能重放时必须说明缺失依赖或数据,而不是声称结果仍可复现。

PO-10 声明边界

任何门禁、证明或测试结论只能使用“实现满足规范”“规则执行一致”等语言,不得升级为“命理预测已被科学证明”。

12. 尚未定稿的内容

以下内容不得因为本文存在而被视为已经形式化完成:

这些内容必须按 BUILD.md 的顺序逐项建立定义、机器契约、实现映射和验证证据。