pub struct UnitPropIso {
pub cap: usize,
}Expand description
Unit-propagate to fixpoint, then canonicalize up to CNF-isomorphism — strictly coarser than
CofactorIso (cofactors that reduce to isomorphic residuals after propagation merge, and all
unit-refutable cofactors collapse into one). A collapse-measure congruence only: unit
propagation is a structural reduction, not a relabeling, so the returned twist is the iso-twist of
the reduced form — valid for quotient_class_count (which uses only the canonical key), not for
the twist-certificate quotient_dag (a propagation merge is certified by RUP instead).
Fields§
§cap: usizeTrait Implementations§
Source§impl Congruence for UnitPropIso
impl Congruence for UnitPropIso
Source§fn canonicalize(&self, clauses: &CanonClauses) -> (CanonClauses, Twist)
fn canonicalize(&self, clauses: &CanonClauses) -> (CanonClauses, Twist)
The canonical representative of
clauses’s class, and the twist mapping clauses onto it
(i.e. apply_twist(clauses, twist) == representative).Auto Trait Implementations§
impl Freeze for UnitPropIso
impl RefUnwindSafe for UnitPropIso
impl Send for UnitPropIso
impl Sync for UnitPropIso
impl Unpin for UnitPropIso
impl UnsafeUnpin for UnitPropIso
impl UnwindSafe for UnitPropIso
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