我正在尝试构建具有如下定义的数据类型的区间格:
data 𝕀 : Set where
⊤ : 𝕀
⊥ : 𝕀
-∞ : ℤ → 𝕀
_+∞ : ℤ → 𝕀
I : (l : ℤ) → (u : ℤ) → {l ≤ u} → 𝕀
为了在某些情况下在区间上定义 ⊓𝕀 (glb) 运算符,我必须进行模式匹配i ≤ᵇ j
以定义运算符的适当值,尽管我不确定如何在案例定义中重用模式匹配提供的信息。
特别是在
-∞ x ⊓𝕀 (y +∞) with (y ≤ᵇ x) | inspect (y ≤ᵇ_) x
... | false | [ y≤x≡ff ] = ⊥
... | true | [ y≤x≡tt ] = I y x {≤ᵇ⇒≤ {!!}}
我有一个证人,(y ≤ᵇ x) ≡ true
但我不知道如何使用它来结合它,≤ᵇ⇒≤
以产生证人y ≤ x
改用
_≤?_
:要从字面上回答您的问题,您可以使用
T-≡
:≤ᵇ⇒≤ (Equivalence.from T-≡ y≤x≡tt)
。