title: How to define a rule to require all in Prolog?
body: <p>Having the knowledge base:</p>
  
  <pre><code>must_have(user, car, blue).
  must_have(user, car, yellow).
  must_have(user, bike, green).
  </code></pre>
  
  <p>How to define:</p>
  
  <pre><code>is_a_collector(X):-must_have(X, car, blue),
                     must_have(X,car,yellow),
                     must_have(X,bike,green).
  </code></pre>
  
  <p>without expliciting all the conditions? </p>
  
  <p>I say this because the knowledge domain is large and I want to define a rule that catches many conditions.</p>
  
  <p>I'm using Swi-Prolog.</p>