15 lines
238 B
Prolog
15 lines
238 B
Prolog
ground(T) :-
|
|
nonvar(T), atomic(T),
|
|
!.
|
|
ground(T) :-
|
|
nonvar(T), compound(T),
|
|
functor(T, _, N),
|
|
ground(T, N).
|
|
|
|
ground(T, N) :-
|
|
N \== 0,
|
|
arg(N, T, A),
|
|
ground(A),
|
|
M is N - 1,
|
|
ground(T, M).
|
|
ground(T, 0).
|