1#![cfg_attr(doc, doc = include_str!("Epigram.md"))]
5#![cfg_attr(doc, doc = include_str!("Purpose.md"))]
7#![cfg_attr(doc, doc = include_str!("SystemOverview.md"))]
9#![cfg_attr(doc, doc = include_str!("FormalSpec.md"))]
11#![cfg_attr(doc, doc = include_str!("../docs/SCHOLARLY_CONTEXT.md"))]
13#![cfg_attr(doc, doc = include_str!("Hyperlinks.md"))]
15#![cfg_attr(nightly, feature(doc_cfg))]
16#![allow(unknown_lints)]
17#![warn(
18 missing_docs,
19 unnameable_test_items,
20 unused_doc_comments,
21 clippy::cfg_not_test,
22 clippy::doc_comment_double_space_linebreaks,
23 clippy::doc_include_without_cfg,
24 clippy::doc_lazy_continuation,
25 clippy::doc_link_code,
26 clippy::doc_link_with_quotes,
27 clippy::doc_markdown,
28 clippy::doc_nested_refdefs,
29 clippy::doc_overindented_list_items,
30 clippy::doc_suspicious_footnotes,
31 clippy::empty_docs,
32 clippy::empty_line_after_doc_comments,
33 clippy::empty_line_after_outer_attr,
34 clippy::items_after_test_module,
35 clippy::missing_docs_in_private_items,
36 clippy::missing_errors_doc,
37 clippy::missing_panics_doc,
38 clippy::missing_safety_doc,
39 clippy::needless_doctest_main,
40 clippy::redundant_test_prefix,
41 clippy::suspicious_doc_comments,
42 clippy::tabs_in_doc_comments,
43 clippy::test_attr_in_doctest,
44 clippy::tests_outside_test_module,
45 clippy::too_long_first_doc_paragraph,
46 clippy::undocumented_unsafe_blocks,
47 clippy::unicode_not_nfc,
48 clippy::unnecessary_safety_doc,
49 rustdoc::all,
50 rustdoc::missing_doc_code_examples
51)]
52#![deny(invalid_doc_attributes)]
53#![allow(rustdoc::private_doc_tests)]
54
55pub mod bool_eval;
56pub(crate) mod distinct;
57pub(crate) mod error;
58pub(crate) mod formatter;
59pub mod logic;
60pub(crate) mod macros;
61pub mod metamath;
62pub(crate) mod metavariable;
63pub(crate) mod mgutype;
64pub(crate) mod node;
65pub mod search;
66pub(crate) mod statement;
67pub(crate) mod term;
68
69pub use distinct::pair::Pair;
70pub use distinct::simple_graph::check_clique;
71pub use distinct::simple_graph::check_decomposition;
72pub use distinct::simple_graph::Clique;
73pub use distinct::simple_graph::Decomposition;
74pub use distinct::simple_graph::SimpleGraph;
75pub use distinct::DistinctnessGraph;
76pub use error::base::MguError;
77pub use error::MguErrorType;
78pub use formatter::{
79 get_formatter, get_type_color, get_type_color_from_trait, register_formatter,
80 register_type_color, Color, OutputFormatter,
81};
82pub use metavariable::charset::WideCharSet;
83pub use metavariable::decorator::{Decorator, Prime};
84pub use metavariable::enums::AsciiMetaVar;
85pub use metavariable::factory::MetavariableFactory;
86pub use metavariable::meta_byte::MetaByte;
87pub use metavariable::meta_byte::MetaByteFactory;
88pub use metavariable::parametric::ParametricMetavariable;
89pub use metavariable::wide::WideMetavariable;
90pub use metavariable::wide::WIDE_BOOLEANS;
91pub use metavariable::wide::WIDE_BOOLEANS_ASCII;
92pub use metavariable::wide::WIDE_CLASSES;
93pub use metavariable::wide::WIDE_CLASSES_ASCII;
94pub use metavariable::wide::WIDE_SETVARS;
95pub use metavariable::wide::WIDE_SETVARS_ASCII;
96pub use metavariable::wide_factory::WideMetavariableFactory;
97pub use metavariable::Metavariable;
98pub use mgutype::base::SimpleType;
99pub use mgutype::type_factory::SimpleTypeFactory;
100pub use mgutype::type_factory::TypeFactory;
101pub use mgutype::type_trait::Type;
102pub use mgutype::type_trait::TypeCore;
103pub use node::base::Node;
104pub use node::factory::NodeFactory;
105pub use node::node_byte::base::NodeByte;
106pub use node::node_byte::factory::NodeByteFactory;
107pub use statement::Statement;
108pub use term::base::Term;
109pub use term::factory::TermFactory;
110pub use term::simple::EnumTerm;
111pub use term::simple::EnumTermFactory;
112pub use term::substitution::apply_substitution;
113pub use term::substitution::occurs_check;
114pub use term::substitution::unify;
115pub use term::substitution::NormalizingSubstitution;
116pub use term::substitution::Substitution;
117
118#[cfg(test)]
119mod tests {
120 #[test]
121 fn it_works() {
122 assert_eq!(2 + 2, 4);
123 }
124}