@@ -378,24 +378,26 @@ struct mbp_array_tg::impl {
378378                mark_seen (term);
379379            }
380380        }
381-         if  (!m_use_mdl) return  progress; 
382-         expr * e1 , * e2 , *a1, *a2, *i1, *i2 ;
381+         if  (!m_use_mdl) 
382+              return  progress ;
383383        for  (unsigned  i = 0 ; i < rdTerms.size (); i++) {
384-             e1  = rdTerms.get (i);
385-             a1 = to_app (e1 )->get_arg (0 );
386-             i1 = to_app (e1 )->get_arg (1 );
384+             app* e1  = to_app (rdTerms.get (i));
385+             expr* a1 = e1 ->get_arg (0 );
387386            for  (unsigned  j = i + 1 ; j < rdTerms.size (); j++) {
388-                 e2  = rdTerms.get (j);
389-                 a2 = to_app (e2 )->get_arg (0 );
390-                 i2 = to_app (e2 )->get_arg (1 );
391-                 if  (!is_seen (e1 , e2 ) && a1->get_id () == a2->get_id ()) {
387+                 app* e2  = to_app (rdTerms.get (j));
388+                 expr* a2 = e2 ->get_arg (0 );
389+                 if  (!is_seen (e1 , e2 ) && a1 == e2 ) {
392390                    mark_seen (e1 , e2 );
393391                    progress = true ;
394-                     if  (m_mdl.are_equal (i1, i2)) {
395-                         m_tg.add_eq (i1, i2);
396-                     } else  {
397-                         SASSERT (!m_mdl.are_equal (i1, i2));
398-                         m_tg.add_deq (i1, i2);
392+                     for  (unsigned  k = 1 ; k < e1 ->get_num_args (); ++k) {
393+                         expr* i1 = e1 ->get_arg (k);
394+                         expr* i2 = e2 ->get_arg (k);
395+                         if  (m_mdl.are_equal (i1, i2)) 
396+                             m_tg.add_eq (i1, i2);                        
397+                         else  {
398+                             SASSERT (!m_mdl.are_equal (i1, i2));
399+                             m_tg.add_deq (i1, i2);
400+                         }
399401                    }
400402                    continue ;
401403                }
0 commit comments