二元变量线性化中的单向条件语句

问题描述

我正在尝试用二进制变量编写一个单向条件语句。我的情况是

(if x=1 then y=0)

这是应该满足的唯一条件。所以我想要:

(if x=0 then y=0 or 1)
(if x=1 then y=0)
(if y=0 then x=0 or 1)
(if y=1 then x=0 or 1)

使用 y<=1-x 的问题是语句是双向的(对于 x 和 y: (if x=1 then y=0) and (if y=1 then x=0) and I want (如果 x=1 则 y=0))。 我已经尝试过大 M 和一些我知道的其他方法,但是我没有取得任何结果。
谁能帮帮我吗。我在这个问题上坚持了几天......
谢谢

解决方法

如果我们有x=1⇒y=0,那么y=1⇒x=0。你不能没有另一个。这在命题逻辑中有时被称为 Modus Tollens。