This file is indexed.

/usr/share/Yap/pl/ground.yap is in yap 5.1.3-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*************************************************************************
*									 *
*	 YAP Prolog 							 *
*									 *
*	Yap Prolog was developed at NCCUP - Universidade do Porto	 *
*									 *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997	 *
*									 *
**************************************************************************
*									 *
* File:		ground.pl						 *
* Last rev:								 *
* mods:									 *
* comments:	Variables and ground					 *
*									 *
*************************************************************************/


/*
% grounds all free variables
% as terms of the form '$VAR'(N)

numbervars('$VAR'(M), M, N) :- !,
	succ(M, N).
numbervars(Atomic, M, M) :-
	atomic(Atomic), !.
numbervars(Term, M, N) :-
	functor(Term, _, Arity),
	'$numbervars'(0,Arity, Term, M, N).

'$numbervars'(A, A, _, N, N) :- !.
'$numbervars'(A,Arity, Term, M, N) :-
	'$succ'(A,An),
	arg(An, Term, Arg),
	numbervars(Arg, M, K), !,
	'$numbervars'(An, Arity, Term, K, N).


ground(Term) :-
	nonvar(Term),		%  This term is not a variable,
	functor(Term, _, Arity),
	'$ground'(Arity, Term).	%  and none of its arguments are.

'$ground'(0, _) :- !.
'$ground'(N, Term) :-
	'$predc'(N,M),
	arg(N, Term, ArgN),
	ground(ArgN),
	'$ground'(M, Term).

*/

numbervars(Term, M, N) :-
	'$variables_in_term'(Term, [], L),
	'$numbermarked_vars'(L, M, N).

'$numbermarked_vars'([], M, M).
'$numbermarked_vars'([V|L], M, N) :- 
	attvar(V), !,
	'$numbermarked_vars'(L, M, N).
'$numbermarked_vars'(['$VAR'(M)|L], M, N) :-
	M1 is M+1,
	'$numbermarked_vars'(L, M1, N).