Conformidad de tipos dependientes

Para saber cuál es la relación de conformidad entre dos tipos dependientes se utiliza la función built-in issubclass().

Primeramente se obtiene una referencia a los atributos dependientes de la clase Matrix de la siguiente forma:

from dependent_types import Attr

N = Attr('amount_rows')
M = Attr('amount_cols')

Luego se escriben los tipos dependientes de los que se quiere verificar su conformidad:

assert issubclass(Matrix[ N, M | (((N < 100) & ( N > 50)) & (M > 100))  ], Matrix[ N, M | ( M > 50 ) ])