### Base Template DifferenceOf2Classes

DifferenceOf2Classes is a template for expressing that a class is the difference, as given in ISO 15926-2, of two classes.

DifferenceOf2Classes(a, b, c) means that c is the difference of a and b.

Roles:

1 hasClass1 Class

2 hasClass2 Class

3 hasClassDifference Class

Axiom:

DifferenceOf2Classes(x1, x2, x3) <-> Class(x1) & Class(x2) & Class(x3) & exists y(EnumeratedSetOf2Classes(x1, x2, y) & DifferenceOfSetOfClassTemplate(y, x3)) .

NOTE ISO 15926-2 defines the difference of two classes a and b as (a [ b)n(a \ b). See 8.3 for further information on the representation used in this template.