diff --git a/Cargo.lock b/Cargo.lock index d272a37ba..c35d27a37 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1070,6 +1070,7 @@ dependencies = [ "flatzinc", "log", "pumpkin-checker", + "pumpkin-checking", "pumpkin-conflict-resolvers", "pumpkin-constraints", "pumpkin-core", diff --git a/pumpkin-solver/Cargo.toml b/pumpkin-solver/Cargo.toml index c3cabaa48..34cd14ae1 100644 --- a/pumpkin-solver/Cargo.toml +++ b/pumpkin-solver/Cargo.toml @@ -17,6 +17,7 @@ pumpkin-core = { version = "0.5.0", path = "../pumpkin-crates/core/", features = pumpkin-constraints = { version = "0.5.0", path = "../pumpkin-crates/constraints/"} pumpkin-propagators = { version = "0.5.0", path = "../pumpkin-crates/propagators/", features=["clap"]} pumpkin-conflict-resolvers = { version = "0.5.0", path = "../pumpkin-crates/conflict-resolvers/"} +pumpkin-checking = { version = "0.5.0", path = "../pumpkin-crates/checking/"} signal-hook = "0.4.4" thiserror = "2.0.12" diff --git a/pumpkin-solver/src/lib.rs b/pumpkin-solver/src/lib.rs index cfc776f4b..561a041b8 100644 --- a/pumpkin-solver/src/lib.rs +++ b/pumpkin-solver/src/lib.rs @@ -347,6 +347,14 @@ pub mod propagators { pub use pumpkin_propagators::*; } +pub mod checking { + //! Exposes a common interface used to check inferences. + //! + //! The main exposed type is the [`InferenceChecker`], which can be implemented to verify + //! whether inferences are sound w.r.t. an inference rule. + pub use pumpkin_checking::*; +} + pub mod core { //! The core interfaces and structures used by the pumpkin solver. pub use pumpkin_core::*;