:- true pred mmultiply(_A,_1,_B) : ( list(_A,list('basic_props:num')), list(_1,list('basic_props:num')), var(_B) ) => ( list(_A,list('basic_props:num')), list(_1,list('basic_props:num')), list(_B,list('basic_props:num')), rsize(_A,list(_C,_D,list(_E,_F,num(_G,_H)))), rsize(_1,list(_I,_J,list(_K,_L,num(_M,_N)))) ) + cost(ub,steps,_D**2*_F+_D**2*_J+2.0*(_L**2*_D*_J)-2.0*(_L**2*_D)-2.0*(_L**2*_J)+2.0*_L**2+_J**2*_D*_L+_J**2*_D-_J**2*_L-_J**2+2*(_F*_D*_J)-_F*_D-2*(_F*_J)+8.0*(_D*_L*_J)-9.0*(_D*_L)+5.0*(_D*_J)+10*_D-6.0*(_L*_J)+7.0*_L-6.0*_J). :- true pred multiply(_A,_1,_B) : ( list(_A,list('basic_props:num')), numlist(_1), var(_B) ) => ( list(_A,list('basic_props:num')), numlist(_1), numlist(_B), rsize(_A,list(_C,_D,list(_E,_F,num(_G,_H)))), rsize(_1,list(_I,_J,num(_K,_L))) ) + cost(ub,steps,2.0*(_F**2*_D)-2.0*_F**2+_D**2*_F+_D**2+6.0*(_F*_D)-7.0*_F+2*(_D*_J)+6.0*_D). :- true pred vmul(_A,_1) : ( numlist(_A), var(_1) ) => ( numlist(_A), num(_1), rsize(_A,list(_B,_C,num(_D,_E))) ) + cost(ub,steps,2.0*_C**2+7.0*_C). :- true pred nlilist([_A|_B]) : ( list(_A,num), list(_B,list('basic_props:num')) ) => ( numlist(_A), list(_B,list('basic_props:num')), rsize(_A,list(_C,_D,num(_E,_F))), rsize(_B,list(_G,_H,list(_I,_J,num(_K,_L)))) ) + cost(ub,steps,2*(_J*_H)-2*_J+2*_D+1). :- true pred nlilist(_A) : list(_A,list('basic_props:num')) => ( list(_A,list('basic_props:num')), rsize(_A,list(_B,_C,list(_D,_E,num(_F,_G)))) ) + cost(ub,steps,2*(_E*_C)-2*_E+1). :- true pred nlist([_A|_B]) : ( num(_A), numlist(_B) ) => ( num(_A), numlist(_B), rsize(_B,list(_C,_D,num(_E,_F))) ) + cost(ub,steps,2*_D+1). :- true pred nlist(_A) : list(_A,num) => ( numlist(_A), rsize(_A,list(_B,_C,num(_D,_E))) ) + cost(ub,steps,2*_C-1). :- true pred nlist([]) + cost(ub,steps,1).