algebraeon_sets/structure/
mod.rs

1//! Abstractions over sets with certain structure.
2//!
3//! The structure framework used by `algebraeon_rings` is established here.
4
5mod empty_set;
6mod finite_set;
7mod morphism;
8mod orderings;
9mod pairs;
10mod singleton_set;
11#[allow(clippy::module_inception)]
12mod structure;
13
14pub use algebraeon_macros::CanonicalStructure;
15pub use empty_set::EmptySetStructure;
16pub use finite_set::EnumeratedFiniteSetStructure;
17pub use morphism::{
18    BijectiveFunction, BorrowedMorphism, CompositionMorphism, Endofunction, Endomorphism,
19    FiniteSetEndofunctions, Function, Functions, IdentityMorphism, InjectiveFunction, Morphism,
20    Permutation,
21};
22pub use orderings::{OrdSignature, PartialOrdSignature};
23pub use pairs::{PairsStructure, UnorderedPair, UnorderedPairs};
24pub use singleton_set::SingletonSetStructure;
25pub use structure::{
26    BorrowedSet, BorrowedStructure, CountableSetSignature, EqSignature, FiniteSetSignature,
27    MaybeFiniteSetSignature, MetaType, SetSignature, Signature, ToStringSignature,
28};