28 lines
912 B
C
28 lines
912 B
C
|
/*
|
||
|
Copyright (c) 2014 Microsoft Corporation. All rights reserved.
|
||
|
Released under Apache 2.0 license as described in the file LICENSE.
|
||
|
|
||
|
Author: Leonardo de Moura
|
||
|
*/
|
||
|
#pragma once
|
||
|
#include "library/tactic/tactic.h"
|
||
|
|
||
|
namespace lean {
|
||
|
typedef std::function<tactic(environment const & env, expr const & e)> expr_to_tactic_fn;
|
||
|
void register_expr_to_tactic(name const & n, expr_to_tactic_fn const & fn);
|
||
|
struct register_tac {
|
||
|
register_tac(name const & n, expr_to_tactic_fn fn) { register_expr_to_tactic(n, fn); }
|
||
|
};
|
||
|
struct register_bin_tac {
|
||
|
register_bin_tac(name const & n, std::function<tactic(tactic const &, tactic const &)> f);
|
||
|
};
|
||
|
struct register_unary_tac {
|
||
|
register_unary_tac(name const & n, std::function<tactic(tactic const &)> f);
|
||
|
};
|
||
|
|
||
|
tactic expr_to_tactic(environment const & env, expr const & e);
|
||
|
expr mk_by(expr const & e);
|
||
|
bool is_by(expr const & e);
|
||
|
expr const & get_by_arg(expr const & e);
|
||
|
}
|