lean2/src/library/abstract_expr_manager.h

25 lines
635 B
C++

/*
Copyright (c) 2015 Daniel Selsam. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Author: Daniel Selsam
*/
#pragma once
#include "kernel/expr.h"
#include "library/fun_info_manager.h"
namespace lean {
/** \brief Abstract expression manager, to allow comparing expressions while ignoring subsingletons. */
class abstract_expr_manager {
fun_info_manager & m_fun_info_manager;
public:
abstract_expr_manager(fun_info_manager & f_info_manager):
m_fun_info_manager(f_info_manager) { }
unsigned hash(expr const & e);
bool is_equal(expr const & a, expr const & b);
};
}