> Thanks for this listing of types of predicates. > > I do have a question, however, on POSCLOSED. You state that such > predicates are "for use only in the current module," but then > immediately need to use such a predicate outside the module. You > handle this by creating a redundant predicate which is VISIBLE > along with rules for concluding the NEG of the predicate extent. Right. > Why not create VISIBLE-OPEN and VISIBLE-CLOSED to handle such cases? Sure. This is a possibility. I was trying to clearly define the scope of non-monotonic predicates and hide inside all the non-monotonic inferences. But, surely one can define VISIBLE-CLOSED and VISIBLE-OPEN predicates; I just did not want to propose that :-) > A vendor may wish to have a number of predicates describing properties > of its products. It wants others to be able to use these predicates, > but not to alter any asserted properties. Instead of making dopleganers > of each predicate with rules for populating them, it would seem far > simpler to declare the predicates visible, yet closed. There is also an important point regarding my closed predicates: you can use rules to define closed predicates. For instance, listedMemberEU(?C) :- foundingMemberEU(?C). listedMemberEU(portugal). listedMemberEU(spain). listedMemberEU(?C) :- memberEurope15(?C). listedMemberEU(?C) :- enlargementEU2004(?C). By adding the completion rule NEG listedMemberEU(?C) :- SNAF listedMemberEU(?C). You get the expected conclusions (if you define the auxiliary predicates appropriately). If I understand correctly the "semantics" of log:notIncludes cannot be used here to implement a similar behaviour. This is more in the spirit of log:definitiveDocument. > You raise such a possibility as possible. There seems to me a strong > need for such predicates. Thanks. I'll take into account your comment in a subsequent version of my draft. CarlosReceived on Monday, 29 August 2005 15:31:59 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:16:23 GMT