title: Prolog generating all possible operation for given list
body: <p>Hello I am facing a problem. Let's say I have 3 operations(+,-,*).
  I would like to generate variable that contains all possible expressions for given list of arguments using those 3 operators.</p>
  
  <p><code>my_problem([1,2],X)</code> would return</p>
  
  <pre><code>X=1-2
  X=1*2
  X=1+2
  </code></pre>
  
  <p><code>my_problem([1,2,3],X)</code> would return</p>
  
  <pre><code>X=1+2+3  X=1-2-3
  X=1+2-3  X=1+2*3 
  X=1-2+3  ...
  </code></pre>
  
  <p>and so on. </p>
  
  <p>I know that i can build expression using this predicates.</p>
  
  <pre><code>args_expr(Arg1,Arg2,Arg1 + Arg2).
  args_expr(Arg1,Arg2,Arg1 - Arg2).
  args_expr(Arg1,Arg2,Arg1 * Arg2).
  </code></pre>
  
  <p>Is there any clever way to generete this variable? I would be grateful for any help or advice.</p>