<p>There are three types of <a href="https://simple.wikipedia.org/wiki/Horn_clause" rel="nofollow noreferrer">Horn clauses</a></p>
<p>definite clause: ¬ p ∨ ¬ q ∨ ⋯ ∨ ¬ t ∨ u<br />
fact: u<br />
goal clause: ¬ p ∨ ¬ q ∨ ⋯ ∨ ¬ t</p>
<p>which relate to Prolog.<br />
Example Prolog from <a href="http://www.amzi.com/AdventureInProlog/apreface.php" rel="nofollow noreferrer">Adventures in Prolog</a></p>
<p>A definite clause is a Prolog <a href="http://www.amzi.com/AdventureInProlog/a5rules.php" rel="nofollow noreferrer">rule</a>:</p>
<pre><code>where_food(X,Y) :-  
  location(X,Y),
  edible(X).
</code></pre>
<p>A fact is a Prolog <a href="http://www.amzi.com/AdventureInProlog/a2facts.php" rel="nofollow noreferrer">fact</a>:</p>
<pre><code>room(kitchen).
</code></pre>
<p>A goal clause is a Prolog <a href="http://www.amzi.com/AdventureInProlog/a4comqry.php" rel="nofollow noreferrer">query</a>:</p>
<pre><code>location(X, kitchen), edible(X).
</code></pre>
<p>Another way of looking at three common with Prolog uses <code>head</code>, <code>body</code> and <code>:-</code>.</p>
<p>A rule is <code>head :- body.</code><br />
A fact is <code>head.</code><br />
A query is <code>body.</code></p>
<p>A body is made up of calls to predicates (head), so a body can look like this <code>A,B,C</code>.</p>
<p>When you use a query it is really</p>
<pre><code>goal :- body. 
</code></pre>
<p>or</p>
<pre><code>goal &lt;- A,B,C
</code></pre>
<p>or</p>
<pre><code>location(X, kitchen), edible(X) ⊃ goal
</code></pre>
<h2>A Prolog example</h2>
<p>Facts</p>
<pre><code>location(apple, kitchen).
location(crackers, kitchen).
location(flashlight, desk).

edible(apple).
edible(crackers).
</code></pre>
<p>Goal clause</p>
<pre><code>location(X, kitchen), edible(X).
</code></pre>
<p>Answer</p>
<pre><code>X = apple
X = crackers
</code></pre>
<h2>Earlier answer</h2>
<p>Starting with a predicate in Prolog</p>
<pre><code>ancestor(X,Y) :- parent(X, Z) , ancestor(Z,Y).
</code></pre>
<p>where <code>ancestor(X,Y)</code> is know as the head clause and <code>parent(X, Z) , ancestor(Z,Y)</code> is known as the body.</p>
<p>Converting the Prolog to an implication<br />
<code>:-</code> is <code>⊃</code><br />
<code>,</code> is <code>∧</code><br />
and the implication is reversed.</p>
<pre><code>(parent(X,Z) ∧ ancestor(Z,Y)) ⊃ ancestor(X,Y) 
</code></pre>
<p>converting the conjunction (∧) of literals into a disjunction (∨) of literals</p>
<pre><code>not parent(X,Z) ∨ not ancestor(Z,Y) ∨ ancestor(X,Y) 
</code></pre>
<p>results in <code>not parent(X,Z) ∨ not ancestor(Z,Y)</code> which is the Prolog body or in your question the goal clause.</p>
<p>In other words the goal clause are the statements that need to be satisfied in order to achieve the goal which is the Prolog head <code>ancestor(X,Y)</code>.</p>
<p>To see an example of using the Prolog ancestor see <a href="https://en.wikibooks.org/wiki/Prolog/Recursive_Rules" rel="nofollow noreferrer">Prolog/Recursive Rules</a>. Note that the rule given in this example is only one of the two that are used to define ancestor with the missing Prolog rule being <code>ancestor(A, B) :- parent(A, B).</code></p>
<h2>References</h2>
<p>The University of Edinburgh Course: Prolog Programming for Automated Reasoning students - Lecture 10 - <a href="http://www.inf.ed.ac.uk/teaching/courses/ar/ARPROLOG/slides/lect10.pdf" rel="nofollow noreferrer">Logic Programming</a></p>
<p><a href="https://en.wikipedia.org/wiki/Horn_clause#Definition" rel="nofollow noreferrer">Goal clause</a> definition from Wikipedia -</p>
<p><code>a Horn clause without a positive literal is sometimes called a goal clause</code><br />
or <code>¬p ∨ ¬q ∨ ... ∨ ¬t</code></p>
<p>SWI-Prolog <a href="http://www.swi-prolog.org/pldoc/man?section=glossary" rel="nofollow noreferrer">Glossary of Terms</a></p>
<p><a href="https://en.wikibooks.org/wiki/Prolog/Recursive_Rules" rel="nofollow noreferrer">Prolog/Recursive Rules</a></p>
<p><a href="https://books.google.com/books?hl=en&amp;lr=&amp;id=TeKpCAAAQBAJ&amp;oi=fnd&amp;pg=PA1&amp;dq=Foundations%20of%20Logic%20Programming&amp;ots=wLoN6OROlT&amp;sig=_tWV2OLVlQu6Z9dGJwmJR18KQ4Y#v=onepage&amp;q=goal%20&amp;f=false" rel="nofollow noreferrer">Foundations of Logic</a> (<a href="http://www.worldcat.org/oclc/864586957" rel="nofollow noreferrer">WorldCat</a>)</p>
<h2>Try the Prolog online</h2>
<p>Using <a href="https://swish.swi-prolog.org/p/XlRdOBoS.pl" rel="nofollow noreferrer">swish</a> (Prolog rules are already entered with this link)<br />
In the lower right by <code>?-</code> where it says <code>your query goes here ...</code> enter <code>ancestor(X, john).</code><br />
Then in the lower right click <code>Run!</code><br />
Above that you should see an ancestor of john<br />
<code>X=david</code><br />
Under that click <code>Next</code> and you should see another ancestor of john<br />
<code>X=jim</code><br />
keep clicking <code>Next</code> to see other ancestors and then finally you should see
<code>false</code> meaning there are no more valid answers.</p>
<h2>An excerpt</h2>
<p>From <a href="https://www.cs.cmu.edu/%7Efp/courses/lp/lectures/lp-all.pdf" rel="nofollow noreferrer">Logic Programming</a> by Frank Pfenning</p>
<blockquote>
<p>To make the transition from inference rules to logic programming we
need to impose a particular strategy. Two fundamental ideas suggest
themselves: we could either search backward from the conjecture,
growing a (potential) proof tree upwards, or we could work forwards
from the axioms applying rules until we arrive at the conjecture. We
call the ﬁrst one goal-directed and the second one forward-reasoning.</p>
</blockquote>
<h2>How to search</h2>
<p>OP comment</p>
<blockquote>
<p>Could you tell me how you do such searches, 'cause when I run into
some complex problems I usually don't know how to search necessary
resources</p>
</blockquote>
<p>Normally I would have the OP (original poster) ask that as another question, but since it is more of a subjective than objective question it will get shot down at SO (StackOverflow) with down and close votes and I can use examples related to the original question so I will answer it here.</p>
<p>When searching the path to success is to figure out the current terminology used by the experts in the area and which key words in that terminology are relevant to what you seek. Sometimes I know the key words off the top of my head, as with this question with <code>disjunction of literals</code> and <code>goal</code> I knew they were key terms in logic, reasoning, theorem proving and logic languages. Other times I am guessing or in the dark as with this <a href="https://stackoverflow.com/q/41575278/1243762">question</a>.</p>
<p>One way that sometimes yields success when trying to learn the current terminology is to search for <a href="https://en.wikipedia.org/wiki/Review_article" rel="nofollow noreferrer">review articles</a> which typically have <code>survey</code> in the title and thus <code>survey</code> is a good keyword. e.g. using <a href="https://www.semanticscholar.org/" rel="nofollow noreferrer">Semantic Scholar</a> with <a href="https://www.semanticscholar.org/search?q=horn%20clause%20survey&amp;sort=relevance&amp;ae=false" rel="nofollow noreferrer">horn clause survey</a> finds on first page <a href="https://pdfs.semanticscholar.org/8440/00c1d84f547449d8f5baf3f62afe2a49965e.pdf" rel="nofollow noreferrer">Constraint Logic Programming: A Survey</a></p>
<p>As an example of searching for the canonical form of math expressions with <code>math canonical form</code> little of relevance was found but after finding that <code>standard from</code> was more commonly used, better results were obtained.</p>
<p>Sometimes it is not words that help you find the answer and search engines that rely on words will fail you. For <a href="https://stackoverflow.com/q/12881980/1243762">example</a> a type of search I see every few weeks or so involves finding the pattern/formula/etc. that generates a sequence of numbers and you only know part of the sequence, and typically the start of the sequence. This is were a search using <a href="http://oeisf.org/index.html" rel="nofollow noreferrer">OEIS</a> (The On-Line Encyclopedia of Integer Sequences®) comes in handy. Another type of search engine related to math is <a href="https://www.wolframalpha.com/" rel="nofollow noreferrer">WolframAlpha</a>. So be attentive to the fact that there are other kinds of search engines</p>
<p>Once you have the key words then as @WillNess notes you some times query for them as single words <code>goal clause</code>, but some times as exact words in quotes <code>&quot;goal clause&quot;</code>. For this question using an exact word returned better results.</p>
<p>The next thing to realize is the source of the information often corresponds with quality of information.</p>
<ul>
<li>Sources from university courses, online digital scientific libraries and books are high on my <a href="https://cs.stackexchange.com/a/7143/268">list</a></li>
<li>PDF (Postscript Document Format). The reason for PDF is that it is common to write technical professional papers with <a href="http://exponential_exponent_normal_form" rel="nofollow noreferrer">LaTeX</a> which are then output as PDF. The old format was PS (PostScript) but I rarely see that with newer papers. Thus <code>pdf</code> is a good search term to add.</li>
<li>Then sites from the creators such as <a href="https://www.ubuntu.com/" rel="nofollow noreferrer">Ubuntu</a>, <a href="http://www.swi-prolog.org/" rel="nofollow noreferrer">SWI-Prolog</a></li>
<li>Sites that are obviously good such as <a href="https://www.w3schools.com/" rel="nofollow noreferrer">w3schools</a></li>
<li>Blog entries by the experts; most blogs are not by the experts.</li>
</ul>
<p>Other search engines I use related to computer science technical papers are:</p>
<ul>
<li><a href="http://citeseerx.ist.psu.edu/index" rel="nofollow noreferrer">CiteSeerX</a></li>
<li><a href="https://arxiv.org/" rel="nofollow noreferrer">arxiv.org</a></li>
<li><a href="https://scholar.google.com/" rel="nofollow noreferrer">Google Scholar</a></li>
<li><a href="https://academic.microsoft.com/" rel="nofollow noreferrer">Microsoft Academic</a></li>
<li><a href="http://www.worldcat.org/" rel="nofollow noreferrer">WorldCat</a></li>
<li><a href="https://www.semanticscholar.org/" rel="nofollow noreferrer">Semantic Scholar</a></li>
<li><a href="http://dblp.uni-trier.de/" rel="nofollow noreferrer">dblp</a></li>
</ul>
<p>and of course you can always query for other <a href="https://www.google.com/search?q=acedemic%20search%20engines&amp;ie=&amp;oe=#q=academic%20search%20engines&amp;spf=1500463958476" rel="nofollow noreferrer">academic search engines</a></p>
<p>If you have only one or two documents that appeal to you but still don't have enough detail then start working down the references noted in those documents. This can be challenging as years ago many of the articles were only published in professional journals and are not freely available. However it is common to find those articles freely available if one of the authors is a professor and you can find the document listed under their public pages where they teach. <a href="http://citeseerx.ist.psu.edu/index" rel="nofollow noreferrer">CiteSeerX</a> is really good for finding referenced documents.</p>
<p>If you are using an existing SO answer then check the tag to see if they are a <a href="https://stackoverflow.com/tags/f%23/topusers">top answerer</a> and remember that the accepted answer may not be the best answer and that any answer may not be a correct answer to your question.</p>
<p>Then it is a matter of reading several of the articles to see what information is current and if there is consistency.</p>
<p>Some fields are moving fast and changing rapidly even in the time span of the last 20 years of the Internet. Here is an example where one <a href="https://arxiv.org/abs/1706.03762" rel="nofollow noreferrer">paper</a> made a significant change. If you are not aware of this paper in the area it relates you will probably be confused by research that happened before the paper and research based on the paper. To find such papers note the significant number of citations, at present <a href="https://scholar.google.com/scholar_lookup?title=Attention%20Is%20All%20You%20Need&amp;author=Ashish%20Vaswani&amp;author=Noam%20Shazeer&amp;publication_date=2017/12/06&amp;arxiv_id=1706.03762" rel="nofollow noreferrer">18658</a>.</p>
<p>Don't be hesitant to spend upwards of an hour just searching and then a few more to a full day just reading. Here is a <a href="https://stackoverflow.com/q/37117089/1243762">question</a> I spent over four hours searching and reading and still could not find an answer. After finally running out of things to try I posted the question only to find it can not be done and is not documented. The answer was by someone I know to be an expert in F#.</p>
<p>Lastly don't be afraid to leave bread crumbs, e.g. your own personal notes as I do with <code>Of interest:</code> comments or in this <a href="https://stackoverflow.com/q/42627198/1243762">question</a>. You will often use the same search terms over and over again and if you have enough posted on the Internet will start to run into your own post. After a while you will realize that if you only left bread crumbs there it would have made your life easier.</p>
<p>The rest is just years of experience and diligence.</p>
<p>Also sometimes asking an SO question requesting help with which keywords to use sometimes gets answers and sometimes get shot down.</p>
Why do we call a disjunction of literals of which none is positive a goal clause?
<p>I think I know the meaning of <strong>goal clauses</strong> and <strong>horn clauses</strong>, but I'm quite confused about why people name a disjunction of literals of which none is positive a <strong>goal clause</strong>?</p>

<p>What's the goal here?</p>