Please send questions to st10@humboldt.edu .

% adapted from Clocksin and Mellish, "Programming in Prolog", pp. 33-35
% last modified: 03-22-11

density(Place, Density) :- 
    pop(Place, Pop),
    area(Place, Area),
    Density is Pop/Area.

pop(united_states, 301139947).
pop(argentina, 40301927).
pop(kenya, 31987000).
pop(arcata, 15000).

/* in square kilometers */

area(united_states, 9826630).
area(argentina, 2766890).
area(kenya, 582650).
area(arcata, 5).

/* careful -- in Prolog, CANNOT use = for is... */

bad_density(Place, Density) :- pop(Place, Pop),
                               area(Place, Area),
                               Density = Pop/Area.

/* less-than example */

less_pop(Place1, Place2) :- pop(Place1, Pop1),
                            pop(Place2, Pop2),
                            Pop1 < Pop2,
                            writeln(Pop1),
                            writeln(Pop2).