Witam,
mógłby mi ktoś na prostym przykładzie wytłumaczyć jak działa rekurencje w prologu ?
złącz([ ], L, L).
złącz([X|L1], L2, [X|L3]):- złącz(L1, L2, L3).
Załóżmy, że wywołujemy złącz([a,b,c],[d,e],L3]).
Rozumiem, że 1 linijka to warunek zakończenie rekurencji. Pusta lista dodana do listy L daje tą samą listę.
W 2 linijce nie mam pojęcia co się dzieje ;p
Rozumiem, że dzielimy listę L1 na głowę X (a) i ogon czyli nowe L1 (b,c). Z L2 nic nie robimy, a do L3 dodajemy X ? I potem próbujemy łączyć, lista L1 nie jest pusta więc znowu L1 dzielimy na X (b) i ogon L1 (c) i do L3 dodajemy X otrzymując a,b ? Tylko kiedy dodajemy L2 do całej listy ?
Jakby ktoś wytłumaczył mi działanie tych 2 linijek krok po kroku na tym przykładzie to byłbym wdzięczny bardzo.