目录文档-技术白皮书15-EFT.WP.Methods.Falsification v1.0

附录B 实现绑定与函数原型


I. 范围与目标


II. 术语与符号


III. 原型清单与参数(I50-1 → I50-10)

  1. I50-1 define_hypothesis(spec:dict) -> Hypothesis
    • 目的:注册可证伪的 H0/H1、效果量口径与通过门。
    • 输入:spec = {H0:str, H1:str, effect_size:str, alpha:float, power_target:float, delta_equiv:float?}。
    • 输出:Hypothesis = {id:str, spec:dict, created_at:ts, anchor}。
    • 前置:check_dim(spec);文本规范通过。
    • 后置:写入审计轨 AuditTrail,签名 hash(spec)。
  2. I50-2 register_assertions(spec:dict) -> AssertionSet
    • 目的:登记断言与形变关系 MR_k。
    • 输入:spec = {assertions:list, MR:list, oracle:str}。
    • 输出:AssertionSet = {id:str, assertions:list, MR:list}。
    • 前置:oracle 可解析。
    • 后置:cov_spec 初始为 0。
  3. I50-3 generate_counterexamples(runtime:any, hypothesis:Hypothesis, ops:list, budget:dict) -> CEReport
    • 目的:生成反例与失败最小证据。
    • 输入:ops ⊆ {fuzz, mutation, adversarial(epsilon)},budget.* 明示。
    • 输出:CEReport = {cases:list, kill_rate:float, logs:any}。
    • 后置:产出 fingerprint,记录 rng.seed/rng_family。
  4. I50-4 metamorphic_transform(x:any, MR:dict) -> x_prime:any
    • 目的:按 MR_k 生成 x_prime。
    • 输入:MR = {name:str, params:dict, invariants:list}。
    • 输出:x_prime 与不变量校验结果。
    • 后置:失败时抛 E_ORACLE_AMBIGUOUS 或返回 invariant=false。
  5. I50-5 adversarial_attack(runtime:any, x:any, method:str, eps:dict) -> AttackReport
    • 目的:对白盒/黑盒方法进行对抗攻击。
    • 输入:method ∈ {fgsm, pgd, cw, square, gradient_attack};eps = {epsilon_linf:float?, epsilon_l2:float?, steps:int}。
    • 输出:AttackReport = {x_adv:any, success:bool, eps:dict, loss_after:float}。
    • 资源:受 budget.* 与 EnvLock 限制。
  6. I50-6 sequential_test(stream:any, rule:dict) -> {decision:str, alpha_spent:float}
    • 目的:顺序/自适应检验(含 SPRT/alpha-spending)。
    • 输入:rule = {type:str, alpha:float, beta:float, spending:str, bounds:dict}。
    • 输出:decision ∈ {accept, reject, continue},alpha_spent。
    • 前置:流式样本已映射到 tau_mono 并与 ts 对齐。
  7. I50-7 oracle_score(y_true:any, y_pred:any, oracle:any) -> Verdict
    • 目的:统一评分与证伪判决。
    • 输出:Verdict = {score:float, pass:bool, delta_claim:float}。
    • 后置:记录 p_value/effect_size(如适用)。
  8. I50-8 compute_coverage(logs:any) -> CoverageReport
    • 目的:计算 cov_case/cov_spec/kill_rate 等指标。
    • 输出:CoverageReport = {cov_case:float, cov_spec:float, kill_rate:float, C_hit:int, C_total:int}。
  9. I50-9 gate_release(evidence:dict, policy:dict) -> GateDecision
    • 目的:依据证据包与策略做上线守门。
    • 输入:evidence = {metrics:dict, intervals:dict, drift:dict, risks:dict};policy = {thresholds:dict, fdr:q_star?, risk_budget:dict}。
    • 输出:GateDecision ∈ {pass, hold, block},并附理由。
    • 后置:写入 AuditTrail 与 DiffCard。
  10. I50-10 regress_guard(baseline:any, candidate:any, tests:any) -> RegressionReport
    • 目的:非退化与回归防御。
    • 输出:RegressionReport = {delta_baseline:float, eq_rate:float, dist:float, pass:bool}。
    • 判据:pass = ( delta_baseline ≥ - tau_nonreg ) ∧ ( eq_rate ≥ tau_eq ) ∧ ( dist ≤ tau_dist )。

IV. 幂等与重放


V. 异常枚举与处理


VI. 参考片段(伪代码/状态机)

  1. 顺序检验 I50-6(alpha-spending 框架)
    • 状态:S = {running, accept, reject}。
    • 初始化:alpha_remain = alpha,beta_remain = beta。
    • 循环:
      1. 返回 {decision:S, alpha_spent} 当 S ≠ running。
      2. 记录 alpha_spent += alpha_step;alpha_remain -= alpha_step。
      3. 计算边界 A_t/B_t(接受/拒绝),若 T_t ≥ B_t 则 S=reject;若 T_t ≤ A_t 则 S=accept;否则 S=running。
      4. 分配花费 alpha_step = spend(alpha_remain, t, spending)。
      5. 拉取样本 x_t,更新统计量 T_t。
  2. 守门决策 I50-9(证据聚合)
    • 输入证据:coverage, performance, uncertainty, drift, risk.
    • 规则:
      1. 汇总:若全部通过且风险可控 → pass;若存在临界项或证据不足 → hold;若违反硬门限 → block。
      2. 检查风险预算:risk_used ≤ risk_budget.total。
      3. 如存在多重显著性比较,应用 q_star 控制 FDR。
      4. 多指标按 policy.thresholds 判定单项通过。
    • 输出附带:被触发的门限、alpha/p_value、区间与签名快照。
  3. 回归防御 I50-10(非退化守门)
    • 计算:delta_baseline = ( score_cand - score_base );eq_rate;dist。
    • 判定:
      pass = ( delta_baseline ≥ - tau_nonreg ) ∧ ( eq_rate ≥ tau_eq ) ∧ ( dist ≤ tau_dist )。
    • 若 pass=false,附带可复现实验切片与 rollback_trigger=true。

VII. 日志与审计轨字段


VIII. 资源与安全约束


IX. 版本与兼容性

  1. 版本语义:I50-* 遵循 MAJOR.MINOR.PATCH。
    • MAJOR 变更可能破坏向后兼容;
    • MINOR 增加可选参数,默认不改变行为;
    • PATCH 仅修复缺陷与文档。
  2. 弃用策略:标注 deprecated_since 与替代接口,至少保留 2 个 MINOR 周期。

X. 交叉引用与依赖


XI. 实施清单(交付件)


版权与许可(CC BY 4.0)

版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。

首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/