[comp.lang.prolog] bug or feature?

finin@bigburd.UUCP (11/20/87)

Is it a bug or a feature for a logic programming language to allow one
to assert multiple copies of a clause into the database?

I'm studying various ways to extend Prolog's simple model of the
database (e.g. a flat, global collections of clauses) to a richer
hierarchical one with inheritance.  I am trying to decide whether to
allow multiple instances of a clause in a resulting database view.

Most Prolog implementations, at least those descendant from DEC-10
Prolog, allow the database to contain two identical clauses.  Most of
the non-Prolog logic programming languages that I am familiar with do
not.  I am interested in discovering what use, if any, people have
made of the ability to assert multiple copies of a clause into the
database.  

I have never found a use for this in practice.  In fact, it has only
been a source of bugs.  It is easy enough to accidentally get multiple
copies of a clause in the database in some Prolog implementations.
This can readily mess up your program in several ways unless you use a
rather pure logic programming style.

Has anyone out there found a good use for this Prolog "feature" of
allowing multiple copies of the identical clause in the database?

Tim