Зависит от договора.То есть код, использующий ваши классы, должен иметь согласованное поведение, независимо от того, какой тип вашего типа он использует.
Если в контракте, указанном «getSpecialTreatment», всегда возвращается значение true, это будет нарушением в вашем производном классе.
Если в контракте указано, что getSpecialTreatment возвращает логическое значение, определяющее blabla., Тогда вы не нарушаете LSP.
Вы можете нарушить LSP, если вы ввели дополнительное ограничение, которого нет в базекласс.