簡體   English   中英

為什么這不是agda中依賴函數類型的有效定義?

[英]Why is this not a valid definition of dependent function types in agda?

我正在看一個演講,講師說這是不可能的,或者至少很難在Agda中定義Pi類型。 但是我堅信必須有一種方法。 給定Universe中的類型和從該類型到Universe的族,則從該類型到族中某個類型的任何函數都將是Pi類型。 所以我認為使用lambda會很有意義:

data Pi (A : Set) (B : A -> Set) : Set where
  \ (a : A) -> (b : B a) : Pi A B

當我嘗試加載此文件時,它給了我一個解析錯誤。 我不確定為什么,也許不希望\\成為類型構造函數,但是將lambda視為函數類型的類型構造函數有點有意義。 請注意,我在Emacs中為Agda使用了乳膠功能,但是我不認為我可以在堆棧溢出中編寫乳膠。 話雖如此,我嘗試用大寫的lambda替換小寫的lambda,以查看它是否需要唯一的類型構造函數,但無濟於事。

修正錯字后,您可以使用大寫lambda : Pi AB ,即

data Pi (A : Set) (B : A -> Set) : Set where
  Λ : ((a : A) -> B a) -> Pi A B

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM