nx_tautology.nx
buildroot/runtime/nx_tautology.nx
about
nx_tautology.nx -- syntactic tautology detection on clauses.
Per Vampire-displacement roadmap Phase 1 step 4. A clause is a
tautology when its truth is forced regardless of interpretation;
such clauses add nothing to the search space and are dropped
before they enter the passive set.
Two patterns recognised here:
(a) Reflexive equality: + eq(t, t) for any term t.
(b) Propositional pair: contains both +L and -L over identical atoms.
Equality predicate symbol id is a parameter -- the caller (TPTP
parser, kernel API) names whichever sym_id "=" was registered
under. Avoids a magic constant baked into substrate.
Sealed verdict {NX_TAUTOLOGY, NX_NOT_TAUTOLOGY}. This is the
purely syntactic check; semantic tautology detection (E-resolution
across equivalent atoms) is a Phase 2 extension.
dependencies 6 imports · 18 importers
diagram shows first 10 each side; +0 more imports, +8 more importers in the complete lists below.
imports: nx_syscalls.nxnx_runtime.nxnx_tier.nxnx_result.nxnx_unify.nxnx_resolution.nx
imported by: nx_avatar_solve_test.nxnx_backward_subsume_test.nxnx_casc_bench.nxnx_casc_runner_test.nxnx_clause_weight_test.nxnx_discount_test.nxnx_fof_cnf_test.nxnx_fof_tseitin_test.nxnx_indexed_subsume_test.nxnx_pre_sat.nxnx_pre_sat_test.nxnx_saturation.nxnx_solve.nxnx_solve_test.nxnx_tautology_test.nxnx_tptp_formula_test.nxnx_tptp_load_test.nxnx_tptp_write_test.nx
structs
| none |
consts
| 33 | const NX_TAUTOLOGY: nx_int = 1 |
| 34 | const NX_NOT_TAUTOLOGY: nx_int = 0 |
functions
| 39 | func nx_lit_is_reflexive_eq(l: *Literal, eq_sym: nx_int) -> nx_int |
| 51 | func nx_is_tautology(c: *Clause, eq_sym: nx_int) -> nx_int |
| 73 | func nx_tautology_verdict_name(v: nx_int) -> *u8 called by 1: report |