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:

enumerate ASSEMBLIES_DA 
enumerate ASSERTIONS_DA 
enumerate IMPLICATIONS_DA 
enumerate NOUN_RESOLUTION_DA 
enumerate PRONOUNS_DA 
enumerate 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) {
}