Una subclase de clase de sí misma. ¿Por qué está prohibida la subclasificación mutua?

Asumo una pregunta compleja, pero estudiar OWL abrió una nueva perspectiva para vivir, el universo y todo. Me estoy volviendo filosófico aquí.

Estoy tratando de lograr una clase C, que es la subclase de B, que a su vez es la subclase de C. Solo por diversión, ya sabes ...

Asi que aqui esta

>>> class A(object): pass
... 
>>> class B(A): pass
... 
>>> class C(B): pass
... 
>>> B.__bases__
(<class '__main__.A'>,)
>>> B.__bases__ = (C,)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: a __bases__ item causes an inheritance cycle
>>> 

claramente, python es inteligente y lo prohíbe. Sin embargo, en OWL es posible definir dos clases para ser subclases mutuas. La pregunta es: ¿cuál es la explicación alucinante por qué esto está permitido en OWL (que no es un lenguaje de programación) y no está permitido en los lenguajes de programación?

Respuestas a la pregunta(6)

Su respuesta a la pregunta