aristo/lib.rs
1//! Aristo SDK — annotation macros and verification.
2//!
3//! This is the meta-crate. Downstream users add `aristo` to their `Cargo.toml`
4//! and receive the proc-macros (`#[aristo::intent]`, `#[aristo::assume]`,
5//! `aristo::intent_stmt!()`, `aristo::assume_stmt!()`) via re-export. Shared
6//! types from `aristo-core` are re-exported as that crate's public API
7//! stabilizes.
8//!
9//! Why a meta-crate: per K2 / K3 the canonical implementation is the Rust
10//! `aristo-cli` binary; the proc-macro work happens in `aristo-macros`; the
11//! types live in `aristo-core`. Downstream users should not need to learn
12//! that split — they depend on `aristo` and get everything they need.
13
14pub use aristo_macros::{assume, assume_stmt, intent, intent_stmt};