// ---
// tags: trident, rust
// crystal-type: source
// crystal-domain: comp
// ---
//! Automatic invariant synthesis for Trident programs.
//!
//! Techniques:
//! 1. Template-based synthesis: match common patterns (accumulation, counting,
//! monotonic updates) and instantiate invariant templates.
//! 2. Counterexample-guided inductive synthesis (CEGIS): propose candidate
//! invariants, verify with solver, refine using counterexamples.
//! 3. Specification inference: suggest postconditions from code analysis.
pub use ;
pub use match_templates;
pub use ;
pub use crate*;
pub use cratesolve;
pub use crate;
use BTreeMap;
// โโโ Data Structures โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/// A synthesized invariant or specification.
/// The kind of synthesized specification.
// โโโ Pattern Descriptors โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/// Describes an accumulation pattern found in a loop.
/// The kind of accumulation operation.
/// Describes a monotonic update pattern.
// โโโ Top-Level Entry Points โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/// Analyze a file and synthesize specifications for all functions.
/// Format all synthesized specs as a human-readable report.
// โโโ Per-Function Synthesis โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/// Synthesize specs for a single function.
// โโโ AST Utility Helpers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/// Collect mutable variable initializations from a block.
/// Returns `(variable_name, init_expression)` pairs.
pub
/// Check if a `Place` is a simple variable reference to the given name.
pub
/// Check if an expression is a simple variable reference to the given name.
pub
/// Convert an expression to a human-readable string (best effort).
pub
Homonyms
cyb/evy/forks/naga/src/back/hlsl/mod.rs
struct Baz { m: mat3x2, } struct Baz { float2 m_0; float2 m_1; float2 m_2; }; float3x2 GetMatmOnBaz(Baz obj) { return float3x2(obj.m_0, obj.m_1, obj.m_2); }