![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/self/root/proc/thread-self/root/usr/share/doc/source-highlight/ |
<!-- Generator: GNU source-highlight by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> <pre><tt><i><font color="#9A1900">% +------------------------------+</font></i> <i><font color="#9A1900">% | test for Prolog source |</font></i> <i><font color="#9A1900">% |______________________________|</font></i> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">type</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> int<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">).</font> <i><font color="#9A1900">% booleans</font></i> <b><font color="#000000">type</font></b><font color="#990000">(</font>true<font color="#990000">,</font> bool<font color="#990000">,</font> <font color="#009900">_</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font>false<font color="#990000">,</font> bool<font color="#990000">,</font> <font color="#009900">_</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#0000FF">and</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">Y</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">),</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">Y</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#0000FF">or</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">Y</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">),</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">Y</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#0000FF">not</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#000000">succ</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> int<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#000000">pred</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> int<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#000000">iszero</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <b><font color="#000000">type</font></b><font color="#990000">(</font> <font color="#009900">X</font> <font color="#990000"><</font> <font color="#009900">Y</font><font color="#990000">,</font> bool<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">),</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">Y</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font> <i><font color="#9A1900">% is_member(X,L) check whether X is in the list</font></i> <i><font color="#9A1900">% by using unification with occur check</font></i> <b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">_</font><font color="#990000">,</font> <font color="#990000">[])</font> <font color="#990000">:-</font> <b><font color="#0000FF">fail</font></b><font color="#990000">.</font> <b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#990000">[</font><font color="#009900">Y</font> <font color="#990000">|</font> <font color="#009900">_</font><font color="#990000">])</font> <font color="#990000">:-</font> <b><font color="#000000">unify</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">Y</font><font color="#990000">).</font> <b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#990000">[</font><font color="#009900">_</font> <font color="#990000">|</font> <font color="#009900">List</font><font color="#990000">])</font> <font color="#990000">:-</font> <b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#009900">List</font><font color="#990000">).</font> </tt></pre>