八字数学基础规范 v0.1
状态:工作草案 v0.1;发布者:TradeCat Labs(交易猫实验室);最近评审:。
边界:本文只描述形式化与软件可验证性,不证明传统命理具备现代科学意义上的因果性或预测效力。
状态:工作草案 规范版本:
bazi-formal-spec/0.1本文只定义基础对象和证明义务,不声明传统命理的科学预测效力。
1. 记号
| 记号 | 含义 |
|---|---|
| 从集合 到 的全函数 | |
| 允许无定义结果的偏函数 | |
| 的幂集 | |
| 有限集合 的元素数量 | |
| 完整、版本化的计算 Profile | |
| 原始用户输入 | |
| 一个 canonical 输入候选 | |
| 一个四柱命盘 |
规范中的“确定”表示同一输入和 Profile 下的软件结果唯一,不表示现实事件必然发生。
2. 输入空间
2.1 原始输入
先定义只影响历法和四柱的原始输入空间:
其中:
- :用户声明的日期。
- :用户声明的当地钟表时间。
- :地点文本、稳定地点 ID 或显式坐标。
- :日历输入类型,例如公历或登记过的其他类型。
- :输入质量信息,例如时间误差、DST fold 或来源说明。
- :用户显式选择或系统固定的 Profile ID。
完整请求空间定义为:
其中 是后续规则可能使用的辅助输入, 是姓名、标题、语言等展示元数据。性别或传统起运方向所需标签只能进入 ,不得进入四柱本体函数;具体标签含义和使用规则必须由 Profile 明确,不能把社会身份概念静默等同于历法变量。
2.2 canonical 输入
一个 canonical 输入至少包含:
其中:
- :唯一 UTC 时刻。
- :带时区偏移的当地时间。
- :WGS84 纬度。
- :WGS84 经度。
- :IANA 时区 ID。
- :DST 重复时刻的 fold;不适用时为空。
- :时间、地点和解析来源的不确定性描述。
- :完整 Profile 快照或不可变引用。
canonical 输入不得只保存地点名称而丢失坐标、时区和解析证据。
2.3 输入规范化关系
原始输入可能对应零个、一个或多个 canonical 候选,因此定义集合值映射:
令 为历法输入投影,则:
四柱规范化只消费 ,不消费辅助输入或展示元数据。
解释:
- :输入无效、缺失或无法解析。
- :输入在当前 Profile 下唯一确定。
- :存在 DST、地点消歧、时间误差或边界候选。
时间误差区间可能表示连续候选集,工程实现应使用区间和边界分区,而不是逐秒枚举。规范化实现不得从多个候选中静默选择第一项。为简化后文,记 表示对 的规范化结果。
3. Profile
Profile 是计算语义的一部分,不是运行时无关配置。最小 Profile 应固定:
- 输入日历类型与转换版本。
- 历史时区数据库版本。
- 地点数据版本和解析策略。
- 年界约定。
- 月界与节气约定。
- 日界和早晚子时约定。
- 时柱时段约定。
- 是否使用真太阳时以及对应算法版本。
- 节气或天文数据 provider 及版本。
- 起运方向和起运时间规则版本。
- 规则集、权重和冲突策略版本。
同一 Profile ID 不得在原地改变语义。任何会改变输出的调整必须产生新版本。
4. 天干、地支和六十甲子
4.1 天干
定义天干索引集合:
采用稳定顺序:
0甲 1乙 2丙 3丁 4戊 5己 6庚 7辛 8壬 9癸
4.2 地支
定义地支索引集合:
采用稳定顺序:
0子 1丑 2寅 3卯 4辰 5巳 6午 7未 8申 9酉 10戌 11亥
4.3 阴阳
定义奇偶映射:
偶数为阳,奇数为阴。该约定必须由穷举测试覆盖。
4.4 六十甲子
合法干支对集合为:
因此:
定义循环映射:
证明义务:
- 的像等于 。
- 在 上为双射。
- 任意输出柱必须属于 。
- 经过 60 次递增后回到原柱。
5. 四柱空间
定义四柱命盘空间:
一个确定命盘写作:
其中 分别为年柱、月柱、日柱和时柱。
历法排盘定义为带 Profile 的偏函数:
使用偏函数是因为下列输入应明确无定义,而不是猜测:
- 超出 provider 支持时间范围。
- 历史时区无法确定。
- 地点解析没有唯一合法候选且调用方未确认。
- Profile 缺少必要边界规则。
- 依赖数据损坏或版本不匹配。
对原始输入,将排盘提升为集合值计算:
解释:
- :无法生成合法命盘。
- :命盘在当前输入精度下稳定。
- :输入跨越了至少一个能改变四柱的边界。
6. 字段稳定性
对于任意命盘派生字段:
定义候选值集合:
字段稳定当且仅当:
若 ,报告必须使用候选或条件表达;若 ,字段为无定义,不得伪造默认值。
6.1 精度单调性
设同一原始输入的两个规范化候选集为 和 。若:
则必须有:
即增加可靠信息只能排除候选,不能产生原先不可能的命盘。
6.2 不确定性非增益
若下游结论 依赖字段集合 ,且其中存在不稳定或无定义字段,则 不得被标成无条件确定。形式化为:
7. 五行和十神族有限代数
7.1 五行
定义五行循环:
采用稳定顺序:
0木 1火 2土 3金 4水
相生:
相克:
天干到五行和阴阳的映射必须是固定总函数:
7.2 十神关系族
设日干五行为 ,目标干五行为 ,定义:
| 十神关系族 | |
|---|---|
| 0 | 比劫 |
| 1 | 食伤 |
| 2 | 财 |
| 3 | 官杀 |
| 4 | 印 |
再按目标干与日干阴阳是否相同细分:
| 关系族 | 同阴阳 | 异阴阳 |
|---|---|---|
| 比劫 | 比肩 | 劫财 |
| 食伤 | 食神 | 伤官 |
| 财 | 偏财 | 正财 |
| 官杀 | 七杀 | 正官 |
| 印 | 偏印 | 正印 |
证明义务:
- 任意日干和目标干恰好映射到一个十神。
- 10 个目标干在固定日干下覆盖 10 个十神且各出现一次。
- 映射只依赖五行关系和阴阳,不依赖报告文案。
藏干十神应先通过地支到藏干的版本化映射展开,再逐个复用同一十神函数;不得维护第二套十神表。
8. 规则形式语义
一条规则定义为:
其中:
id:稳定规则 ID。domain:适用能力和结构层。predicate:成立条件。exceptions:不适用或破坏条件。conclusion:结构化命题,不是自由文案。evidence:输入字段、派生字段和来源规则引用。priority:冲突处理中的显式优先关系。risk:输出限制和禁止用途。
8.1 四值求值
规则求值域定义为:
true:条件成立且没有例外命中。false:条件明确不成立或例外明确成立。unknown:必要字段无定义、不稳定或证据不足。conflict:多个候选输入或多个适用规则产生互斥命题,且当前裁决策略不能消解。
规则不得把 unknown 当成 false,也不得把 conflict 隐藏为单一结论。
8.2 规则应用
令 为命盘派生字段集合,则:
对于候选命盘集合:
只有所有候选都得到相同、非 unknown、非 conflict 的结果时,规则状态才可视为稳定。
9. 冲突裁决
冲突裁决定义为版本化函数:
裁决必须输出:
- 参与裁决的规则 ID。
- 每条规则的输入证据。
- 优先级或权重依据。
- 被保留、降级或拒绝的命题。
- 未解决冲突。
- 风险边界。
权重只允许排序或表达相对解释优先级,不能修改四柱、五行、十神等基础事实,也不能把证据不足变成确定结论。
10. Evidence DAG
每个报告命题都应能映射到有向无环证据图:
节点类型至少包括:
RawInputCanonicalCandidateProfileCalendarFactPillarDerivedFeatureRuleEvaluationArbitrationReportProposition
边 a -> b 表示 b 依赖 a。
证据图必须满足:
- 无循环依赖。
- 每个最终命题至少可回溯到一个输入节点、一个 Profile 节点和一个规则或算法节点。
- 规则文案不得成为上游事实节点。
- 不稳定节点的状态必须传播到所有依赖它的结论。
- Evidence 只证明推导链存在,不证明现实预测效力。
11. 核心证明义务
PO-01 确定性
相同 canonical 输入 hash、Profile hash、引擎版本和依赖锁定版本必须生成相同 canonical 输出 hash。
PO-02 值域合法性
任意四柱输出属于 ,任意十神输出属于登记的十神有限集合。
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. 尚未定稿的内容
以下内容不得因为本文存在而被视为已经形式化完成:
- 年柱、月柱、日柱、时柱的完整计算公式和历史适用范围。
- 真太阳时方程和天文 provider 精度界限。
- 地支藏干及其权重 Profile。
- 十二长生、纳音、空亡和神煞的统一有限映射。
- 强弱、格局、调候、用神和合化的完整规则语义。
- 大运、流年、流月和起运时间的完整状态模型。
- 数学规范与现有 legacy kernel 的逐字段差异清单。
这些内容必须按 BUILD.md 的顺序逐项建立定义、机器契约、实现映射和验证证据。