EDIT:
Maybe page 18 of this paper can help.
This is a follow up from this question, where I am using ALCQ and I have this:
$\lnot(3 \le \exists \text{hasPet}.\text{Animal})$
How to apply the NOT operator? I thought about:
$3 \le \exists \text{hasPet}.\lnot\text{Animal}$
which actually works well for making the "every pet is an animal" false, but I am worried about the "he has at least 3 pets".
My thought is driven by this example:
$\lnot(\forall \text{drinksCoffee}.\text{Frappe}) $
gives:
$\exists \text{drinksCoffee}.\lnot\text{Frappe}$
Comment
The expression ∀hasPet.Animal means:
It stay for a concept i.e. defines a set. See the interpretation:
Thus we can "negate" it: ¬(∀hasPet.Animal) getting the complement of the previous set:
that we symbolize as ∃hasPet.¬Animal.
Usually the number restrictions: $\ge n$ R (at-least restriction) and $\le n$ R (at-most restriction), are "applied" to roles. The expression: $3 \le$hasPet stay for:
If so, what does it mean the expression ($3 \le$ ∀hasPet.Animal) where the number restriction is applied to a concept ?
I think that we have to read it as:
I.e. the number restriction is on the members of the concept "hasPet.Animal" and not on the number of pets.