feat(library/app_builder): add mk_ite

This commit is contained in:
Leonardo de Moura 2016-09-02 17:04:01 -07:00
parent 6dcf0725d7
commit 4875741a37
2 changed files with 9 additions and 0 deletions

View file

@ -951,6 +951,12 @@ expr mk_false_rec(type_context & ctx, expr const & c, expr const & H) {
return app_builder(ctx).mk_false_rec(c, H);
}
expr mk_ite(type_context & ctx, expr const & c, expr const & t, expr const & e) {
bool mask[5] = {true, false, false, true, true};
expr args[3] = {c, t, e};
return mk_app(ctx, get_ite_name(), 5, mask, args);
}
void initialize_app_builder() {
register_trace_class("app_builder");
}

View file

@ -155,6 +155,9 @@ expr mk_ss_elim(type_context & ctx, expr const & A, expr const & ss_inst, expr c
/** \brief False elimination */
expr mk_false_rec(type_context & ctx, expr const & c, expr const & H);
/* (if c then t else e) */
expr mk_ite(type_context & ctx, expr const & c, expr const & t, expr const & e);
level get_level(type_context & ctx, expr const & A);
void initialize_app_builder();