Restricción de K fuera de N en Z3Py

Estoy usando los enlaces de Python paraProver teorema Z3 (Z3Py). Tengo N variables booleanas, x1, .., xN. Quiero expresar la restricción de que exactamente K de N debería ser cierto. ¿Cómo puedo hacer eso, en Z3Py? ¿Hay algún soporte incorporado para eso? Revisé la documentación en línea, pero elDocumentos Z3Py no menciono ninguna API para eso.

Para las restricciones de uno fuera de N, sé que puedo expresar por separado que al menos uno es verdadero (afirmar Or (x1, .., xN)) y que a lo sumo uno es verdadero (afirmar No (Y (xi, xj )) para todo i, j). Yo tambien se deotras maneras para expresar manualmente las restricciones 1-de-N y K-fuera-de-N. Sin embargo, tengo la impresión de que cuando el solucionador tiene soporte incorporado para esta restricción, a veces puede ser más eficiente que expresarlo manualmente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta