title: Herbrand universe and Least herbrand Model
body: <p>I read the question asked in <a href="https://stackoverflow.com/questions/11509350/herbrand-universe-herbrand-base-and-herbrand-model-of-binary-tree-prolog">Herbrand universe, Herbrand Base and Herbrand Model of binary tree (prolog)</a> and the answers given, but I have a slightly different question more like a confirmation and hopefully my confusion will be clarified.</p>
  
  <p>Let P be a program such that we have the following facts and rule:</p>
  
  <pre><code>q(a, g(b)).
  q(b, g(b)).
  q(X, g(X)) :- q(X, g(g(g(X)))).
  </code></pre>
  
  <p>From the above program, the Herbrand Universe  </p>
  
  <pre><code>Up = {a, b, g(a), g(b), q(a, g(a)), q(a, g(b)), q(b, g(a)), q(b, g(b)), g(g(a)), g(g(b))...e.t.c}
  </code></pre>
  
  <p>Herbrand base:</p>
  
  <pre><code>Bp = {q(s, t) | s, t E Up}
  </code></pre>
  
  <ul>
  <li>Now come to my question(forgive me for my ignorance), i included q(a, g(a)) as an element in my Herbrand Universe but from the fact, it states q(a, g(b)). Does that mean that q(a, g(a)) does not suppose to be there?</li>
  <li>Also since the Herbrand models are subset of the Herbrand base, how do i determine the least Herbrand model by induction?</li>
  </ul>
  
  <p>Note: I have done a lot of research on this, and some parts are well clear to me but still i have this doubt in me thats why i want to seek the communities opinion. Thank you.</p>