Напишите предикат, предшествует/2, который берет два атома в качестве своих аргументов и успешно согласуется - Prolog

Формулировка задачи:

Напишите предикат, предшествует/2, который берет два атома в качестве своих аргументов и успешно согласуется, если первый из них в лексикографическом порядке предшествует второму. Предикат предшествует(+X,+Y) должен иметь в качестве входных аргумента два атома (переменной аргумент не может быть, и аргументы не сводятся к одному символу). Примеры правильной работы: ?- предшествует (aaaazzzzzzzzzzzzzzz,aab). Yes ?- предшествует (aaaazzzzzzzzzzzzzzz, aaaac). No ?- предшествует(example,examples). Yes ?- предшествует (example,bexamples). No Лексикографический порядок для атомов определяется так же как для строк в Паскале. Не используйте встроенный оператор сравнения @=< для атомов в Прологе. Помогите пожалуйста решить данную задачу, пролог только начал изучать и логики в нем не вижу.... Добавлено через 4 минуты
lex(Atom,Atom2) :- name(Atom,L), 
name(Atom2,L2),
lx(L,L2). 
lx([],[]).
lx([],_).
lx([A|L],[B|L2]) :- A<B,!; 
A=:=B, 
lx(L,L2).
Код примерно такой, но не зависимо от введенных слов пишет false


textual

Код к задаче: «Напишите предикат, предшествует/2, который берет два атома в качестве своих аргументов и успешно согласуется - Prolog»

?- lx(`alpha`, `beta`).
true.

?- lx(`beta`,`alpha`).
false.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 4.143 из 5

Источник