pub struct ProofTrace {
pub steps: Vec<ProofStep>,
pub root: u32,
pub naf_dependent: bool,
pub cwa_false: bool,
}Expand description
Complete proof trace: steps array + root index.
Fields§
§steps: Vec<ProofStep>§root: u32§naf_dependent: boolTrue if any step in this trace used negation-as-failure (CWA assumption). Under open-world semantics, NAF-dependent conclusions would be Unknown. Populated by nibli-reason at trace construction; serialized over the wire.
cwa_false: boolTrue if the verdict is a CLOSED-WORLD FALSE: not derivable from the KB
(the closed-world assumption), as opposed to a numeric/arithmetic FALSE that
was genuinely DECIDED (e.g. 5 dunli 3). A closed-world FALSE is the dual of
naf_dependent — under open-world semantics it would be Unknown, not a proof
of the negation. Computed by nibli-reason from the verdict (it needs to distinguish
FALSE from Unknown, both of which have a non-holding root), so unlike
naf_dependent it cannot be recomputed from the steps alone.
Implementations§
Source§impl ProofTrace
impl ProofTrace
Sourcepub fn has_naf_dependency(&self) -> bool
pub fn has_naf_dependency(&self) -> bool
Returns true if any step in this proof trace used negation-as-failure.
A Negation step with holds: true means the inner formula was unprovable
and NAF flipped it to True — this is the CWA assumption in action.
Under open-world semantics, the same conclusion would be Unknown.
Trait Implementations§
Source§impl Clone for ProofTrace
impl Clone for ProofTrace
Source§fn clone(&self) -> ProofTrace
fn clone(&self) -> ProofTrace
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more