nx_casc_bench.nx
buildroot/runtime/nx_casc_bench.nx
about
nx_casc_bench.nx -- in-substrate honest bench: discount vs otter on
synthetic clause-set problems.
Per the honest-perf-verdict cardinal: emit sealed-enum per-axis
verdict, name the LOSE improvement, refuse weasel words. This
bench measures what we ACTUALLY can measure today (in-substrate
strategy comparison on synthetic problems). TPTP-file-driven
bench vs Vampire is BLOCKED on nx_tptp_formula parser; that gap
is reported explicitly, not papered over.
Axes measured (per problem):
AX_CORRECTNESS -- did each strategy reach UNSAT?
AX_STEPS -- budget consumed before halt
AX_PROCESSED -- clauses that entered the processed set
Per-axis sealed verdict:
WIN_DISCOUNT / WIN_OTTER / TIE / BOTH_FAIL / UNMEASURABLE
dependencies 9 imports · 0 importers
imports: nx_syscalls.nxnx_runtime.nxnx_tier.nxnx_result.nxnx_unify.nxnx_resolution.nxnx_subsumption.nxnx_tautology.nxnx_saturation.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 35 | const NX_VERDICT_WIN_DISCOUNT: nx_int = 1 |
| 36 | const NX_VERDICT_WIN_OTTER: nx_int = 2 |
| 37 | const NX_VERDICT_TIE: nx_int = 3 |
| 38 | const NX_VERDICT_BOTH_FAIL: nx_int = 4 |
| 39 | const NX_VERDICT_UNMEASURABLE: nx_int = 5 |
| 41 | const SYM_A: nx_int = 100 |
| 42 | const SYM_B: nx_int = 101 |
| 43 | const SYM_P: nx_int = 200 |
| 44 | const SYM_Q: nx_int = 201 |
| 45 | const SYM_R: nx_int = 202 |
| 46 | const SYM_EQ: nx_int = 50 |
functions
| 48 | func mk_p(p_sym: nx_int, c_sym: nx_int) -> *Term |
| 54 | func verdict_name(v: nx_int) -> *u8 called by 1: run_problem |
| 64 | func axis_lower_better(otter_val: nx_int, disc_val: nx_int, called by 1: run_problem |
| 72 | func axis_correctness(otter_v: nx_int, disc_v: nx_int) -> nx_int called by 1: run_problem |
| 87 | func mk_p1(s: *Saturation) |
| 97 | func mk_p2(s: *Saturation) |
| 116 | func mk_p3(s: *Saturation) |
| 141 | func run_problem(name: *u8, build: nx_int) |
| 178 | func main() -> nx_exit |