[[
✎ pl:prolog:pllib:terms_variety
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Terms variety ====== {{tag>operators numbers}} ===== Description ===== Testing if terms are variants **Source**: The Art of Prolog ===== Download ===== Program source code: {{terms_variety.pl}} ===== Listing ===== <code prolog> /* variants(Term1,Term2) :- Term1 and Term2 are variants. */ :- op(900, fx, [not]). variants(Term1,Term2) :- verify((numbervars(Term1,0,N), numbervars(Term2,0,N), Term1=Term2)). verify(Goal) :- not (not Goal). numbervars('$VAR'(N),N,N1) :- N1 is N+1. numbervars(Term,N1,N2) :- nonvar(Term), functor(Term,Name,N), numbervars(0,N,Term,N1,N2). numbervars(N,N,Term,N1,N1). numbervars(I,N,Term,N1,N3) :- I < N, I1 is I+1, arg(I1,Term,Arg), numbervars(Arg,N1,N2), numbervars(I1,N,Term,N2,N3). % Program 11.7 Testing if terms are variants </code> ===== Comments =====
pl/prolog/pllib/terms_variety.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry