pub struct Fact {
pub atom: AtomId,
pub value: Value,
pub origin: Origin,
pub soft: bool,
}Expand description
A confident fact (from FACT / NOT). Conflicting facts on the same atom
are preserved (both kept) — the solver reports that as a CONFLICT.
Fields§
§atom: AtomIdThe atom this fact pins down.
value: ValueThe asserted truth value.
origin: OriginWhere it came from (for the report).
soft: booltrue for an ASSUME (a soft, retractable hypothesis). A soft fact
behaves like a normal fact in the forward pass, but when the assumptions
cannot all hold the solver may drop it (and only it) to explain the
contradiction — a FACT/NOT is never retractable.
Trait Implementations§
impl Eq for Fact
impl StructuralPartialEq for Fact
Auto Trait Implementations§
impl Freeze for Fact
impl RefUnwindSafe for Fact
impl Send for Fact
impl Sync for Fact
impl Unpin for Fact
impl UnsafeUnpin for Fact
impl UnwindSafe for Fact
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more