Advertisement
Guest User

mathoverflow.net @Vepir

a guest
Sep 25th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. (* Input *)
  2. ClearAll[b, a, A, o, eqA, ineqA, ineqa, system, vars, norms, eqNorms,
  3. Nreduce2P, reduce2P, NAllreduce2P];
  4. A[i_, d_, b_: b, a_: a, o_: o] :=
  5. Sum[Binomial[d - s, i - s] a[Min[s, d - s + 1]], {s, 1, i}] +
  6. If[i < d, o[i], 0] - If[i > 1, o[i - 1] (b - 1), 0];
  7. eqA[d_, b_: b] :=
  8. Fold[And,
  9. Table[A[i, d, b] == A[d - i + 1, d, b], {i, 1, Floor[d/2]}]];
  10. ineqA[d_, b_: b, a_: a, o_: o] :=
  11. Fold[And,
  12. Table[0 <= A[i, d, b, a, o] && A[i, d, b, a, o] < b - 1, {i, 1,
  13. d}]] && A[1, d, b, a, o] > 0;
  14. ineqa[d_, b_: b, a_: a] :=
  15. Fold[And, Table[0 <= a[i] && a[i] < b, {i, 1, Floor[(d + 1)/2]}]] &&
  16. a[1] > 0;
  17. system[d_, b_: b] := eqA[d, b] && ineqA[d, b] && ineqa[d, b];
  18. vars[d_] := Table[a[i], {i, 1, Floor[(d + 1)/2]}];
  19. norms[d_, o_: o] := Table[o[i], {i, 1, d - 1}];
  20. eqNorms[O_, o_: o] :=
  21. Fold[And, Table[o[i] == O[[i]], {i, 1, Length[O]}]];
  22. reduce2P[d_, b0_: b, b_: b] :=
  23. Reduce[system[d, b] && b == b0, Join[vars[d], norms[d], {b}],
  24. Integers];
  25. Nreduce2P[O_, d_, b_: b] :=
  26. Reduce[system[d, b] && eqNorms[O] && b > 1,
  27. Join[vars[d], norms[d], {b}], Integers];
  28. norms1[d_, o_: o] :=
  29. Fold[And, Table[(o[i] == 1 || o[i] < 1 || o[i] > 1), {i, 1, d - 1}]];
  30. NAllreduce2P[d_, b_: b] :=
  31. Reduce[system[d, b] && norms1[d], Join[vars[d], norms[d], {b}],
  32. Integers];
  33.  
  34. TimeConstrained[ Timing[NAllreduce2P[3] // FullSimplify], 60]
  35. TimeConstrained[ Timing[NAllreduce2P[5] // FullSimplify], 60*5]
  36.  
  37. (* Output *)
  38.  
  39. {2.60938,
  40. o[2] == 1 && ((a[1] \[Element] Integers && b == 4 + a[1] &&
  41. a[2] == 5 && o[1] == 2 &&
  42. a[1] >= 2) || ((a[1] | a[2]) \[Element] Integers &&
  43. b == a[1] + a[2] && o[1] == 1 && a[1] >= 1 && a[2] >= 4))}
  44.  
  45. $Aborted
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement