Setting up the use of this module.

§1. This section simply sets up the module in ways expected by foundation, and contains no code of interest. The following constant exists only in tools which use this module:

define ASSERTIONS_MODULE TRUE

§2. Like all modules, this one must define a start and end function:

enum ASSEMBLIES_DA
enum ASSERTIONS_DA
enum IMPLICATIONS_DA
enum NOUN_RESOLUTION_DA
enum PRONOUNS_DA
enum RELATION_DEFINITIONS_DA
COMPILE_WRITER(heading *, NameResolution::log_headings)
COMPILE_WRITER(table *, Tables::log)
COMPILE_WRITER(table_column *, Tables::Columns::log)

void AssertionsModule::start(void) {
    AdjectivalPredicates::start();
    CreationPredicates::start();
    Calculus::QuasinumericRelations::start();
    Relations::Universal::start();
    ExplicitRelations::start();
    EqualityDetails::start();
    KindPredicatesRevisited::start();
    ImperativeDefinitionFamilies::create();
    AdjectivesByPhrase::start();
    AdjectivesByCondition::start();
    AdjectivesByInterFunction::start();
    AdjectivesByInterCondition::start();

    REGISTER_WRITER('H', NameResolution::log_headings);
    REGISTER_WRITER('B', Tables::log);
    REGISTER_WRITER('C', Tables::Columns::log);

    Log::declare_aspect(ASSEMBLIES_DA, U"assemblies", FALSE, FALSE);
    Log::declare_aspect(ASSERTIONS_DA, U"assertions", FALSE, TRUE);
    Log::declare_aspect(IMPLICATIONS_DA, U"implications", FALSE, TRUE);
    Log::declare_aspect(NOUN_RESOLUTION_DA, U"noun resolution", FALSE, FALSE);
    Log::declare_aspect(PRONOUNS_DA, U"pronouns", FALSE, FALSE);
    Log::declare_aspect(RELATION_DEFINITIONS_DA, U"relation definitions", FALSE, FALSE);

    InternalTests::make_test_available(I"refinery",
        &Classifying::perform_refinery_internal_test, TRUE);
    InternalTests::make_test_available(I"equation",
        &Equations::perform_equation_internal_test, TRUE);
}
void AssertionsModule::end(void) {
}