Expand description
Core types and traits for the Propaga constraint solver.
This crate defines variables, domains, propagators, explanations, nogoods, and the propagation context used by the engine and search layers.
Re-exports§
pub use id::PropagatorId;pub use id::PropagatorKey;pub use id::VariableId;pub use id::VariableKey;
Modules§
Structs§
- Explanation
- Collected explanation for the latest conflict or propagation round.
- Nogood
- Learned nogood: the conjunction of literals cannot all hold simultaneously.
- Nogood
Literal - Branch literal:
variablemust equalvaluefor this nogood to apply.
Enums§
- Bound
Kind - Kind of bound tightening applied to a domain.
- Change
Reason - Why a domain change occurred.
- Propaga
Error - Errors returned by the propagation engine.
- Propagation
Status - Result of a single propagator invocation or propagation round.
Traits§
- Domain
- Domain that can be cloned and stored in the engine.
- Domain
View - Read-only interface for inspecting a variable domain.
- Propagation
Context - Mutable propagation view used by propagators to read and tighten domains.
- Propagator
- A constraint propagator that reacts to domain changes on watched variables.