code wiki / (root) / nx_pre_sat.nx

nx_pre_sat.nx

buildroot/runtime/nx_pre_sat.nx

3456 B90 linesdepth 7pulls 8 transitivereach 5 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_pre_sat.nx -- pre-saturation simplification of input clause set. Per Vampire-displacement roadmap Phase 2. Before the saturation loop starts, run a pass that drops tautologies + forward-subsumed clauses from the input. Reduces the initial working set, which compounds with the discount loop's per-step pruning. Pure composition over existing primitives: - nx_is_tautology (nx_tautology.nx) - nx_subsumes (nx_subsumption.nx) Algorithm (linear-quadratic in n_input): For each input clause C in order: 1. If C is a tautology -> drop. 2. If any already-kept clause subsumes C -> drop. 3. Otherwise: backward-subsume the kept set against C (drop any older C' that the new C subsumes), then add C. This is a one-shot variant of the discount loop's per-pick filter, applied to the input batch only -- it doesn't re-saturate.

dependencies 8 imports · 5 importers

nx_syscalls.nx nx_runtime.nx nx_tier.nx nx_result.nx nx_unify.nx nx_resolution.nx nx_subsumption.nx nx_tautology.nx nx_pre_sat.nx nx_avatar_solve_test.nx nx_casc_runner_test.nx nx_pre_sat_test.nx nx_solve.nx nx_solve_test.nx

imports: nx_syscalls.nxnx_runtime.nxnx_tier.nxnx_result.nxnx_unify.nxnx_resolution.nxnx_subsumption.nxnx_tautology.nx

imported by: nx_avatar_solve_test.nxnx_casc_runner_test.nxnx_pre_sat_test.nxnx_solve.nxnx_solve_test.nx

structs

none

consts

none

functions

39func nx_pre_sat_simplify(input: *Clause, n_input: nx_int, eq_sym: nx_int,