title: How to improve logic to check whether 4 boolean values match some cases
body: <p>I have four <code>bool</code> values:</p>
  
  <pre><code>bool bValue1;
  bool bValue2;
  bool bValue3;
  bool bValue4;
  </code></pre>
  
  <p>The acceptable values are:</p>
  
  <pre><code>         Scenario 1 | Scenario 2 | Scenario 3
  bValue1: true       | true       | true
  bValue2: true       | true       | false
  bValue3: true       | true       | false
  bValue4: true       | false      | false
  </code></pre>
  
  <p>So, for example, this scenario is not acceptable:</p>
  
  <pre><code>bValue1: false
  bValue2: true
  bValue3: true
  bValue4: true
  </code></pre>
  
  <p>At the moment I have come up with this <code>if</code> statement to detect bad scenarios:</p>
  
  <pre><code>if(((bValue4 &amp;&amp; (!bValue3 || !bValue2 || !bValue1)) ||
     ((bValue3 &amp;&amp; (!bValue2 || !bValue1)) ||
     (bValue2 &amp;&amp; !bValue1) ||
     (!bValue1 &amp;&amp; !bValue2 &amp;&amp; !bValue3 &amp;&amp; !bValue4))
  {
      // There is some error
  }
  </code></pre>
  
  <p>Can that statement logic be improved/simplified?</p>