title: Use a rule if a fact doesn't exist in prolog?
body: <p>I'm new to prolog.
  The idea of my project is to say "The room X is free if none is a guest of X, while X is taken if a family lives in X".
  I use a predicate </p>
  
  <pre><code>guest(FamilySurname,RoomTaken)
  </code></pre>
  
  <p>So this mean that a family has taken that room.</p>
  
  <pre><code>taken(X) :- guest(_,X).
  </code></pre>
  
  <p>So if a family lives in room X, then X is taken.</p>
  
  <p>My problem is how could i say that the room X is free? I should use a kind of NOT, like:</p>
  
  <pre><code>free(X) :- "NOT EXIST" guest(_,X).
  </code></pre>
  
  <p>How could i translate that "NOT EXIST" in prolog?
  I have tried with ! but it doesn't work properly... maybe I'm placing it in the wrong way.</p>
  
  <p>Sorry for my english.</p>