Held: Wednesday, April 22, 1998
/usr/local/bin/bp. Instructions
can be found at
http://clement.info.umoncton.ca/BinProlog/UNCOMPRESSED/doc/html/art.html
lou_reed, influential, ....
Musician.
influencedBy(Musician,lou_reed).
[] -- the empty list
[a,b,c] -- a list of three elements
[a|X] -- a list whose first element is a and whose
remainder is the list X.
P :- Q1,Q2,...,Qn.
where the P and Q's are all predicate applications.
influential(X) :- influencedBy(X,Y).
influential(Group_or_Musician): is a group or musician
influential.
influenced(Alpha,Beta): the Alpha influence
Beta. Note that the meaning and ordering are determined
solely by my description (and, later, by definitions).
memberOf(Musician,Group): Musician is a member
of Group.
deservesFame(Musician): Musician deserves
fame (perhaps all do, but we'll come up with some rules that may
help decide when).
gold(Group,Record): guess.
influential(G_or_M) :- influenced(G_or_M, Someone).
influential(Musician) :- memberOf(Musician,Group), influential(Group).
influential(Musician) :- influential(Group), memberOf(Musician,Group).
deservesFame(M_or_G) :- influenced(M_or_G, Group), gold(Group, Record).
deservesFame(M_or_G) :- influenced(M_or_G, Group), deservesFame(Group).
memberOf(lou_reed, velvet_underground). memberOf(maureen_tucker, velvet_underground). memberOf(john_cale, velvet_underground). memberOf(sterling_morrison, velvet_underground). memberOf(doug_yule, velvet_underground). memberOf(willie_alexander, velvet_underground). memberOf(michael_stipe, rem). memberOf(bob_stinson, replacments). influenced(velvet_underground, rem). influenced(velvet_underground, jonathan_richman). influenced(jonathan_richman, silos). influenced(velvet_underground, replacements). influenced(replacements, nirvana). gold(nirvana, nevermind).
?- influential(velvet_underground). yes ?- influential(maureen_tucker). yes ?- influential(michael_stipe). no ?- memberOf(X, velvet_underground). X=lou_reed; X=maureen_tucker; X=john_cale; X=sterling_morrison; X=doug_yule; X=willie_alexander; no ?- deservesFame(X). X=replacements; X=velvet_underground; no
deservesFame or
we could add a recursive rule for
Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.
Source text last modified Thu May 7 20:29:43 1998.
This page generated on Thu May 7 20:34:48 1998 by SiteWeaver.
Contact our webmaster at rebelsky@math.grin.edu