<p>According to Wikipedia, <a href="https://en.wikipedia.org/wiki/Inductive_logic_programming" rel="nofollow">Inductive logic programming (ILP)</a> is a subfield of machine learning which uses <a href="https://en.wikipedia.org/wiki/Logic_programming" rel="nofollow">logic programming</a> as a uniform representation for examples, background knowledge and hypotheses.</p>

<p>In example, given an encoding of the known background knowledge and a set of examples represented as a logical database of facts, an ILP system will derive a hypothesised logic program which entails all the positive and none of the negative examples. Inductive logic programming is particularly useful in bioinformatics and natural language processing.</p>

<p>There are some known implementations, such as:</p>

<ul>
<li><a href="http://www.cs.bris.ac.uk/Research/MachineLearning/1BC/" rel="nofollow">1BC and 1BC2: first-order naive Bayesian classifiers</a></li>
<li><a href="http://dtai.cs.kuleuven.be/ACE/" rel="nofollow">ACE (A Combined Engine)</a></li>
<li><a href="http://web.comlab.ox.ac.uk/oucl/research/areas/machlearn/Aleph/" rel="nofollow">Aleph </a></li>
<li><a href="http://www.ahlgren.info/research/atom/" rel="nofollow">Atom </a></li>
<li><a href="http://dtai.cs.kuleuven.be/claudien/" rel="nofollow">Claudien </a></li>
<li><a href="http://dl-learner.org" rel="nofollow">DL-Learner </a></li>
<li><a href="http://dtai.cs.kuleuven.be/dmax/" rel="nofollow">DMax </a></li>
<li><a href="ftp://ftp.cs.su.oz.au/pub/foil6.sh" rel="nofollow">First Order Inductive Learner (FOIL)</a></li>
<li><a href="http://www.doc.ic.ac.uk/~shm/Software/golem" rel="nofollow">Golem (ILP)</a></li>
<li><a href="http://arxiv.org/abs/1407.3836" rel="nofollow">Imparo</a></li>
<li><a href="http://lacam.di.uniba.it:8000/systems/inthelex/" rel="nofollow">Inthelex (INcremental THEory Learner from EXamples) </a></li>
<li><a href="http://cs.anu.edu.au/people/Eric.McCreath/lime.html" rel="nofollow">Lime</a></li>
<li><a href="http://libra.msra.cn/Publication/3392493/mio-user-s-manual" rel="nofollow">Mio </a></li>
<li>MIS (Model Inference System) by Ehud Shapiro</li>
<li><a href="http://www.doc.ic.ac.uk/~shm/Software/progol5.0" rel="nofollow">PROGOL</a></li>
<li><a href="http://labe.felk.cvut.cz/~zelezny/rsd/" rel="nofollow">RSD</a></li>
<li>Warmr (now included in ACE)</li>
<li><a href="http://ilp.doc.ic.ac.uk/ProGolem/" rel="nofollow">ProGolem </a></li>
</ul>
Are there any self-learning declarative/inductive programming language to input the expected results, not the procedure to follow?
<p>The language where the computer is told what the problem is, not how to solve the problem. So given a database or a set of rules, the computer tries to find a solution matching all the desired properties.</p>

<p>Example 1 (format: input vars => expected output)</p>

<p>Set of rules:
<code>2, 2 =&gt; 4; 2, 4 =&gt; 6; 4, 4 =&gt; 8</code>, etc.</p>

<p>Then program learns that it needs to add all the input variables.</p>