pub mod archetype_ref;
pub(crate) mod builder;
pub mod categories;
pub mod category_finding;
pub mod chain;
pub mod collection;
pub mod declared_law;
pub mod engine_spec;
pub mod finding;
pub mod findings;
pub mod invariant;
pub mod invariants;
pub mod law;
pub mod laws;
pub mod minimums;
pub mod mutation_class;
pub mod op;
pub mod op_registry;
pub mod ops;
pub mod oracle_kind;
pub mod overflow;
pub mod probe;
pub mod program;
pub mod proof_token;
pub mod property;
pub mod published;
pub mod registry;
pub mod row;
pub mod source;
pub mod tables;
pub mod types;
pub mod value;
pub mod verification;
pub mod version;
pub mod versions;
pub mod workgroup;
pub mod decode;
pub mod engine;
pub mod graph;
pub mod hash;
pub mod match_ops;
pub mod primitive;
pub mod primitive_goldens;
pub mod string;
pub use archetype_ref::ArchetypeRef;
pub use category_finding::{CategoryFinding, FindingLocation};
pub use declared_law::DeclaredLaw;
pub use engine_spec::EngineSpec;
pub use finding::Finding;
pub use invariant::EngineInvariant;
pub use invariants::{
by_category, by_id, catalog_is_complete, empty_test_family, invariants, Invariant,
InvariantCategory, InvariantId, TestDescriptor,
};
pub use law::{AlgebraicLaw, MonotonicDirection, LAW_CATALOG};
pub use mutation_class::MutationClass;
pub use op::{BoundaryValue, EquivalenceClass, OpSpec};
pub use oracle_kind::OracleKind;
pub use overflow::{OverflowContract, OverflowDeclaration};
pub use probe::{LabeledProbe, ReferenceTrustProbes};
pub use proof_token::{ConstructionTime, ProofToken, ProofTokenError};
pub use property::Property;
pub use row::SpecRow;
pub use source::{LawId, SpecSource};
pub use types::{BufferAccess, Convention, DataType, OpSignature};
pub use value::Value;
pub use verification::{FloatType, Verification};
pub use version::{Version, CURRENT_VERSION, V1_0};
#[must_use]
#[inline]
pub fn spec_op_sources() -> crate::spec::ops::OpSpecSources {
crate::spec::ops::OpSpecSources {
add: primitive::add::spec_layer_source(),
}
}