wrest, в общем случае порядок элементов в множестве не фиксирован. Если нужен порядок, то вместо множества нужно использовать список (list). Но в данном случае выполняется в Maple 15 по порядку.
Более точно смотри ниже (я добавил в b1 вывод: print (S = s) )
Код:
 > b1:= proc(s, t) option remember;
 local m, Sum, i, dt; 
 print(S = s):
 m := nops(s):
 if m = 0
  then Sum := x^(t/2)
  else 
   Sum:= 0;
   for i in s
    do 
     if i < m
      then dt := 2^i
      else dt := 0
     end if; 
     Sum:= Sum + b1(s minus {i}, t + dt):
    end do:
 end if:
 Sum:
end:
Код:
 > for i from 1 to 3 do T(i) end do;
   S = {1}
   S = {}
     1
   S = {1, 2}
   S = {2}
   S = {}
     1, 1
   S = {1,2,3}
   S = {2,3}
   S = {3}
   S = {1, 3}
   S = {3}
   S = {}
   S = {1}
   S = {}
     1, 3, 1, 1
В Maple 15 зацикливания для n = 7 нет
Код:
> T(7);
   1, 63, 31, 391, 15, 245, 115, 675, 7, 145, 69, 445, 31, 261, 115, 391, 3, 77, 37, 261, 17, 155, 69, 245, 7, 81, 37, 145, 15, 77, 31, 63, 1, 31, 15, 115, 7, 69, 31, 115, 3, 37, 17, 69, 7, 37, 15, 31, 1, 15, 7, 31, 3, 17, 7, 15, 1, 7, 3, 7, 1, 3, 1, 1
Аналогично для n =9, n = 11, n = 13. Дальше не проверял.