我正在使用一对理性流,让我们说(L,R)其中L和R是有理数的流。 L和R都必须满足3个条件才能说它是有效的。我把代码编写为..
isCut_ : cut → Set
isCut x = (p q : pair ) →
if((((p mem (getLC x)) ∨ (p mem (getRC x)))) ∧
((not (p mem getLC x)) ∨ (not (p mem getRC x))) ∧
(not (p <pair q) ∨ ((p mem getLC x) ∨ (q mem getRC x))))then ⊤
else ⊥
我真的想将此函数的返回类型更改为Bool。这里剪切意味着(L,R)和mem是成员资格。
来自forall p q which expect return type to be Set
的问题。
我应该如何处理以获得理想的结果。
答案 0 :(得分:2)
你可以这样写:
isCut : cut → (p q : pair) → Bool
isCut x p q = (((p mem (getLC x)) ∨ (p mem (getRC x))))
∧ ((not (p mem getLC x)) ∨ (not (p mem getRC x)))
∧ (not (p <pair q) ∨ ((p mem getLC x) ∨ (q mem getRC x))))