feat(kernel/inductive): use non-dependent elimination for Bool/Prop only if it is proof irrelevant

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2014-05-19 13:33:29 -07:00
parent eb92f3722f
commit a1086e440d

View file

@ -433,7 +433,7 @@ struct add_inductive_fn {
/** \brief Initialize m_dep_elim flag. */
void set_dep_elim() {
if (m_env.impredicative() && is_zero(m_it_levels[0]))
if (m_env.impredicative() && m_env.prop_proof_irrel() && is_zero(m_it_levels[0]))
m_dep_elim = false;
else
m_dep_elim = true;