【发布时间】:2021-10-31 20:03:17
【问题描述】:
我有 2 个矩阵,每个矩阵都是 3 x 3(称它们为 M1 和 M2,它们的每个条目都是 Z3 中的 Int 类型。我需要添加表示所有形式对的约束([M1 [i][j], M2[i][j]) 是不同的(i 和 j 是矩阵的任意索引)。
换句话说,
if (i1,j1) != (i2,j2)
then ([M1[i1][j1], M2[i1][j1]) != ([M1[i2][j2], M2[i1][j2])
我尝试创建一个包含所有对的数组,称为数组,然后使用 Distinct(array),但这似乎不起作用,因为我收到一个错误提示
“至少有一个参数必须是 Z3 表达式”
有没有办法在 Python 的 Z3 中查看 2 对整数是否不同?如果不是,什么是启用上述对不同的约束的好方法?
【问题讨论】: