Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-discussion] Complement of classes

Thomas Russ tar at
Thu Aug 26 18:16:54 PDT 2010

On Aug 26, 2010, at 11:44 AM, Marcelino Sente wrote:

> Which is the difference?
> Forall hastopping ~MeatTopping
> ~(Exists hastopping MeatTopping)

These are equivalent.

This can be proven by appropriate application of de Morgan's laws for  
disjuction and conjuction, their extension to existential and  
universal quantifiers, the definition of implication and the meaning  
of the restrictions.

Briefly, these items can be rewritten in a predicate calculus form as  
the following:

    ForAll x: hasTopping(a,x) -> ~MeatTopping(x)
   ~[Exists x: hasTopping(a,x) ^ MeatTopping(x)]

If you start from the first one, you can transform it into the second:

    ForAll x: hasTopping(a,x) -> ~MeatTopping(x)
    ForAll x: ~hasTopping(a,x) v ~MeatTopping(x)    ; Def'n of ->
    ForAll x: ~[hasTopping(a,x) ^ MeatTopping(x)]   ; de Morgan
    ~[Exists x: hasTopping(a,x) ^ MeatTopping(x)]   ; de Morgan

More information about the protege-discussion mailing list