Skip to main content

Crate propaga_core

Crate propaga_core 

Source
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§

id

Structs§

Explanation
Collected explanation for the latest conflict or propagation round.
Nogood
Learned nogood: the conjunction of literals cannot all hold simultaneously.
NogoodLiteral
Branch literal: variable must equal value for this nogood to apply.

Enums§

BoundKind
Kind of bound tightening applied to a domain.
ChangeReason
Why a domain change occurred.
PropagaError
Errors returned by the propagation engine.
PropagationStatus
Result of a single propagator invocation or propagation round.

Traits§

Domain
Domain that can be cloned and stored in the engine.
DomainView
Read-only interface for inspecting a variable domain.
PropagationContext
Mutable propagation view used by propagators to read and tighten domains.
Propagator
A constraint propagator that reacts to domain changes on watched variables.