根据Curry-Howard对应关系,和类型(又名标记并集(等价于析取、逻辑OR
为什么会出现这种情况?它不是更接近XOR吗?(a or b)
意味着它可以是a
、b
或both
,而Either a b
必须是a
或b
,但决不能两者都是。
Curry-Howard对应关系表示Either a b
的元素表示a or b
的证明。为了证明析取,证明(提供(a
或b
就足够了。可以通过使用Left a
或Right b
构造Either a b
来完成此操作。