//! Stage 1 — Grounding implementations.
//!
//! Concrete implementations of the [`Grounder`](crate::pipeline::traits::Grounder)
//! trait, which eliminates first-order variables from an [`AspicSystem`](crate::system::AspicSystem)
//! by substituting constants from the Herbrand base.
//!
//! | Implementation | Strategy |
//! |----------------|----------|
//! | [`NaiveGrounder`] | Full Herbrand enumeration — simple but generates all substitutions |
//! | [`SemiNaiveGrounder`] | Bottom-up fixpoint with delta iteration — avoids irrelevant ground instances |

pub mod naive;
pub mod semi_naive;

pub use naive::NaiveGrounder;
pub use semi_naive::SemiNaiveGrounder;
