| 558 | } |
| 559 | |
| 560 | bool array_decl_plugin::is_value(app * _e) const { |
| 561 | expr* e = _e; |
| 562 | array_util u(*m_manager); |
| 563 | while (true) { |
| 564 | if (u.is_const(e, e)) |
| 565 | return m_manager->is_value(e); |
| 566 | if (u.is_store(e)) { |
| 567 | for (unsigned i = 1; i < to_app(e)->get_num_args(); ++i) |
| 568 | if (!m_manager->is_value(to_app(e)->get_arg(i))) |
| 569 | return false; |
| 570 | e = to_app(e)->get_arg(0); |
| 571 | continue; |
| 572 | } |
| 573 | return false; |
| 574 | } |
| 575 | } |
| 576 | |
| 577 | bool array_decl_plugin::is_unique_value(app* _e) const { |
| 578 | array_util u(*m_manager); |
nothing calls this directly
no test coverage detected