Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π• НА Π―Π—Π«ΠšΠ• ΠŸΠ ΠžΠ›ΠžΠ“Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 68

Автор Π£ Клоксин

ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ([], X, X).

ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ([А|Π’],Π‘[А|D]):- ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ (B,C,D).


говорят ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ собой прСдставляСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка Π² Π½Π°Ρ‡Π°Π»ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ списка. Если пустой список помСщаСтся Π² Π½Π°Ρ‡Π°Π»ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ списка X, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ X. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли нСпустой список присоСдиняСтся Π² Π½Π°Ρ‡Π°Π»ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ списка, Ρ‚ΠΎ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка-Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΠ»ΠΎΠ²Π° присоСдиняСмого списка. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, хвостом списка-Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ список, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ присоСдинСния хвоста ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ списку. МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти утвСрТдСния ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ список ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

Π­Ρ‚ΠΎ всС Π²Π΅Ρ€Π½ΠΎ лишь для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅. А ΠΊΠ°ΠΊΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ утвСрТдСниям ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ?


memberl(X, List):- var(List),!,fail.

memberl(X,[X|_]).

memberl(X,[_|List]):- memberl(X,List).

print(0):-!.

print(N):- write(N), N1 is N-1, print(N1).

noun(N):- name(N,Name1), append(Name2, [ll5],Namel), name(RootN,Name2), noun(RootN).

implies(Assum,Concl):-asserta(Assum), call(Concl), retract(Concl).


Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ мСсто для всСх «встроСнных» ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Var(List) Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ принадлСТности элСмСнта списку, Π° провСряСт состояниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (являСтся Π»ΠΈ указанная пСрСмСнная Π½Π΅ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ), Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ Π² процСссС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Аналогично, «отсСчСниС» Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ высказывания (Π²Ρ‹Π±ΠΎΡ€ ΠΊΠ°ΠΊΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ), Π° Π½Π΅ ΠΎ самом этом высказывании. Π”Π²Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Β«ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°Β» ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ способ выраТСния ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ write(N) Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ интСрСсных логичСских свойств, Π½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π² Ρ…ΠΎΠ΄Π΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π±ΡƒΠ΄Π΅Ρ‚ достигнуто ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ состояниС (N конкрСтизируСтся) ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с программистом, сидящим Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ. Π¦Π΅Π»Π΅Π²ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ name(N, Name1) Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² исчислСнии ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² Π±Ρ‹Π» Π±Ρ‹ Π½Π΅Π΄Π΅Π»ΠΈΠΌΡ‹ΠΌ символом. Π’ ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ символы Π² строки Π»ΠΈΡ‚Π΅Ρ€, структуры Π² списки ΠΈ Π² утвСрТдСния. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎΡΡ‚ΡŒ высказываний исчислСния ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ². Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, использованиС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° asserta ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ, добавляСт Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΊ мноТСству аксиом. Π’ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΠ»ΠΈ Ρ„Π°ΠΊΡ‚ сохраняСт ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³Ρ€ΡƒΠ±ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ этот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚ΠΎ окаТСмся Π² ситуации, ΠΊΠΎΠ³Π΄Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… этапах Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° имССтся Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ мноТСство аксиом. НаконСц, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» прСдполагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌ Concl Π² качСствС Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ утвСрТдСния, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ допускаСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСмСнная ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π»Π° высказываниС, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ аксиомС. Вакая конструкция Π½Π΅ относится ΠΊ числу Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π½Π° языкС исчислСния ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ², Π½ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ высокого порядка.

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ лишь Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ систСмС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ качСствС ΠΊΡ€Π°ΠΉΠ½Π΅Π³ΠΎ случая, ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π³Π΅Π½Π°Ρ‚ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π² Π³Π». 7. Вряд Π»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°Π½Π° какая-Π»ΠΈΠ±ΠΎ дСкларативная интСрпрСтация этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜ΠΌΠ΅Π΅Ρ‚ Π»ΠΈ Ρ‚ΠΎΠ³Π΄Π° смысл Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠŸΡ€ΠΎΠ»ΠΎΠ³ ΠΊΠ°ΠΊ язык логичСского программирования? МоТСм Π»ΠΈ ΠΌΡ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ прСимущСства логичСского программирования ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ нашим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅? На ΠΎΠ±Π° этих вопроса ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ основаниСм для этого слуТит Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ приняв ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ программирования, ΠΌΡ‹ всС ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСства благодаря связи ΠŸΡ€ΠΎΠ»ΠΎΠ³Π° с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся использованиС разбиСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° части, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ использованиС нСлогичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ нСбольшим мноТСством ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π² Π³Π». 4 Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях «отсСчСниС» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠΌ not. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΈΡ… Π·Π°ΠΌΠ΅Π½, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π²ΡˆΡƒΡŽ Ρ†Π΅Π»Ρ‹ΠΉ ряд «отсСчСний» ΠΌΠΎΠΆΠ½ΠΎ свСсти ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ «отсСчСниС» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ лишь ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ (Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ not). ИспользованиС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° not Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π½Π΅ совсСм Ρ‚ΠΎΡ‡Π½ΠΎ соотвСтствуСт логичСскому '~' позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ логичСской основы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Аналогично, ограничивая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² asserta ΠΈ retract опрСдСлСниями нСбольшого числа ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π³Π΅Π½Π°Ρ‚ΠΎΠΌ ΠΈ найтивсС), ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° становится Π±ΠΎΠ»Π΅Π΅ понятной ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эти ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, с появлСниСм ΠŸΡ€ΠΎΠ»ΠΎΠ³Π° конСчная Ρ†Π΅Π»ΡŒ, состоящая Π² создании языка логичСского программирования, Π½Π΅ Π±Ρ‹Π»Π° достигнута. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠŸΡ€ΠΎΠ»ΠΎΠ³ Π΄Π°Π» ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ систСму программирования, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни свойствами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ язык логичСского программирования – ΡΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ вСдутся Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹Ρ… вСрсий ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ‡Π΅ΠΌ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² настоящСС врСмя. К числу Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ Π² этой области относятся Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ созданию практичСской систСмы программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «отсСчСниС» ΠΈ которая ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° not Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ логичСскому ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ отрицания.

ГЛАВА 11. ΠŸΠ ΠžΠ“Π ΠΠœΠœΠΠ«Π• ΠŸΠ ΠžΠ•ΠšΠ’Π« НА ΠŸΠ ΠžΠ›ΠžΠ“Π•

Π’ этой Π³Π»Π°Π²Π΅ рассматриваСтся ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ для развития Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅. НСкоторыС ΠΈΠ· этих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² довольно просты, Π·Π°Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² качСствС «курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹Β» Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ курса ΠΏΠΎ ΠŸΡ€ΠΎΠ»ΠΎΠ³Ρƒ. Π‘ΠΎΠ»Π΅Π΅ простыС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ упраТнСниям, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΈ пСрСчислСнии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΡ‹ Π½Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ порядка, хотя Ρ‚Π΅ ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎ содСрТатся Π² Ρ€Π°Π·Π΄. 11.2, Π² большСй ΠΌΠ΅Ρ€Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, содСрТат Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅ΡΡ‚ΠΎΠ»ΡŽΠ±ΠΈΡŽ, Π½ΠΎ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ знакомства с Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ вопросам искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. НСбольшая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Π½ΠΈΠΉ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π½Π°ΡƒΠΊΠΈ, поэтому Ссли Π²Ρ‹ Π½Π΅ спСциалист Π² области матСматичСской Ρ„ΠΈΠ·ΠΈΠΊΠΈ, Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚Ρ‡Π°ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ, Ссли Π½Π΅ смоТСтС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ диффСрСнцирования Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ.

ЦСлая ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠŸΡ€ΠΎΠ»ΠΎΠ³-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ Coehlo H., Cotta J. Π‘, Pereira L. M. How to solve it with Prolog, Laboratorio Nacional de Engenharia Civil, Lisbon, Portugal. Π’ Π½Π΅ΠΌ содСрТится ΡΠ²Ρ‹ΡˆΠ΅ ста Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π·Π°Π΄Π°Ρ‡ ΠΈ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… областСй ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π° основС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, СстСствСнный язык, символьноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΎΡ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ своСму Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Ρƒ Π½Π΅ рассчитан Π½Π° использованиС для обучСния, поэтому ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ ΠŸΡ€ΠΎΠ»ΠΎΠ³-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ снабТСны лишь ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌΠΈ пояснСниями.

11.1. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹

1.ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π»ΠΈΠ½ для Β«Π»ΠΈΠ½Π΅Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈΒ» списка ΠΏΡƒΡ‚Π΅ΠΌ построСния Π½ΠΎΠ²ΠΎΠ³ΠΎ списка, Π½Π΅ содСрТащСго списков Π² качСствС элСмСнтов, Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ всС Π°Ρ‚ΠΎΠΌΡ‹ исходного списка. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ согласовано с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…:


?- лин([а,[b,с],[[d],[],С]], [a,b,c,d,e]).


БущСствуСт ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ ΡˆΠ΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов написания этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2. Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для вычислСния ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° (Π² днях) ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π°Ρ‚Π°ΠΌΠΈ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π”Π΅Π½ΡŒ-ΠœΠ΅ΡΡΡ†, считая Ρ‡Ρ‚ΠΎ ΠΎΠ±Π΅ ΠΎΠ½ΠΈ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ нСвисокосному Π³ΠΎΠ΄Ρƒ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ '-' это просто инфиксная Ρ„ΠΎΡ€ΠΌΠ° задания 2-Ρ… мСстного Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€Π°. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ согласовано с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…:


ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»(3-ΠΌΠ°Ρ€Ρ‚, 7-Π°ΠΏΡ€Π΅Π»ΡŒ, 35).


3. Π’ Π³Π»Π°Π²Π΅ 7 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ свСдСния, достаточныС для составлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ диффСрСнцирования ΠΈ упрощСния арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠΉΡ‚Π΅ эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ выраТСния с тригономСтричСскими функциями ΠΈ, Ссли Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, с опСрациями Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ div, grad ΠΈ rot.

4. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΡƒΡŽ символичСскоС ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ выраТСния исчислСния высказываний. Π­Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строится ΠΈΠ· Π°Ρ‚ΠΎΠΌΠΎΠ², одномСстного Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€Π° not ΠΈ двухмСстных Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ΠΎΠ² and (ΠΈ), or (ΠΈΠ»ΠΈ) ΠΈ implies (импликация). Π—Π°Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ описания ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² для этих Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ΠΎΠ². Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ отрицания, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΠ³Π΄Π° not примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π°Ρ‚ΠΎΠΌΠ°ΠΌ. НапримСр, ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ выраТСния