[Attempto] or is interpreted as inclusive or , or xor?

Norbert E. Fuchs fuchs at ifi.uzh.ch
Sat Jul 10 23:49:54 CEST 2010


On 10 Jul 2010, at 22:10, Gabriele Kahlout wrote:

> I tried the editor for the FOL of 'A customer inserts a VisaCard or inserts a MasterCard' but the below representation is not familiar to me:
> 
> exists(A, &(object(A, customer, countable, na, eq, 1)-1/2, v(exists(B, exists(C, &(object(B, 'MasterCard', countable, na, eq, 1)-1/5, predicate(C, insert, A, B)-1/3))), exists(D, exists(E, &(object(D, 'VisaCard', countable, na, eq, 1)-1/9, predicate(E, insert, A, D)-1/7))))))
> 
> Is there any documentation for it?

This is a first-order formula written in (prefix) Prolog notation, with

exists(X, F)  standing for ∃x. F
& standing for ∧

Logical atoms use a richer, reified notation, e.g. your "IsCustomer(x)" is represented as "object(X, customer, countable, na, eq, 1)". The numbers following the logic atoms, e.g. "-1/2", mean that the logical atom was derived from token 2 of sentence 1.

For details see section 2 of the document "DRS Report" (http://attempto.ifi.uzh.ch/site/pubs/papers/drs_report_65.pdf).

> As XOR I'd have written it as:
> 
> ∃x. IsCustomer(x) ∧ (Inserts(x,VisaCard) ∨ Inserts(x,MasterCard)) ∧ ¬(Inserts(x,Visacard) ∧ Inserts(x,MasterCard)) 

Note, that the 'or' in ACE means inclusive not exclusive or.

Best regards.

Norbert E. Fuchs
Department of Informatics & Institute of Computational Linguistics
University of Zurich






More information about the attempto mailing list