/*
Copyright (c) 2014 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

Author: Leonardo de Moura
*/
#include "kernel/environment.h"
#include "kernel/type_checker.h"
#include "kernel/expr.h"
#include "kernel/level.h"
#include "kernel/declaration.h"
#include "kernel/local_ctx.h"
#include "kernel/inductive.h"
#include "kernel/quot.h"

namespace lean {
void initialize_kernel_module() {
    initialize_level();
    initialize_expr();
    initialize_declaration();
    initialize_type_checker();
    initialize_environment();
    initialize_local_ctx();
    initialize_inductive();
    initialize_quot();
}

void finalize_kernel_module() {
    finalize_quot();
    finalize_inductive();
    finalize_local_ctx();
    finalize_environment();
    finalize_type_checker();
    finalize_declaration();
    finalize_expr();
    finalize_level();
}
}
