Is %i an integer? - Adding more facts to the database



On Mon, Jun 29, 2009 at 11:21 AM, Robert Dodier <robert.dodier at gmail.com>wrote:

> ...it makes more sense
> if the test function (at present featurep(x, foo)) means only
> "I can demonstrate x has feature foo".
> Returning false means only that the demonstration fails,
> not that the negation can be demonstrated.
>

Agreed.


> For that reason we need noninteger, irrational, etc since
> not featurep(x, foo) is not the same as featurep(x, complement(foo)).
> Maybe if we had a more expressive notation, we could dispense
> with noninteger, irrational, etc. Can we extend "is" to handle it? e.g.
> is(x in (reals less rationals)).
>

I think we need to rethink the whole thing.  Featurep started as a simple
property lookup (as you say) and morphed into an incoherent heap of
well-meaning but incomprehensible special cases. 'Is' would be an OK place
to add functionality as long as the new functionality partook of the
'context' mechanism (or some better version thereof) and if we had a good
set of property predicates (which we don't currently)....

There is a lot to do, and I don't think any of it should be based on the
notion of extending featurep.

             -s