如何导入`∃-syntax`?

时间:2019-05-29 08:30:34

标签: agda

open import Data.Product using (_×_; ∃; ∃-syntax)
open import Data.List

Any-∃ : ∀ {A : Set} {P : A → Set} {xs : List A} → ∃[ x ∈ xs ] P x
Could not parse the application ∃[ x ∈ xs ] P x
Operators used in the grammar:
  ∃[_] (prefix notation, level 20) [∃-syntax (C:\Users\Marko\AppData\Roaming\cabal\x86_64-windows-ghc-8.6.5\Agda-2.6.0\lib\agda-stdlib\src\Data\Product.agda:78,1-9)]
when scope checking ∃[ x ∈ xs ] P x

由于某种原因,似乎没有从标准库模块正确导入优先级。定义为...

Any-∃ : ∀ {A : Set} {P : A → Set} {xs : List A} → ∃[ x ] P x

...将使它通过解析,但是对于不确定的问题之一,我不确定这是对的。

我在这里应该做什么?

1 个答案:

答案 0 :(得分:1)

恰好适合您可以忽略函数域的情况 因为很明显否则,您应该使用Σ。实际上Σ-syntax 确实使您能够编写Σ[ x ∈ A ] B