Известен такой анекдот про Пушкина. В мае 1824 года граф Воронцов отправил его в командировку в Херсонскую губернию для осмотра мест, пострадавших от нашествия саранчи. Поэт находился в Одессе под надзором и был вынужден выполнять подобные поручения, что усиливало его желание покинуть юг.
В Одессе Пушкин оказался в июле 1823 года Пушкин. Он добился перевода по службе в канцелярию графа Воронцова. До этого же, с 21 сентября 1820 г. пребывал в Кишеневе в качестве ссыльного. Т. е. он переехал из Кишенева в Одессу и видел саранчу.
Газета «Московские ведомости» в номере от 13 июля 1860 г. сообщает о нашествии саранчи в Херсонской губернии. Корреспондент, направлявшийся из Кишинева в Одессу, увидел это бедствие сразу после того, как переехал Днестр. Он замечает, что вблизи Одессы, верст за 50 от города саранчи нет. Обозначим его как `Корреспондент «Московских ведомостей»`, поскольку заметка не подписана.
литератор("А. С. Пушкин", 1823).
литератор("Корреспондент «Московских ведомостей»", 1860).
ехал_из_города("Кишенев", "А. С. Пушкин").
ехал_из_города("Кишенев", "Корреспондент «Московских ведомостей»").
ехал_в_город("Одесса", "А. С. Пушкин").
ехал_в_город("Одесса", "Корреспондент «Московских ведомостей»").
сообщил_о_саранче("А. С. Пушкин").
сообщил_о_саранче("Корреспондент «Московских ведомостей»").
свидетель_саранчи(Литератор, ЕхалОткуда, ЕхалКуда, Год):-
литератор(Литератор, Год),
ехал_из_города(ЕхалОткуда, Литератор),
ехал_в_город(ЕхалКуда, Литератор),
сообщил_о_саранче(Литератор).
% Немного магии языка Prolog для заполнения списка:
найти(СтарыйСписок, НовыйСписок):-
свидетель_саранчи(Литератор, ЕхалОткуда, ЕхалКуда, Год),
not(member(Литератор, СтарыйСписок)),
format('~w, сообщивший о нашествии саранчи, в ~w году ~nехал из города ~w в город ~w. ~n~n', [Литератор, Год, ЕхалОткуда, ЕхалКуда]),
найти([Литератор|СтарыйСписок], НовыйСписок),!.
найти(НовыйСписок, СтарыйСписок):-
СтарыйСписок = НовыйСписок,!.
найти([], _).
__Результат работы программы__:
_А. С. Пушкин, сообщивший о нашествии саранчи, в 1823 году<br>
ехал из города Кишенев в город Одесса._
_Корреспондент «Московских ведомостей», сообщивший о нашествии саранчи, в 1860 году<br>
ехал из города Кишенев в город Одесса._
У каждого литератора был влиятельный в Одессе современник по фамилии Воронцов. В 1845 году С. М. Воронцов был произведён в коллежские секретари и назначен в распоряжение своего отца, М. С. Воронцова, который тогда же получил должность наместника Кавказа. В 1865 г. С. М. Воронцов стал одесским городским головой, но и до этого был фигурой влиятельной на российском Юге: в 1856 г.назначен генерал-адъютантом, с 1862 г. — генерал-лейтенант.
литератор("А. С. Пушкин", 1823).
литератор("Корреспондент «Московских ведомостей»", 1860).
влиятельный_человек_в_одессе(1, "Воронцов", "Михаил", "Семенович", "Генерал-губернатор", 1823).
влиятельный_человек_в_одессе(2, "Воронцов", "Семен", "Михайлович", "Городской голова", 1865).
влиятельный_современник("А. С. Пушкин", 1).
влиятельный_современник("Корреспондент «Московских ведомостей»", 2).
родительный_падеж("А. С. Пушкин", "А. С. Пушкина").
родительный_падеж("Корреспондент «Московских ведомостей»", "Корреспондента «Московских ведомостей»").
фамилия_современника(Литератор, Фамилия, Год):-
литератор(Литератор, Год),
влиятельный_современник(Литератор, ИД),
влиятельный_человек_в_одессе(ИД, Фамилия, _, _, _, _).
% Немного магии языка Prolog для заполнения списка:
найти(СтарыйСписок, НовыйСписок):-
фамилия_современника(Литератор, ФамилияВельможи, Год),
not(member(Литератор, СтарыйСписок)),
родительный_падеж(Литератор, ЛитераторРП),
format('У ~w в ~w году был влиятельный современник,~nзанимавший высокий пост в Одессе по фамилии ~w. ~n~n', [ЛитераторРП, Год, ФамилияВельможи]),
найти([Литератор|СтарыйСписок], НовыйСписок),!.
найти(НовыйСписок, СтарыйСписок):-
СтарыйСписок = НовыйСписок,!.
найти([], _).
__Результат работы программы__:
_У А. С. Пушкина в 1823 году был влиятельный современник,<br>
занимавший высокий пост в Одессе по фамилии Воронцов._
_У Корреспондента «Московских ведомостей» в 1860 году был влиятельный современник,<br>
занимавший высокий пост в Одессе по фамилии Воронцов._
Что-то многовато совпадений…
Интересно, что в 1860 году по инициативе выпускников Царскосельского лицея, в котором учился Пушкин, была объявлена подписка по сбору средств на сооружение памятника поэту в Москве, открытому спустя 20 лет.