Skip to main content

Route

Enum Route 

Source
pub enum Route {
Show 34 variants TwoSat, Horn, Lll, Pigeonhole, CuttingPlanes, Parity, ExactCover, ModP, ModM, Collapse, HybridXor, Sos, Nullstellensatz, SymmetryBreak, NestedSymmetry, Sel, LocalSymmetry, OrbitalBranch, SymmetricProbe, SymmetricBinary, OrbitWeightQuotient, SymmetryPropagate, SymmetricComponent, SymmetrySimplify, SemanticSymmetry, AlmostSymmetry, DeclaredSymmetry, RecursiveBreak, Incompressible, Component, BoundedVarElim, EquivLit, TreeWidth, Cdcl,
}
Expand description

Which engine decided the instance.

Variants§

§

TwoSat

§

Horn

§

Lll

§

Pigeonhole

§

CuttingPlanes

§

Parity

§

ExactCover

Exactly-one groups harvested from the raw clauses (all-positive clause + full pairwise at-most-one) yield Σ_{v∈g} x_v = 1 over every modulus; Gaussian elimination over small fields finds the counting obstruction — the parity sum, the signed bipartite combination — with the refutation re-checked fail-closed. The covering-encoded counting crusher.

§

ModP

§

ModM

§

Collapse

§

HybridXor

§

Sos

§

Nullstellensatz

§

SymmetryBreak

§

NestedSymmetry

§

Sel

§

LocalSymmetry

§

OrbitalBranch

§

SymmetricProbe

§

SymmetricBinary

§

OrbitWeightQuotient

§

SymmetryPropagate

§

SymmetricComponent

§

SymmetrySimplify

§

SemanticSymmetry

§

AlmostSymmetry

§

DeclaredSymmetry

§

RecursiveBreak

§

Incompressible

The formula is certified to carry no linear/parity symmetry shortcut and is provably rigid, so the symmetry arsenal is useless — decided by CDCL with that honest “no shortcut” verdict on record.

§

Component

The formula split into independent components with no symmetry relating them; each was solved apart through the full arsenal and the verdicts combined (the plain-decomposition analogue of separability).

§

BoundedVarElim

Certified bounded variable elimination (Davis–Putnam, non-growing) reduced the formula to . The missing preprocessing crusher: it refutes bounded-treewidth cores the symmetry/algebra chain declared Incompressible. Its RUP resolvents + clause deletions are the independently checkable proof.

§

EquivLit

The binary-implication graph’s SCCs forced x ≡ ¬x — the 2-clauses alone refute the formula. Catches general (non-pure-2SAT) formulas whose binary sub-part is contradictory, which the pure-TwoSat route misses. Certified by a short RUP chain ((x), (¬x), ), re-checkable by propagation.

§

TreeWidth

Davis–Putnam bucket elimination refuted the formula with every resolvent width ≤ a cap — a bounded- treewidth resolution certificate (2^w·n). Covers the medium-treewidth families that BVE’s non-growing rule misses; declines (leaving Incompressible) on the high-treewidth residue where width would blow up.

§

Cdcl

Trait Implementations§

Source§

impl Clone for Route

Source§

fn clone(&self) -> Route

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Route

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Route

Source§

fn eq(&self, other: &Route) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Route

Source§

impl Eq for Route

Source§

impl StructuralPartialEq for Route

Auto Trait Implementations§

§

impl Freeze for Route

§

impl RefUnwindSafe for Route

§

impl Send for Route

§

impl Sync for Route

§

impl Unpin for Route

§

impl UnsafeUnpin for Route

§

impl UnwindSafe for Route

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.