{"id":253893,"date":"2015-03-26T22:57:02","date_gmt":"2015-03-26T18:57:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=253893"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=253893","title":{"rendered":"\u041f\u0440\u043e\u043b\u043e\u0433 \u2013 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u044f\u0437\u044b\u043a, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u0440\u0435\u0448\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0440\u0435\u0431\u0443\u0441\u044b \u0438 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043e\u0440\u0435\u043c\u044b"},"content":{"rendered":"<p>     \t\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0435\u0431\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u041a\u0410\u041a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0427\u0422\u041e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0438 \u044f\u0437\u044b\u043a \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0440\u0435\u0448\u0430\u0442\u044c \u0442\u0435 \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0447\u0442\u043e \u0438 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 JAVA. \u041a\u0430\u0436\u0435\u0442\u0441\u044f \u0444\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u043a\u043e\u0439, \u043d\u0435 \u043f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438? \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u0435\u0441\u0442\u044c \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d PROLOG. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a PROLOG \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0437\u0430\u0433\u0430\u0434\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u043b\u043e\u0433\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0433\u0430\u0434\u043e\u043a \u0438 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c PROLOG \u0432\u044b\u0434\u0430\u0442\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0442\u0435\u043e\u0440\u0435\u043c\u044b.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/66b\/d0a\/d94\/66bd0ad9428943138aa8a102526cbe02.jpg\" alt=\"image\"\/><\/p>\n<p>  <a name=\"habracut\"><\/a>  <\/p>\n<h4><u><b>\u0417\u0430\u0433\u0430\u0434\u043a\u0430 1.<\/b><\/u> \u041f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0430\u044f, \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f. \u00ab?\u00bb \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f (+,-,*,\/), \u0434\u0430\u043d\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 ((((1?2)?3)?4)?5)?6=35. \u041d\u0430\u0439\u0442\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/h4>\n<p>  \u041d\u0430\u0447\u043d\u0451\u043c \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0437\u043d\u0430\u043a \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c.<\/p>\n<p>  formula(X1, X2, X3, X4, X5, X6, Sign1, Sign2, Sign3, Sign4, Sign5, Result):-<br \/>   operation(X1, X2, Sign1, PartialResult1),<br \/>   operation(PartialResult1, X3, Sign2, PartialResult2),<br \/>   operation(PartialResult2, X4, Sign3, PartialResult3),<br \/>   operation(PartialResult3, X5, Sign4, PartialResult4),<br \/>   operation(PartialResult4, X6, Sign5, Result).<\/p>\n<p>  \u042d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0444\u043e\u0440\u043c\u0443\u043b\u0443 1?2?3?4?5?6=Result. \u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043e\u043d\u0430 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442: \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0432\u0435\u0440\u043d\u0430, \u0435\u0441\u043b\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 1, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 2\u2026 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 4, \u0442\u0430\u043a\u0438\u0435 \u0447\u0442\u043e \u0432\u0435\u0440\u043d\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u043e\u043b\u043e\u0433 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0438\u0448\u0435\u043c \u0432 \u043a\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043e\u043d\u0438 \u0432\u0435\u0440\u043d\u044b:<\/p>\n<p>  operation(X1, X2, &quot;+&quot;, Result) :- Result = X1 + X2.<br \/>  operation(X1, X2, &quot;*&quot;, Result) :- Result = X1 * X2.<br \/>  operation(X1, X2, &quot;\/&quot;, Result) :- Result = X1 \/ X2.<br \/>  operation(X1, X2, &quot;-&quot;, Result) :- Result = X1 \u2014 X2.<\/p>\n<p>  \u041c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0443, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0451. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0434\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b: 1)\u0435\u0441\u043b\u0438 X1=1 X2=2 \u2026 X6=6 Result=35 \u0442\u043e \u043a\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438? 2)\u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u0447\u0430\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0432\u044b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b? 3)\u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442; \u0443\u0437\u043d\u0430\u0442\u044c, \u0432\u0435\u0440\u043d\u0430 \u043b\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u043b\u043e\u0433 \u043d\u0430\u0439\u0434\u0451\u0442 \u043e\u0442\u0432\u0435\u0442 \u2013 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441. <\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432\u043e\u043f\u0440\u043e\u0441:<br \/>  askMainQuestion():-<br \/>   formula(1,2,3,4,5,6,Sign1,Sign2,Sign3,Sign4,Sign5,35),<br \/>   stdio::write(Sign1, Sign2, Sign3, Sign4, Sign5),<br \/>   stdio::nl, %new line<br \/>   fail.<\/p>\n<p>  \u041e\u0442\u0432\u0435\u0442: ++*++, +**+-, ***++ (\u0414\u043b\u044f \u0437\u0430\u0434\u0430\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u043e \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0449\u0451 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u043e\u043a, \u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.)<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e (Visual Prolog 7.5)<\/b><\/p>\n<div class=\"spoiler_text\">implement main<br \/>   open core<\/p>\n<p>  class predicates<br \/>   askMainQuestion:() procedure.<br \/>   operation: (real, real, string, real) multi(i,i,o,o).<br \/>   formula: (real, real, real, real, real, real, string, string, string, string, string, real) nondeterm(i,i,i,i,i,i,o,o,o,o,o,i).<br \/>   abs: (real, real) nondeterm (i,o).<br \/>  clauses<\/p>\n<p>  operation(X1, X2, &quot;+&quot;, Result) :- Result = X1 + X2.<br \/>   operation(X1, X2, &quot;-&quot;, Result) :- Result = X1 \u2014 X2.<br \/>   operation(X1, X2, &quot;*&quot;, Result) :- Result = X1 * X2.<br \/>   operation(X1, X2, &quot;\/&quot;, Result) :- Result = X1 \/ X2.<\/p>\n<p>  formula(X1, X2, X3, X4, X5, X6, Sign1, Sign2, Sign3, Sign4, Sign5, Result):-<br \/>   operation(X1, X2, Sign1, PartialResult1),<br \/>   operation(PartialResult1, X3, Sign2, PartialResult2),<br \/>   operation(PartialResult2, X4, Sign3, PartialResult3),<br \/>   operation(PartialResult3, X5, Sign4, PartialResult4),<br \/>   operation(PartialResult4, X6, Sign5, FinalResult),<br \/>   abs(FinalResult-Result, Difference),<br \/>   Difference&lt;0.0001. %\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0438<\/p>\n<p>  abs (X, Result) :- X&gt;=0, Result=X.<br \/>   abs (X, Result) :- X&lt;0, Result=-X.<\/p>\n<p>  askMainQuestion():-<br \/>   formula(1,2,3,4,5,6,Sign1,Sign2,Sign3,Sign4,Sign5,35),<br \/>   stdio::write(Sign1, Sign2, Sign3, Sign4, Sign5),<br \/>   stdio::nl,<br \/>   fail.<\/p>\n<p>  askMainQuestion().<\/p>\n<p>  run() :-<br \/>   console::init(),<br \/>   askMainQuestion(),<br \/>   _ = stdIO::readchar().<\/p>\n<p>  end implement main<\/p>\n<p>  goal<br \/>  mainExe::run(main::run).  <\/div>\n<\/div>\n<h4><u><b>\u0417\u0430\u0433\u0430\u0434\u043a\u0430 2.<\/b><\/u> \u041f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0430\u044f, \u043d\u0435\u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f. \u0414\u0430\u043d\u044b \u0438\u043c\u0435\u043d\u0430 \u043b\u044e\u0434\u0435\u0439 \u0438 \u0440\u043e\u0434\u0441\u0442\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \u041d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435\u0445 \u0431\u0440\u0430\u0442\u044c\u0435\u0432.<\/h4>\n<p>  \u0423\u043a\u0430\u0436\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0438:<br \/>  parent(\u00abTom\u00bb, \u00abJake\u00bb).<br \/>  parent(\u00abJim\u00bb, \u00abJake\u00bb).<br \/>  parent(\u00abTimmi\u00bb, \u00abTom\u00bb).<br \/>  uncle(\u00abTom\u00bb,\u00abPeter\u00bb).<br \/>  brother(\u00abTimmi\u00bb, \u00abCartman\u00bb).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043f\u0438\u0448\u0435\u043c \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0441\u0432\u044f\u0437\u044c:<\/p>\n<p>  brother(Man1, Man2) :- parent(Man1, Parent), parent(Man2, Parent), Man1&lt;&gt;Man2.<\/p>\n<p>  (\u0427\u0435\u043b\u043e\u0432\u0435\u043a1 \u0438 \u0427\u0435\u043b\u043e\u0432\u0435\u043a2 \u0431\u0440\u0430\u0442\u044c\u044f, \u0435\u0441\u043b\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0427\u0435\u043b\u043e\u0432\u0435\u043a\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u0434\u043b\u044f \u0427\u0435\u043b\u043e\u0432\u0435\u043a\u04301 \u0438 \u0427\u0435\u043b\u043e\u0432\u0435\u043a\u04302, \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0427\u0435\u043b\u043e\u0432\u0435\u043a1 \u2013 \u044d\u0442\u043e \u043d\u0435 \u0427\u0435\u043b\u043e\u0432\u0435\u043a2).<\/p>\n<p>  brother(Man1, Man2) :- parent(ChildMan1, Man1), uncle(ChildMan1, Man2).<\/p>\n<p>  (\u0427\u0435\u043b\u043e\u0432\u0435\u043a1 \u0438 \u0427\u0435\u043b\u043e\u0432\u0435\u043a2 \u0431\u0440\u0430\u0442\u044c\u044f, \u0435\u0441\u043b\u0438 \u0443 \u0427\u0435\u043b\u043e\u0432\u0435\u043a\u04301 \u0435\u0441\u0442\u044c \u0440\u0435\u0431\u0451\u043d\u043e\u043a, \u0438 \u0427\u0435\u043b\u043e\u0432\u0435\u043a2 \u0434\u044f\u0434\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0431\u0451\u043d\u043a\u0430).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u043a\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0440\u0430\u0442\u044c\u044f\u043c\u0438:<\/p>\n<p>  askMainQuestion():-<br \/>   brother(X, Y),<br \/>   stdIO::write(X, &quot; &quot;, Y),<br \/>   stdio::nl,<br \/>   fail.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/b><\/p>\n<div class=\"spoiler_text\">implement main<br \/>   open core<\/p>\n<p>  class predicates<br \/>   askMainQuestion:() procedure.<br \/>   parent: (string, string) multi(o,o) nondeterm(o,i) nondeterm(i,o).<br \/>   brother: (string, string) nondeterm(o,o) nondeterm(i,o).<br \/>   uncle: (string, string) nondeterm anyflow.<br \/>  clauses<\/p>\n<p>  parent(\u00abTom\u00bb, \u00abJake\u00bb).<br \/>   parent(\u00abJim\u00bb, \u00abJake\u00bb).<br \/>   parent(\u00abTimmi\u00bb, \u00abTom\u00bb).<br \/>   uncle(\u00abTom\u00bb,\u00abPeter\u00bb).<\/p>\n<p>  \/*uncle(Man1, Man2) :- parent(Man1, ParentMan1), brother(ParentMan1, Man2). \u0440\u0430\u0441\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0443\u0440\u043e\u043d\u0438\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443*\/<br \/>   brother(\u00abTimmi\u00bb, \u00abCartman\u00bb).<br \/>   brother(Man1, Man2) :- parent(ChildMan1, Man1), uncle(ChildMan1, Man2).<br \/>   brother(Man1, Man2) :- parent(Man1, Parent), parent(Man2, Parent), Man1&lt;&gt;Man2.<\/p>\n<p>  askMainQuestion():-<br \/>   brother(X, Y),<br \/>   stdIO::write(X, &quot; &quot;, Y),<br \/>   stdio::nl,<br \/>   fail.<\/p>\n<p>  askMainQuestion().<\/p>\n<p>  run() :-<br \/>   console::init(),<br \/>   askMainQuestion(),<br \/>   _ = stdIO::readchar().<\/p>\n<p>  end implement main<br \/>  goal<br \/>  mainExe::run(main::run).  <\/div>\n<\/div>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b: Timmi Cartman, Jake Peter, Tom Jim, Jim Tom. \u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u0438\u043c\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435 Hello World-\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0438 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u044f\u0445 \u043f\u0440\u043e\u043b\u043e\u0433\u0430.<\/p>\n<h4><u><b>\u0417\u0430\u0433\u0430\u0434\u043a\u0430 3.<\/b><\/u> \u041d\u0430 \u0448\u0430\u0445\u043c\u0430\u0442\u043d\u043e\u0439 \u0434\u043e\u0441\u043a\u0435 \u0441\u0442\u043e\u0438\u0442 8 \u0444\u0435\u0440\u0437\u0435\u0439. \u041d\u0438 \u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0444\u0435\u0440\u0437\u044f. \u041d\u0430\u0439\u0442\u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0444\u0435\u0440\u0437\u0435\u0439.<\/h4>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0438\u0448\u0435\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442 \u0445\u043e\u0434\u0438\u0442\u044c \u0444\u0435\u0440\u0437\u044c:<\/p>\n<p>  attack(X1, Y1, X2, Y2) :- X2 = X1. %\u0444\u0435\u0440\u0437\u044c \u043c\u043e\u0436\u0435\u0442 \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0430\u0442\u0430\u043a\u0443\u0435\u043c\u0430\u044f \u043a\u043b\u0435\u0442\u043a\u0430 \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438 <br \/>  attack(X1, Y1, X2, Y2) :- Y2 = Y1. % \u0444\u0435\u0440\u0437\u044c \u043c\u043e\u0436\u0435\u0442 \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0430\u0442\u0430\u043a\u0443\u0435\u043c\u0430\u044f \u043a\u043b\u0435\u0442\u043a\u0430 \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438<br \/>  attack(X1, Y1, X2, Y2) :- abs(X2 \u2014 X1, Abs), abs(Y2 \u2014 Y1, Abs). %\u2026 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u0438<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u043a\u0430\u0436\u0435\u043c \u0432 \u043a\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0444\u0435\u0440\u0437\u044f:<\/p>\n<p>  any(0).<br \/>   any(1).<br \/>   any(2).<br \/>   any(3).<br \/>   any(4).<br \/>   any(5).<br \/>   any(6).<br \/>   any(7).<br \/>  dontAttack(X1, Y1, X2, Y2) :-<br \/>   any(X1), any(Y1), any(X2), any(Y2), not(attack(X1, Y1, X2, Y2)).<\/p>\n<p>  \u0422\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0444\u0435\u0440\u0437\u044f (any). \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u043b\u043e\u0433 \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0412\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b, \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441, \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432 \u043a\u043e\u0434\u0435 (\u043a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u043d\u0430\u043a\u0438 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u043a\u043e\u0432), \u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u043e\u043f\u0440\u043e\u0441\u0435 (\u043a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u043a\u043e\u0432, \u0435\u0441\u043b\u0438 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f). \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0430\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u043e\u043b\u043e\u0433 \u043d\u0435 \u0441\u0430\u043c\u044b\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439; \u043e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438, \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0447\u0442\u043e \u00ab\u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0444\u0435\u0440\u0437\u044f\u00bb, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 8 \u0444\u0435\u0440\u0437\u0435\u0439 \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u0438\u0435 7 \u0444\u0435\u0440\u0437\u0435\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u0438\u0441\u0430\u0442\u044c 8*7=56 \u043f\u0440\u0430\u0432\u0438\u043b \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0438\u0448\u0435\u043c \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e. \u0417\u0430\u0434\u0430\u0434\u0438\u043c \u043f\u0443\u0441\u0442\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0444\u0435\u0440\u0437\u044e.<\/p>\n<p>  dontAttack([]).<\/p>\n<p>  (\u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0444\u0435\u0440\u0437\u0435\u0439, \u0442\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u0431\u044c\u0451\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e)<\/p>\n<p>  dontAttack(X, Y, []) :- any(X), any(Y). <\/p>\n<p>  (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u0435\u0440\u0437\u044c, \u0442\u043e \u043e\u043d \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u0435\u0440\u0437\u0435\u0439)<\/p>\n<p>  dontAttack(X1, Y1, [X2, Y2 | OtherElements]) :-<br \/>   dontAttack([X2, Y2 | OtherElements]), dontAttack(X1, Y1, X2, Y2), dontAttack(X1, Y1, OtherElements).<\/p>\n<p>  (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0444\u0435\u0440\u0437\u044c \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 X1 \u0438 Y1 \u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0444\u0435\u0440\u0437\u0435\u0439, \u0442\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e, \u0435\u0441\u043b\u0438 1) \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0444\u0435\u0440\u0437\u0435\u0439 \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e 2)\u0444\u0435\u0440\u0437\u044c (X1,Y1) \u043d\u0435 \u0431\u044c\u0451\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0444\u0435\u0440\u0437\u044f \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0444\u0435\u0440\u0437\u0435\u0439 3)\u0435\u0441\u043b\u0438 \u0443\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0444\u0435\u0440\u0437\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0444\u0435\u0440\u0437\u044f, \u0442\u043e \u0432 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u043c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0444\u0435\u0440\u0437\u0435\u0439 \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e )<\/p>\n<p>  dontAttack([X1, Y1 | OtherElements]) :-<br \/>   dontAttack(X1, Y1, OtherElements).<\/p>\n<p>  (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0444\u0435\u0440\u0437\u044c \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 X1 \u0438 Y1 \u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0444\u0435\u0440\u0437\u0435\u0439, \u0438 \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u043d\u0435 \u0431\u044c\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e, \u0442\u043e \u0435\u0441\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0435\u0440\u0437\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0444\u0435\u0440\u0437\u0435\u0439, \u0442\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0435\u0440\u0437\u044c \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0433\u043e)<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445 \u044d\u0442\u0438\u0445 \u0444\u0435\u0440\u0437\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043b\u0438\u0448\u044c \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0444\u0435\u0440\u0437\u0435\u0439, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0444\u0435\u0440\u0437\u044c \u0441\u0442\u043e\u0438\u0442 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435, \u0432\u0442\u043e\u0440\u043e\u0439 \u2013 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c, \u0438 \u0442.\u0434.:<\/p>\n<p>  askMainQuestion():-<br \/>   X1=0, X2=1, X3=2, X4=3, X5=4, X6=5, X7=6, X8=7,<br \/>   dontAttack ([X1, Y1, X2, Y2, X3, Y3, X4, Y4, X5, Y5, X6, Y6, X7, Y7, X8, Y8]),<br \/>   stdio::write(X1, &quot;:&quot;, Y1, &quot; \u2014 &quot;, X2, &quot;:&quot;, Y2, &quot; \u2014 &quot;, X3, &quot;:&quot;, Y3, &quot; \u2014 &quot;, X4, &quot;:&quot;, Y4, &quot; \u2014 &quot;, X5, &quot;:&quot;, Y5, &quot; \u2014 &quot;, X6, &quot;:&quot;, Y6, &quot; \u2014 &quot;, X7, &quot;:&quot;, Y7, &quot; \u2014 &quot;, X8, &quot;:&quot;, Y8),<br \/>   stdio::nl, %new line<br \/>   fail.<\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0438 \u0432 \u0442\u0443 \u0436\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0444\u0435\u0440\u0437\u0435\u0439 \u043d\u0430 \u0448\u0430\u0445\u043c\u0430\u0442\u043d\u043e\u0439 \u0434\u043e\u0441\u043a\u0435.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/b><\/p>\n<div class=\"spoiler_text\">implement main<br \/>   open core<\/p>\n<p>  class predicates<br \/>   askMainQuestion:() procedure.<br \/>   dontAttack: (integer, integer, integer, integer) nondeterm anyflow.<br \/>   attack: (integer, integer, integer, integer) nondeterm(i,i,i,i). %nondeterm anyflow.<br \/>   any:(integer) multi(o) determ(i).<br \/>   dontAttack: (integer, integer, integer*) nondeterm anyflow.<br \/>   dontAttack: (integer*) nondeterm anyflow.<br \/>   abs: (integer, integer) nondeterm (i,o) nondeterm (i,i).<br \/>  clauses<\/p>\n<p>  any(0).<br \/>   any(1).<br \/>   any(2).<br \/>   any(3).<br \/>   any(4).<br \/>   any(5).<br \/>   any(6).<br \/>   any(7).<\/p>\n<p>  attack(X1, Y1, X2, Y2) :- X2 = X1.<br \/>   attack(X1, Y1, X2, Y2) :- Y2 = Y1.<br \/>   attack(X1, Y1, X2, Y2) :- abs(X2 \u2014 X1, Abs), abs(Y2 \u2014 Y1, Abs).<\/p>\n<p>  dontAttack(X1, Y1, X2, Y2) :-<br \/>   any(X1), any(Y1), any(X2), any(Y2), not(attack(X1, Y1, X2, Y2)).<\/p>\n<p>  dontAttack(X1, Y1, [X2, Y2 | OtherElements]) :-<br \/>   dontAttack([X2, Y2 | OtherElements]), dontAttack(X1, Y1, X2, Y2), dontAttack(X1, Y1, OtherElements).<\/p>\n<p>  dontAttack(X, Y, []) :- any(X), any(Y). %\u0413\u0440\u0430\u043d\u0438\u0447\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435<\/p>\n<p>  dontAttack([X1, Y1 | OtherElements]) :-<br \/>   dontAttack(X1, Y1, OtherElements).<\/p>\n<p>  dontAttack([]).<\/p>\n<p>  askMainQuestion():-<br \/>   X1=0, X2=1, X3=2, X4=3, X5=4, X6=5, X7=6, X8=7,<br \/>   dontAttack ([X1, Y1, X2, Y2, X3, Y3, X4, Y4, X5, Y5, X6, Y6, X7, Y7, X8, Y8]),<br \/>   stdio::write(X1, &quot;:&quot;, Y1, &quot; \u2014 &quot;, X2, &quot;:&quot;, Y2, &quot; \u2014 &quot;, X3, &quot;:&quot;, Y3, &quot; \u2014 &quot;, X4, &quot;:&quot;, Y4, &quot; \u2014 &quot;, X5, &quot;:&quot;, Y5, &quot; \u2014 &quot;, X6, &quot;:&quot;, Y6, &quot; \u2014 &quot;, X7, &quot;:&quot;, Y7, &quot; \u2014 &quot;, X8, &quot;:&quot;, Y8),<br \/>   stdio::nl, %new line<br \/>   fail.<\/p>\n<p>  askMainQuestion().<\/p>\n<p>  abs(X, Result) :- X&gt;=0, Result=X.<br \/>   abs(X, Result) :- X&lt;0, Result=-X.<\/p>\n<p>  run() :-<br \/>   console::init(),<br \/>   askMainQuestion(),<br \/>   _ = stdIO::readchar().<\/p>\n<p>  end implement main<\/p>\n<p>  goal<br \/>  mainExe::run(main::run).  <\/div>\n<\/div>\n<h4>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c \u043f\u0440\u043e\u043b\u043e\u0433 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0443\u044e <b>\u0442\u0435\u043e\u0440\u0435\u043c\u0443<\/b>.<\/h4>\n<p>  \u041f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0443\u043f\u043f\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u043e\u0439 \u0442\u043e\u0433\u0434\u0430 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 A \u0438 B \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f A \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a B \u043b\u0435\u0436\u0438\u0442 \u0432 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u043e\u0439, \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0440\u0438 \u043f\u0443\u043d\u043a\u0442\u0430: 1)\u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 2)\u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0438\u0437 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 3)\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043b\u044e\u0431\u044b\u0445 \u0434\u0432\u0443\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435.<br \/>  \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a\u0430\u043a \u201cE\u201d \u0438 \u0434\u0430\u0434\u0438\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430:<\/p>\n<p>  operation(A, \u00abE\u00bb, A) :- any(A).<br \/>   operation(\u00abE\u00bb, A, A) :- any(A).<\/p>\n<p>  \u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u043b\u0430\u0445 1 \u2013 \u044d\u0442\u043e \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442).<\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0430\u0440\u043e\u0447\u043a\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432. <\/p>\n<p>  any(\u00abE\u00bb).<br \/>   any(\u00abM\u00bb).<br \/>   any(\u00abA\u00bb).<br \/>   any(\u00abB\u00bb).<br \/>   any(\u00abnotA\u00bb).<br \/>   any(\u00abnotB\u00bb).<\/p>\n<p>  \u0422\u0443\u0442 \u0431\u044b\u043b\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u043f\u043e\u043c\u0438\u043c\u043e \u201cE\u201d, \u043f\u043e\u044f\u0441\u043d\u0438\u043c \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u043e\u043f\u0438\u0441\u0430\u0432 \u0438\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<p>  ofGroup(\u00abM\u00bb, \u00abSet\u00bb).<br \/>   ofGroup(\u00abA\u00bb, \u00abSubSet\u00bb).<br \/>   ofGroup(\u00abB\u00bb, \u00abSubSet\u00bb).<\/p>\n<p>  \u0410 \u0438 B \u2013 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430, M \u2013 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430.<\/p>\n<p>  obratni(\u00abB\u00bb, \u00abnotB\u00bb).<br \/>   obratni(\u00abnotB\u00bb, \u00abB\u00bb).<br \/>   obratni(\u00abA\u00bb, \u00abnotA\u00bb).<br \/>   obratni(\u00abnotA\u00bb, \u00abA\u00bb).<br \/>   obratni(\u00abE\u00bb, \u00abE\u00bb).<\/p>\n<p>  \u201cnotA\u201d \u2013 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a \u201cA\u201d, \u201cnotB\u201d \u2013 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a \u201cB\u201d<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0434\u0438\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430:<\/p>\n<p>  operation(A, B, \u00abE\u00bb) :- obratni(A, B).<br \/>   operation(B, A, \u00abE\u00bb) :- obratni(A, B).<\/p>\n<p>  \u0410 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a B, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0438 A \u043d\u0430 B \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 2 * 0,5 = 1). \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0443 A \u0438 B \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043a\u0430\u0432\u044b\u0447\u0435\u043a, \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0432\u0432\u0438\u0434\u0443 \u043d\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u00ab\u0410\u00bb \u0438 \u00ab\u0412\u00bb, \u0430 \u043b\u044e\u0431\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b.<\/p>\n<p>  \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430:<\/p>\n<p>  ofGroup(X, \u00abSet\u00bb) :- ofGroup(X, \u00abSubSet\u00bb).<\/p>\n<p>  (\u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443, \u0435\u0441\u043b\u0438 \u043e\u043d \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443)<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 A \u0438 B \u0438\u0437 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f A \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a B \u043b\u0435\u0436\u0438\u0442 \u0432 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 (\u043f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044e \u0442\u0435\u043e\u0440\u0435\u043c\u044b)<\/p>\n<p>  ofGroup(C, \u00abSubSet\u00bb) :- obratni(B, NotB), operation(A, NotB, C), ofGroup(A, \u00abSubSet\u00bb), ofGroup(B, \u00abSubSet\u00bb), stdio::write(C, &quot; is from subset, because &quot;, A, &quot;*&quot;, NotB, &quot;=&quot;, C, &quot;. &quot;), stdio::nl.<\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d (stdio::write), \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u043b\u043e\u0433\u0430, \u0443\u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u043b\u043e\u0433 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0445\u043e\u0434 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0442\u0435\u043e\u0440\u0435\u043c\u044b.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0440\u0438 \u043f\u0443\u043d\u043a\u0442\u0430 \u0438\u0437 \u0442\u0435\u043e\u0440\u0435\u043c\u044b. <br \/>  \u0417\u0430\u0434\u0430\u0434\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u043e \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u201cE\u201d:<\/p>\n<p>  firstQuestion() :-<br \/>   ofGroup(\u00abE\u00bb, \u00abSubSet\u00bb),<br \/>   stdio::write(\u00abE is from subset\u00bb),<br \/>  !..<br \/>  firstQuestion() :- stdio::write(\u00abE is NOT from subset\u00bb).<\/p>\n<p>  \u041f\u0440\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442:<\/p>\n<p>  secondQuestion():-<br \/>   ofGroup(\u00abnotA\u00bb, \u00abSubSet\u00bb),<br \/>   stdio::write(\u00abnotA is from subset\u00bb),<br \/>  !..<br \/>  secondQuestion() :- stdio::write(\u00abNotA is NOT from subset\u00bb).<\/p>\n<p>  \u0422\u0443\u0442 \u0443 \u0432\u0430\u0441 \u043c\u043e\u0433 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441: \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0438\u0437 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430, \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443, \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u0432\u043e\u043f\u0440\u043e\u0441\u0435 \u043f\u0440\u043e\u043b\u043e\u0433\u0443 \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u043e\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u2014 \u00abnotA\u00bb. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043d\u0435 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0438 \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u00abnotA\u00bb \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 (\u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0435\u0433\u043e \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443), \u0442\u043e \u0435\u0441\u043b\u0438 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u043b\u044e\u0431\u043e\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0442\u043e \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0431\u0443\u0434\u0443\u0442 \u0432\u0435\u0440\u043d\u044b \u0432\u0441\u0435 \u0442\u0435 \u0436\u0435 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0438 \u043a \u00abnotA\u00bb. \u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u044d\u0442\u0438\u043c \u043f\u0440\u0438\u0451\u043c\u043e\u043c \u043f\u0440\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0442\u0435\u043e\u0440\u0435\u043c. \u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u0451\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u0435\u043d \u0434\u043b\u044f Prolog-\u0430, \u0432\u0435\u0434\u044c \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0438 \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041d\u0443 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u043e \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u044c \u043a \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430:<\/p>\n<p>  operation(\u00abA\u00bb, \u00abB\u00bb, \u00abAB\u00bb).<br \/>  thirdQuestion():-<br \/>   operation(\u00abA\u00bb, \u00abB\u00bb, AB),<br \/>   ofGroup(AB, \u00abSubSet\u00bb),<br \/>   stdio::write(\u00abA*B is from subset\u00bb),<br \/>  !..<br \/>   thirdQuestion() :- stdio::write(\u00abA*B is NOT from subset\u00bb).<\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u2026 \u0418 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0430\u0434\u0430\u0435\u0442, \u043f\u043e\u0432\u0438\u0441\u043d\u0443\u0432, \u043e\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u0430! \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e. \u041f\u043e \u0441\u0443\u0442\u0438, \u043f\u0440\u043e\u043b\u043e\u0433 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u043c \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0445 \u0432 \u043d\u0435\u0433\u043e \u0444\u0430\u043a\u0442\u043e\u0432. \u041f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u043f\u0440\u043e\u043b\u043e\u0433 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u0435 \u0444\u0430\u043a\u0442\u044b, \u0445\u043e\u0442\u044c \u043a\u0430\u043a-\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c. \u0415\u0441\u043b\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0438\u0441\u0442\u0438\u043d\u0435\u043d \u043b\u0438 \u0444\u0430\u043a\u0442, \u043e\u043d \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u0435 \u0444\u0430\u043a\u0442\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0443\u0436\u0435 \u0441 \u044d\u0442\u0438\u043c \u0444\u0430\u043a\u0442\u043e\u043c. \u0418 \u0442\u0430\u043a, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u0439\u0434\u0451\u0442 \u0434\u043e \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043e obratni(\u00abA\u00bb, \u00abnotA\u00bb) \u2013 \u00abnotA\u00bb \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a \u00abA\u00bb. \u0411\u044b\u043b \u0437\u0430\u0434\u0430\u043d \u0432\u043e\u043f\u0440\u043e\u0441: \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043b\u0438 \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443. \u041f\u0440\u043e\u043b\u043e\u0433 \u0432\u0438\u0434\u0438\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043e ofGroup(C, \u00abSubSet\u00bb) :- obratni(B, NotB), operation(A, NotB, C), ofGroup(A, \u00abSubSet\u00bb), ofGroup(B, \u00abSubSet\u00bb) \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0421 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438 \u043d\u0430\u0439\u0442\u0438 A \u0438 B, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0443, \u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0443 \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443. \u041f\u0435\u0440\u0432\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c \u0441\u0440\u0435\u0434\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0443\u043a\u0430\u0437\u0430\u043d \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 ( any(\u00abE\u00bb) ), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 Prolog \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 B. \u0418\u0442\u0430\u043a, obratni(\u00abE\u00bb, NotB). \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Prolog \u0437\u0430\u0434\u0430\u0451\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u043a\u0430\u043a\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a \u00abE\u00bb? \u2014 \u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u0432\u0435\u0442 ( obratni(\u00abE\u00bb, \u00abE\u00bb) ). \u0418\u0442\u0430\u043a, NotB = \u00abE\u00bb. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Prolog \u0438\u0434\u0435\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0443 \u0438 \u0432\u0438\u0434\u0438\u0442 operation(A, NotB, C), \u0432 \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043b\u0443\u0447\u0430\u0435 operation(A, \u00abE\u00bb, \u00abE\u00bb) \u0438 \u0437\u0430\u0434\u0430\u0451\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u043a\u0430\u043a\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u00abE\u00bb \u0434\u0430\u0451\u0442 \u00abE\u00bb \u2013 \u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u0432\u0435\u0442 \u00abE\u00bb ( \u0438\u0437 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 operation(A, \u00abE\u00bb, \u00abE\u00bb) :- obratni(A, \u00abE\u00bb) \u0438 \u0444\u0430\u043a\u0442\u0430 obratni(\u00abE\u00bb, \u00abE\u00bb).). \u0418\u0442\u0430\u043a, A = \u00abE\u00bb.\u0418\u0434\u0451\u043c \u043f\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u0443 \u0434\u0430\u043b\u044c\u0448\u0435: ofGroup(A, \u00abSubSet\u00bb), \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 ofGroup(\u00abE\u00bb, \u00abSubSet\u00bb). \u0418 \u0442\u0443\u0442 Prolog \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u0434\u0430\u0432\u0430\u043b\u0438 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u2013 \u0430 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043b\u0438 \u00abE\u00bb \u043a \u00abSubSet\u00bb (\u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043a \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u0435)? \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u043d\u043e\u0432\u0430 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0442\u0435 \u0436\u0435 \u0441\u0430\u043c\u044b\u0435 \u0444\u0430\u043a\u0442\u044b \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0445\u043e\u0434\u044f \u043f\u043e \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u043e\u043c\u0443 \u043a\u0440\u0443\u0433\u0443. \u041d\u0443 \u0447\u0442\u043e \u0436, \u043f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e:<br \/>  ofGroup(C, \u00abSubSet\u00bb) :- obratni(B, NotB), NotB&lt;&gt;\u00abE\u00bb, NotB&lt;&gt;\u00abM\u00bb, operation(A, NotB, C), ofGroup(A, \u00abSubSet\u00bb), ofGroup(B, \u00abSubSet\u00bb), stdio::write(C, &quot; is from subset, because &quot;, A, &quot;*&quot;, NotB, &quot;=&quot;, C, &quot;. &quot;), stdio::nl. <br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 NotB \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u00abE\u00bb \u0438 \u00abM\u00bb, \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043f\u043e\u0432\u0438\u0441\u043d\u0435\u0442 (\u0434\u0430-\u0434\u0430, \u0438 \u043d\u0430 \u00abM\u00bb \u043e\u043d\u0430 \u0442\u043e\u0436\u0435 \u043f\u043e\u0432\u0438\u0441\u0430\u0435\u0442).<br \/>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432 \u0442\u0443 \u0436\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0432\u044b\u0434\u0430\u0451\u0442 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0442\u0440\u0451\u0445 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0442\u0435\u043e\u0440\u0435\u043c\u044b: <\/p>\n<p>  E is from subset, because B*notB=E.<br \/>  E is from subset<br \/>  (A \u0438 B \u043b\u0435\u0436\u0430\u0442 \u0432 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 A \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043a B \u043b\u0435\u0436\u0438\u0442 \u0432 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435. \u0412\u044b\u0432\u043e\u0434 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u043c, \u0435\u0441\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 write \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0430)<\/p>\n<p>  E is from subset, because B*notB=E.<br \/>  notA is from subset, because E*notA=notA.<br \/>  notA is from subset<\/p>\n<p>  E is from subset, because B*notB=E.<br \/>  notB is from subset, because E*notB=notB.<br \/>  AB is from subset, because A*B=AB.<br \/>  A*B is from subset<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/b><\/p>\n<div class=\"spoiler_text\">implement main<br \/>   open core<\/p>\n<p>  domains<br \/>   any = string.<br \/>   group = string.<br \/>  class predicates<br \/>   firstQuestion:() procedure.<br \/>   secondQuestion:() procedure.<br \/>   thirdQuestion:() procedure.<br \/>   operation: (any, any, any) nondeterm(i,i,i) nondeterm(o,i,i) nondeterm(i,i,o) nondeterm(o,o,i) nondeterm(o,o,o) nondeterm(i,o,i) nondeterm(i,o,o) nondeterm(o,i,o).<br \/>   obratni: (any, any) nondeterm(i,i) nondeterm(o,i) nondeterm(o,o) nondeterm(i,o).<br \/>   ofGroup: (any, group) nondeterm(i,i) nondeterm(o,i) nondeterm(i,o).<br \/>   any: (string) nondeterm(i) nondeterm(o).<br \/>  clauses<\/p>\n<p>  operation(A, B, \u00abE\u00bb) :- obratni(A, B).<br \/>   operation(B, A, \u00abE\u00bb) :- obratni(A, B).<br \/>   operation(A, \u00abE\u00bb, A) :- any(A).<br \/>   operation(\u00abE\u00bb, A, A) :- any(A). %\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435\u043c \u0438\u0437 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u043c\u0438\u043d\u0438\u043c\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b<br \/>   operation(\u00abA\u00bb, \u00abB\u00bb, \u00abAB\u00bb). %\u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0410 \u043d\u0430 \u0412 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e<\/p>\n<p>  obratni(\u00abM\u00bb, \u00abnotM\u00bb).<br \/>   obratni(\u00abnotM\u00bb, \u00abM\u00bb).<br \/>   obratni(\u00abB\u00bb, \u00abnotB\u00bb).<br \/>   obratni(\u00abnotB\u00bb, \u00abB\u00bb).<br \/>   obratni(\u00abA\u00bb, \u00abnotA\u00bb).<br \/>   obratni(\u00abnotA\u00bb, \u00abA\u00bb).<br \/>   obratni(\u00abE\u00bb, \u00abE\u00bb).<\/p>\n<p>  any(\u00abE\u00bb).<br \/>   any(\u00abM\u00bb).<br \/>   any(\u00abA\u00bb).<br \/>   any(\u00abB\u00bb).<br \/>   any(\u00abnotA\u00bb).<br \/>   any(\u00abnotB\u00bb).<br \/>   any(\u00abnotM\u00bb).<\/p>\n<p>  ofGroup(X, \u00abSet\u00bb) :- ofGroup(X, \u00abSubSet\u00bb). %\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430<br \/>   ofGroup(\u00abE\u00bb, \u00abSet\u00bb).<br \/>   ofGroup(\u00abM\u00bb, \u00abSet\u00bb).<br \/>   ofGroup(\u00abA\u00bb, \u00abSubSet\u00bb).<br \/>   ofGroup(\u00abB\u00bb, \u00abSubSet\u00bb).<br \/>   ofGroup(\u00abnotB\u00bb, \u00abSet\u00bb).<br \/>   ofGroup(\u00abnotA\u00bb, \u00abSet\u00bb).<\/p>\n<p>  ofGroup(C, \u00abSubSet\u00bb) :- obratni(B, NotB), NotB&lt;&gt;\u00abE\u00bb, NotB&lt;&gt;\u00abM\u00bb, operation(A, NotB, C), ofGroup(A, \u00abSubSet\u00bb), ofGroup(B, \u00abSubSet\u00bb), stdio::write(C, &quot; is from subset, because &quot;, A, &quot;*&quot;, NotB, &quot;=&quot;, C, &quot;. &quot;), stdio::nl. % a(-b) \u044d Set<\/p>\n<p>  firstQuestion() :-<br \/>   ofGroup(\u00abE\u00bb, \u00abSubSet\u00bb),<br \/>   stdio::write(\u00abE is from subset\u00bb),<br \/>  !..<\/p>\n<p>  firstQuestion() :- stdio::write(\u00abE is NOT from subset\u00bb).<\/p>\n<p>  secondQuestion():-<br \/>   ofGroup(\u00abnotA\u00bb, \u00abSubSet\u00bb),<br \/>   stdio::write(\u00abnotA is from subset\u00bb),<br \/>  !..<\/p>\n<p>  secondQuestion() :- stdio::write(\u00abNotA is NOT from subset\u00bb).<\/p>\n<p>  thirdQuestion():-<br \/>   operation(\u00abA\u00bb, \u00abB\u00bb, AB),<br \/>   ofGroup(AB, \u00abSubSet\u00bb),<br \/>   stdio::write(\u00abA*B is from subset\u00bb),<br \/>  !..<\/p>\n<p>  thirdQuestion() :- stdio::write(\u00abA*B is NOT from subset\u00bb).<\/p>\n<p>  run() :-<br \/>   console::init(),<br \/>   firstQuestion(),<br \/>   stdio::nl,stdio::nl,stdio::nl,<br \/>   secondQuestion(),<br \/>   stdio::nl,stdio::nl,stdio::nl,<br \/>   thirdQuestion(),<br \/>   _ = stdIO::readchar().<\/p>\n<p>  end implement main<\/p>\n<p>  goal<br \/>  mainExe::run(main::run).  <\/div>\n<\/div>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>  Prolog \u2013 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u044f\u0437\u044b\u043a, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0435 \u043f\u043e\u0432\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u0435\u043c\u0443 \u0447\u0435\u0441\u0442\u0438 (\u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0437\u043d\u0430\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0431\u043e\u0440\u044c\u0431\u044b \u0441 \u044d\u0442\u0438\u043c, \u043f\u0440\u043e\u0441\u044c\u0431\u0430 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445). \u0412 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u0446\u0438\u043a\u043b\u043e\u0432 \u0432 \u0433\u0440\u0430\u0444\u0430\u0445 \u0440\u0435\u0448\u0435\u043d\u0430 \u0434\u0430\u0432\u043d\u044b\u043c \u0434\u0430\u0432\u043d\u043e, \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0437\u044b\u043a\u0430 \u2014 \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0435\u0448\u0430\u0435\u043c\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430! \u0415\u0441\u043b\u0438 \u0431\u044b \u044d\u0442\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u044b\u043b\u0430 \u0440\u0435\u0448\u0435\u043d\u0430, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u0437\u043d\u0430\u043d\u0438\u0439 \u0432\u0441\u0435\u0445 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0432, \u0438 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b! \u0418\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0430\u043a\u0441\u0438\u043e\u043c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 \u0438 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u0437\u0430\u043a\u043e\u043d\u044b (\u0430-\u043b\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%8F_%D0%9B%D0%BE%D0%B1%D0%B0%D1%87%D0%B5%D0%B2%D1%81%D0%BA%D0%BE%D0%B3%D0%BE\">\u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u044f \u041b\u043e\u0431\u0430\u0447\u0435\u0432\u0441\u043a\u043e\u0433\u043e<\/a> \u0432 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u043e\u043a\u0430)! \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0441\u0442\u0438\u0447\u043d\u043e, \u0438 \u044f\u0437\u044b\u043a\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043e\u043a, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435\u2026 \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043e\u043a: Prolog \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043c\u0435\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0437 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u0438 \u0443\u043c\u0435\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u043c\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044e \u0442\u0435\u043e\u0440\u0435\u043c\u044b, \u043a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u0442\u0435\u043e\u0440\u0435\u043c\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%91%D0%BE%D0%BB%D1%8C%D1%86%D0%B0%D0%BD%D0%BE_%E2%80%94_%D0%92%D0%B5%D0%B9%D0%B5%D1%80%D1%88%D1%82%D1%80%D0%B0%D1%81%D1%81%D0%B0\">\u0411\u043e\u043b\u044c\u0446\u0430\u043d\u043e-\u0412\u0435\u0439\u0435\u0440\u0448\u0442\u0440\u0430\u0441\u0441\u0430<\/a>. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 Prolog \u0432\u0440\u044f\u0442 \u043b\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u0431\u044b \u0442\u043e \u043d\u0438 \u0431\u044b\u043b\u043e: \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u0438\u0447\u0438\u043d \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u0439 \u0443 \u043c\u0435\u043d\u044f \u0443\u0448\u043b\u043e \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0435\u043c \u0434\u043b\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441\u0430\u043c\u043e\u0439 \u0442\u0435\u043e\u0440\u0435\u043c\u044b! (\u0418\u043c\u0445\u043e, \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043c\u043e\u0451 \u043c\u043d\u0435\u043d\u0438\u0435)     \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/254133\/\"> http:\/\/habrahabr.ru\/post\/254133\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0435\u0431\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u041a\u0410\u041a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0427\u0422\u041e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0438 \u044f\u0437\u044b\u043a \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0440\u0435\u0448\u0430\u0442\u044c \u0442\u0435 \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0447\u0442\u043e \u0438 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 JAVA. \u041a\u0430\u0436\u0435\u0442\u0441\u044f \u0444\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u043a\u043e\u0439, \u043d\u0435 \u043f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438? \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u0435\u0441\u0442\u044c \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d PROLOG. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a PROLOG \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0437\u0430\u0433\u0430\u0434\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u043b\u043e\u0433\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0433\u0430\u0434\u043e\u043a \u0438 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c PROLOG \u0432\u044b\u0434\u0430\u0442\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0442\u0435\u043e\u0440\u0435\u043c\u044b.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/66b\/d0a\/d94\/66bd0ad9428943138aa8a102526cbe02.jpg\" alt=\"image\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-253893","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=253893"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253893\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=253893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=253893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=253893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}