title: Adding a constraint in Microsoft Solver using F#
body: <p>I'm implementing a solution for Graph Coloring problem using Microsoft Solver Foundation and F#. Recently I've found this piece of documentation:</p>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/ff826354(v=vs.93).aspx?cs-save-lang=1&amp;cs-lang=csharp#code-snippet-1" rel="nofollow">http://msdn.microsoft.com/en-us/library/ff826354(v=vs.93).aspx?cs-save-lang=1&amp;cs-lang=csharp#code-snippet-1</a></p>
  
  <p>which explains how to implement this using C#. I tried to translate this, but there's a problem with adding constraints. In C# it's quite simple:</p>
  
  <pre><code>model.AddConstraints("borders", 
    be != de, be != fr, be != nl, de != fr, de != nl);
  </code></pre>
  
  <p>However a literate translation to F# doesn't work:</p>
  
  <pre><code>// WRONG !!
  model.AddConstraints("borders", 
    be &lt;&gt; de, be &lt;&gt; fr, be &lt;&gt; nl, de &lt;&gt; fr, de &lt;&gt; nl);
  </code></pre>
  
  <p>After a while I found a function in Term class, which might be used instead:</p>
  
  <pre><code>model.AddConstraints("borders1", Term.op_Inequality(be, de)) |&gt; ignore
  </code></pre>
  
  <p>However, using this "Term.op_Inequality" is quite inconvenient. Is there a way to solve my problem better ?</p>