BFO-ontology / BFO-2020

A repository for BFO 2020 artifacts specified in ISO 21838-2:2020
68 stars 27 forks source link

Modify bks-1 to avoid existentials #90

Closed alanruttenberg closed 4 months ago

alanruttenberg commented 4 months ago

Former

(forall (o)
 (if (exists (t) (instance-of o role t))
  (forall (u)
   (if (exists (t) (instance-of o u t))
    (forall (t) (iff (instance-of o role t) (instance-of o u t)))))))

Replacement

(forall (o u t1 t2)
 (if (and (instance-of o role t1) (instance-of o u t2))
  (and (instance-of o role t2) (instance-of o u t1))))

They are logically equivalent. This avoids skolemization in Werner's prover. Credit Werner Ceusters.

wceusters commented 4 months ago

Actually, it is not an issue of skolemization here, but the introduction of a redundant literal in the CNF generated out of bks-1, but also that a reasoner can deal with. The main advantage of the alternative is the readability. It requires, at least for me :-), less brain power to understand the alternative than the original, so thanks.